On Fri, Apr 15, 2011 at 07:45:58AM -0400, Richard Hipp wrote: > Can you recompile with all optimization turned off and let us know if that > changes anything. If you are still crashing, perhaps the backtrace will > provide better information.
I've added -O0 to the flags and removed -O2. Now, sqlite3 just exits after the first entered line without creating the db. # /scratch/databases/sqlite3-3.7.6.1/work/sqlite-autoconf-3070601/.libs/sqlite3 new SQLite version 3.7.6.1 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> pragma user_version = 1; # In gdb started in /tmp, this looks like this: (gdb) c Continuing. SQLite version 3.7.6.1 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> pragma user_version = 1; Breakpoint 9, robust_open (z=0x7f7ff7b68e28 "/tmp/new", f=514, m=420) at sqlite3.c:24590 24590 do{ rc = osOpen(z,f,m); }while( rc<0 && errno==EINTR ); (gdb) l 24585 /* 24586 ** Retry open() calls that fail due to EINTR 24587 */ 24588 static int robust_open(const char *z, int f, int m){ 24589 int rc; 24590 do{ rc = osOpen(z,f,m); }while( rc<0 && errno==EINTR ); 24591 return rc; 24592 } 24593 24594 /* (gdb) s open (path=0x7f7ff7b68e28 "/tmp/new", flags=514) at /archive/cvs/src/lib/libpthread/pthread_cancelstub.c:367 367 /archive/cvs/src/lib/libpthread/pthread_cancelstub.c: No such file or directory. in /archive/cvs/src/lib/libpthread/pthread_cancelstub.c (gdb) n write (d=6295368, buf=0x7f7ff7b68e28, nbytes=<value optimized out>) at /archive/cvs/src/lib/libpthread/pthread_cancelstub.c:566 566 in /archive/cvs/src/lib/libpthread/pthread_cancelstub.c (gdb) n Program exited normally. /archive/cvs/src/lib/libpthread/pthread_cancelstub.c:367 is int open(const char *path, int flags, ...) { int retval; pthread_t self; va_list ap; self = pthread__self(); TESTCANCEL(self); va_start(ap, flags); retval = _sys_open(path, flags, va_arg(ap, mode_t)); va_end(ap); TESTCANCEL(self); return retval; } /archive/cvs/src/lib/libpthread/pthread_cancelstub.c:566 is the second TESTCANCEL in: ssize_t write(int d, const void *buf, size_t nbytes) { ssize_t retval; pthread_t self; self = pthread__self(); TESTCANCEL(self); retval = _sys_write(d, buf, nbytes); TESTCANCEL(self); return retval; } Thomas _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users