X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-0.7 required=5.0 tests=BAYES_00,RCVD_NUMERIC_HELO,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org To: cygwin AT cygwin DOT com From: Achim Gratz Subject: Re: [bug] Something fishy going on with sqlite3... Date: Fri, 16 Mar 2012 07:29:40 +0000 (UTC) Lines: 60 Message-ID: References: <87aa3hd4a5 DOT fsf AT Rainer DOT invalid> <8762e5d3le DOT fsf AT Rainer DOT invalid> <871uotd0ub DOT fsf AT Rainer DOT invalid> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit User-Agent: Loom/3.14 (http://gmane.org/) X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com René Berber computer.org> writes: > How do you set them to go into files? In my initial tests? Not at all, that was the default (I may be able to override that in the system or user configuration, but have not touched anything there). When I compile SQLite with SQLITE_TEMP_STORE=3 (memory only), the error never happens. When I run sqlite in the console, I can see the temporary file being opened in strace. I didn't see that when I run it in mintty. But I've now tested "pragme TEMP_STORE=x" and creation of temporary tables fails unless x=2 (memory), without tracing the program. I've then reverted back to the last released Cygwin version (the same you have tried with) and still get the same behaviour, so it has nothing to with the snapshot. However with that version I also do not get an error when I strace sqlite3 in mintty. This seems to be a race condition? Here's the strace part where it creates the temporary file (in mintty): 3684 20357524 [main] sqlite3 6328 normalize_posix_path: src C:\Users\gratz\etilqs_fRKyCLKDxMuNeXa 47 20357571 [main] sqlite3 6328 normalize_win32_path: C:\Users\gratz\etilqs_fRKyCLKDxMuNeXa = normalize_win32_path (C:\Users\gratz\etilqs_fRKyCLKDxMuNeXa) 28 20357599 [main] sqlite3 6328 mount_info::conv_to_win32_path: conv_to_win32_path (C:/Users/gratz/etilqs_fRKyCLKDxMuNeXa) 48 20357647 [main] sqlite3 6328 mount_info::conv_to_win32_path: src_path C:/Users/gratz/etilqs_fRKyCLKDxMuNeXa, dst C:\Users\gratz\etilqs_fRKyCLKDxMuNeXa, flags 0x0, rc 0 63 20357710 [main] sqlite3 6328 symlink_info::check: 0x0 = NtCreateFile (\??\C:\Users\gratz\etilqs_fRKyCLKDxMuNeXa) 42 20357752 [main] sqlite3 6328 symlink_info::check: not a symlink 40 20357792 [main] sqlite3 6328 symlink_info::check: 0 = symlink.check(C:\Users\gratz\etilqs_fRKyCLKDxMuNeXa, 0x2296B0) (0x806000) 23 20357815 [main] sqlite3 6328 path_conv::check: this->path(C:\Users\gratz\etilqs_fRKyCLKDxMuNeXa), has_acls(0) 1464 20359279 [main] sqlite3 6328 normalize_posix_path: src C:\Users\gratz\etilqs_G4DiTLu7JVlzcKa 60 20359339 [main] sqlite3 6328 normalize_win32_path: C:\Users\gratz\etilqs_G4DiTLu7JVlzcKa = normalize_win32_path (C:\Users\gratz\etilqs_G4DiTLu7JVlzcKa) 25 20359364 [main] sqlite3 6328 mount_info::conv_to_win32_path: conv_to_win32_path (C:/Users/gratz/etilqs_G4DiTLu7JVlzcKa) 23 20359387 [main] sqlite3 6328 mount_info::conv_to_win32_path: src_path C:/Users/gratz/etilqs_G4DiTLu7JVlzcKa, dst C:\Users\gratz\etilqs_G4DiTLu7JVlzcKa, flags 0x0, rc 0 58 20359445 [main] sqlite3 6328 symlink_info::check: 0x0 = NtCreateFile (\??\C:\Users\gratz\etilqs_G4DiTLu7JVlzcKa) 40 20359485 [main] sqlite3 6328 symlink_info::check: not a symlink 39 20359524 [main] sqlite3 6328 symlink_info::check: 0 = symlink.check(C:\Users\gratz\etilqs_G4DiTLu7JVlzcKa, 0x229640) (0x806000) 24 20359548 [main] sqlite3 6328 path_conv::check: this->path(C:\Users\gratz\etilqs_G4DiTLu7JVlzcKa), has_acls(0) 803 20360351 [main] sqlite3 6328 set_signal_mask: oldmask 0x0, newmask 0x2, mask_bits 0x0 I'm stumped... Regards, Achim. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple