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

Reply via email to