Wishing all a joyous and prosperous 2008 - filled with happy coding and
happy clients/customers/bosses/families.

Cheers...


Now a question. :)
 
I have 3 different database handles running in the same thread. One of
them is ":memory:".
I send an update statement to one and the program crashes.

Of note:
 - SQLite is compiled into the program, I'm not using the dynamic lib.
 - it's compiled within an extern of a GNU c++ compiler on OSX. I mark
my sqlite wrappers in extern.
 - I am not running multiple threads, but I do have threadsafe enabled
via sqlite3_threadsafe();

Running my program from within GDB.

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x3a676e69
0x90001408 in pthread_mutex_lock ()
(gdb) bt
#0  0x90001408 in pthread_mutex_lock ()
#1  0x0002eef5 in sqlite3_mutex_enter (p=0x3a676e69) at
../../src/ext/sqlite/src/mutex_unix.c:186
#2  0x0002dd03 in sqlite3_exec (db=0x1472dc, zSql=0x59b7358 "UPDATE
words SET  count = count+1  WHERE wid=999", xCallback=0, pArg=0x0,
pzErrMsg=0xbffff2ac) at ../../src/ext/sqlite/src/legacy.c:

I would expect, (if I understand potential problems), that I would get 
a return int  != SQLITE_OK , with a BUSY or something.

What could all this mean?

(I know this may not be enough information, but please let me know I
could provide more.)


 PRAGMA default_cache_size=              23000
        PRAGMA fullfsync=               0
        PRAGMA synchronous=             2
        PRAGMA locking_mode=            normal
        PRAGMA integrity_check=         ok
        PRAGMA vdbe_listing = ON

 
- Jonathan


-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to