I'm running SQLite 3.6.17 (almagamation source) on linux Ubuntu 8.04  
and i got a strange SIGSEGV (see stack below).
The strange thing is: the pPager parameter to sqlite3PagerAcquire  
function is NULL but right above the stack, its value seems to be  
correct.
Any help is appreciated.

Please, check the debugger information:

(gdb) where

#0  0xb7e40e79 in sqlite3PagerAcquire (pPager=0x0, pgno=10,  
ppPage=0xb47d24c0, noContent=0) at extsrc/sqlite/src/sqlite3.c:34349
#1  0xb7e44797 in btreeGetPage (pBt=0x8970528, pgno=10,  
ppPage=0xb262810c, noContent=0) at extsrc/sqlite/src/sqlite3.c:38391
#2  0xb7e44871 in getAndInitPage (pBt=0x8970528, pgno=10,  
ppPage=0xb262810c) at extsrc/sqlite/src/sqlite3.c:38442
#3  0xb7e47a3e in moveToRoot (pCur=0xb26280b0) at extsrc/sqlite/src/ 
sqlite3.c:40920
#4  0xb7e47ea5 in sqlite3BtreeMovetoUnpacked (pCur=0xb26280b0,  
pIdxKey=0xb47d27e8, intKey=0, biasRight=0, pRes=0xb47d27dc) at extsrc/ 
sqlite/src/sqlite3.c:41137
#5  0xb7e5b19b in sqlite3VdbeExec (p=0xb2627a58) at extsrc/sqlite/src/ 
sqlite3.c:54136
#6  0xb7e5500b in sqlite3Step (p=0xb2627a58) at extsrc/sqlite/src/ 
sqlite3.c:49497
#7  0xb7e55213 in sqlite3_step (pStmt=0xb2627a58) at extsrc/sqlite/src/ 
sqlite3.c:49556
#8  0xb7bd7075 in sqlite3_blocking_step (pStmt=0xb2627a58) at extsrc/ 
apr-util/dbd/apr_dbd_sqlite3_v2.c:220
#9  0xb7bd79ab in dbd_sqlite3_query (sql=0x8924e98, nrows=0xb47d2a68,  
query=0x8d2b855 "INSERT INTO orderdb.CurrentOrderItem(OrderId,  
LineNumber, ItemId, Level, PartCode, OrderedQty, PriceKey) SELECT  
OI.OrderId, OI.LineNumber, PI.ItemId, PI.RecursionLevel, PI.PartCode,  
NULL, PP.PriceKey "...) at extsrc/apr-util/dbd/apr_dbd_sqlite3_v2.c:477
#10 0xb7f2cff0 in apr_dbd_query (driver=0xb7bdde60, handle=0x8924e98,  
nrows=0xb47d2a68, statement=0x8d2b2e0 "DROP TABLE IF EXISTS  
temp.TempModifiers;CREATE TEMPORARY TABLE IF NOT EXISTS TempModifiers  
AS SELECT OIM.OrderId AS OrderId,OIM.LineNumber AS  
LineNumber,PI.PartCode AS ModifiedCode,OIM.PartCode AS Mod"...) at dbd/ 
apr_dbd.c:311
#11 0x0804eefd in sqlDBExecScrt (mpool=0x8bb4150, pdbconn=0x8924e48,  
sqlstmt=0x8d2b2e0 "DROP TABLE IF EXISTS temp.TempModifiers;CREATE  
TEMPORARY TABLE IF NOT EXISTS TempModifiers AS SELECT OIM.OrderId AS  
OrderId,OIM.LineNumber AS LineNumber,PI.PartCode AS  
ModifiedCode,OIM.PartCode AS Mod"..., nRows=0xb47d2a68) at src/kernel/ 
persistcomp/npersistcommon/npersistcommon.c:251
#12 0x0804d172 in execute_script (pool=0x8bb4150, connpool=0xbfb88410,  
connid=0x8bb6090 "30883532-9d9e-11de-aba1-d3df98c78e4e",  
stmt_array=0x8bb53a8, timeout=0x8bb60b8 "10000", resp=0xb47d2b28,  
szresp=0xb47d2b24) at src/kernel/persistcomp/npersistagent/ 
npersistagent.c:923
#13 0x0804c0f6 in request_processor (self=0x8904338,  
jobctxt=0x8bb4190) at src/kernel/persistcomp/npersistagent/ 
npersistagent.c:428
#14 0xb7f24cb9 in thread_pool_func (t=0x8904338, param=0x8904150) at  
misc/apr_thread_pool.c:276
#15 0xb7f55446 in dummy_worker (opaque=0x8904338) at threadproc/unix/ 
thread.c:142
#16 0xb79ff50f in start_thread () from /lib/tls/i686/cmov/ 
libpthread.so.0
#17 0xb7b2e7ee in clone () from /lib/tls/i686/cmov/libc.so.6

(gdb) up
#1  0xb7e44797 in btreeGetPage (pBt=0x8970528, pgno=10,  
ppPage=0xb262810c, noContent=0) at extsrc/sqlite/src/sqlite3.c:38391
38391     rc = sqlite3PagerAcquire(pBt->pPager, pgno,  
(DbPage**)&pDbPage, noContent);

(gdb) p pBt->pPager
$40 = (Pager *) 0x8941808

(gdb) p pBt->pPager->state
$42 = 1 '\001'

(gdb) p pBt->pPager->tempFile
$43 = 0 '\0'


Additional informations:
        - Preprocessor definitions used to build the library:
                - SQLITE_THREADSAFE=1
                - TEMP_STORE=3
                - SQLITE_DEFAULT_CACHE_SIZE=65568
                - SQLITE_DEFAULT_TEMP_CACHE_SIZE=65568
                - SQLITE_MAX_ATTACHED=30
                - SQLITE_ENABLE_COLUMN_METADATA
                - SQLITE_ENABLE_UNLOCK_NOTIFY
        - uname -a: Linux amerolli-ubuntu 2.6.27-14-generic #1 SMP Tue Aug 18  
16:25:45 UTC 2009 i686 GNU/Linux
        - I'm using "Unlock Notification Feature" (sqlite3_unlock_notify) as  
described in http://www.sqlite.org/unlock_notify.html.

Regards,
Alessandro Merolli.


_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to