delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2012/03/16/03:30:46

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 <Stromeko AT NexGo DOT DE>
Subject: Re: [bug] Something fishy going on with sqlite3...
Date: Fri, 16 Mar 2012 07:29:40 +0000 (UTC)
Lines: 60
Message-ID: <loom.20120316T080148-390@post.gmane.org>
References: <87aa3hd4a5 DOT fsf AT Rainer DOT invalid> <jjti4r$2t7$1 AT dough DOT gmane DOT org> <8762e5d3le DOT fsf AT Rainer DOT invalid> <jjtkmo$po1$1 AT dough DOT gmane DOT org> <871uotd0ub DOT fsf AT Rainer DOT invalid> <jjtqmt$93i$1 AT dough DOT gmane DOT org>
Mime-Version: 1.0
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: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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 <r.berber <at> 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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019