We are experiencing random segmentation faults when calling the function sqlite3_step(). We use prepared statements in a transaction to insert records in the database.
We have the following setup: - SQLite3.8.9 - Linux 32bit - Armv6 - SDCard with ext3 to store the database ? Can anyone explain what is happening? ? Leroy ? Coredump output #0? 0x407ddfb8 in pcache1RemoveFromHash (pPage=pPage at entry=0x5408a100) at sqlite3.c:40329 #1? 0x407ef850 in pcache1FetchStage2 (pCache=pCache at entry=0x534ebca0, iKey=iKey at entry=78573, createFlag=createFlag at entry=2) at sqlite3.c:40569 #2? 0x407efa80 in pcache1Fetch (p=0x534ebca0, iKey=78573, createFlag=2) at sqlite3.c:40694 #3? 0x40816690 in sqlite3PcacheFetchStress (ppPage=<synthetic pointer>, pgno=78573, pCache=0x5391f120) at sqlite3.c:39495 #4? sqlite3PagerAcquire (pPager=0x5391f048, pgno=pgno at entry=78573, ppPage=0x4ab31474, ppPage at entry=0x4ab3146c, flags=0) at sqlite3.c:46910 #5? 0x40816a28 in btreeGetPage (pBt=0x43c00b50, pgno=78573, ppPage=ppPage at entry=0x4ab31544, flags=<optimized out>) at sqlite3.c:54735 #6? 0x40816a7c in getAndInitPage (pBt=<optimized out>, pgno=<optimized out>, ppPage=0x4ab31544, bReadonly=<optimized out>) at sqlite3.c:54790 #7? 0x4081a9e0 in balance_nonroot (bBulk=<optimized out>, isRoot=0, aOvflSpace=0x54174710 "\310.\234SP\v\300C\320E\027T", iParentIdx=<optimized out>, pParent=0x53a436e8) at sqlite3.c:59731 #8? balance (pCur=0x0, pCur at entry=0x4080e1b0 <sqlite3MemMalloc>) at sqlite3.c:60469 #9? 0x4081da60 in sqlite3BtreeInsert (pCur=0x4080e1b0 <sqlite3MemMalloc>, pKey=<optimized out>, nKey=<optimized out>, pData=0x4086d778, nData=nData at entry=0, nZero=nZero at entry=0, appendBias=appendBias at entry=0, ????seekResult=0) at sqlite3.c:60655 #10 0x4083adb4 in sqlite3VdbeExec (p=0x3, p at entry=0x53ffb940) at sqlite3.c:75444 #11 0x4083e828 in sqlite3Step (p=0x53ffb940) at sqlite3.c:69347 #12 sqlite3_step (pStmt=<optimized out>) at sqlite3.c:3877 #13 sqlite3_step (pStmt=<optimized out>) at sqlite3.c:3864 ? Detailed output: #0? 0x407ddfb8 in pcache1RemoveFromHash (pPage=pPage at entry=0x5408a100) at sqlite3.c:40329 ??????? h = <optimized out> ??????? pCache = 0x534ebca0 ??????? pp = 0x7df #1? 0x407ef850 in pcache1FetchStage2 (pCache=pCache at entry=0x534ebca0, iKey=iKey at entry=78573, createFlag=createFlag at entry=2) at sqlite3.c:40569 ??????? pOther = <optimized out> ??????? nPinned = <optimized out> ??????? pGroup = 0x534ebcd0 ??????? pPage = 0x5408a100 #2? 0x407efa80 in pcache1Fetch (p=0x534ebca0, iKey=78573, createFlag=2) at sqlite3.c:40694 ??????? pCache = 0x534ebca0 ??????? pPage = 0x0 #3? 0x40816690 in sqlite3PcacheFetchStress (ppPage=<synthetic pointer>, pgno=78573, pCache=0x5391f120) at sqlite3.c:39495 ??????? pPg = <optimized out> #4? sqlite3PagerAcquire (pPager=0x5391f048, pgno=pgno at entry=78573, ppPage=0x4ab31474, ppPage at entry=0x4ab3146c, flags=0) at sqlite3.c:46910 ??????? pBase = <optimized out> ??????? rc = 0 ??????? pPg = 0x0 ??????? iFrame = 1082188208 ??????? noContent = 0 ??????? bMmapOk = <optimized out> #5? 0x40816a28 in btreeGetPage (pBt=0x43c00b50, pgno=78573, ppPage=ppPage at entry=0x4ab31544, flags=<optimized out>) at sqlite3.c:54735 ??????? rc = 1399798980 ??????? pDbPage = 0x40816a28 <btreeGetPage+32> #6? 0x40816a7c in getAndInitPage (pBt=<optimized out>, pgno=<optimized out>, ppPage=0x4ab31544, bReadonly=<optimized out>) at sqlite3.c:54790 ??????? rc = <optimized out> #7? 0x4081a9e0 in balance_nonroot (bBulk=<optimized out>, isRoot=0, aOvflSpace=0x54174710 "\310.\234SP\v\300C\320E\027T", iParentIdx=<optimized out>, pParent=0x53a436e8) at sqlite3.c:59731 ??????? leafCorrection = <optimized out> ??????? leafData = <optimized out> ??????? pageFlags = <optimized out> ??????? apOld = {0xffffffff, 0x53bc8de8, 0x533c2520} ??????? aSpace1 = <optimized out> ??????? pBt = 0x43c00b50 ??????? nMaxCells = 1403269792 ??????? subtotal = <optimized out> ??????? szScratch = <optimized out> ??????? pRight = 0x2 <Address 0x2 out of bounds> ??????? nNew = 0 ??????? nxDiv = 0 ??????? iOvflSpace = 0 ??????? cntOld = {80464896, 0, 0, 78580, 1403366712} ??????? apCell = 0x0 ??????? i = 0 ??????? apNew = {0x5391f048, 0x4cbcc00, 0x0, 0x0, 0x53a5ad38} ??????? abDone = "\000\000\000\000" ??????? aPgno = {1402073376, 78580, 1402073376, 1715, 6} ??????? aPgOrder = {1087295488, 0, 124, 0, 1136659280} ??????? j = <optimized out> ??????? rc = 0 ??????? iSpace1 = 0 ??????? szNew = {17, 17, 1082063336, 78580, 1402073160} ??????? pgno = 1403366712 ??????? k = <optimized out> ??????? apDiv = {0x5418e14f "", 0x5418e13e ""} ??????? cntNew = {1404621896, 746250, 0, 65540, 1082010372} ??????? szCell = <optimized out> ??????? nCell = 0 ??????? nOld = 1403269800 ??????? usableSpace = <optimized out> ??????? aPgFlags = {46552, 21503, 2, 0, 5456} #8? balance (pCur=0x0, pCur at entry=0x4080e1b0 <sqlite3MemMalloc>) at sqlite3.c:60469 ??????? pSpace = 0x5418def8 "\350\336\030T\350\336\030Tl" ??????? pParent = 0x53a436e8 ??????? iIdx = <optimized out> ??????? iPage = 1253250376 ??????? pPage = 0x18 ??????? rc = <optimized out> ??????? nMin = 3 ??????? aBalanceQuickSpace = "\210h\266 at N\001\000\000\004\000\001@(" ??????? pFree = 0x17 <Address 0x17 out of bounds> #9? 0x4081da60 in sqlite3BtreeInsert (pCur=0x4080e1b0 <sqlite3MemMalloc>, pKey=<optimized out>, nKey=<optimized out>, pData=0x4086d778, nData=nData at entry=0, nZero=nZero at entry=0, appendBias=appendBias at entry=0, ????seekResult=0) at sqlite3.c:60655 ??????? rc = 13 ??????? loc = 1082629864 ??????? szNew = 1410121556 ??????? idx = <optimized out> ??????? pPage = 0x0 ??????? p = <optimized out> ??????? pBt = <optimized out> ??????? oldCell = <optimized out> ??????? newCell = 0x533c2520 "\001\001" #10 0x4083adb4 in sqlite3VdbeExec (p=0x3, p at entry=0x53ffb940) at sqlite3.c:75444 ??????? pC = 0x541746a8 ??????? pCrsr = <optimized out> ??????? nKey = <optimized out> ??????? zKey = <optimized out> ??????? pc = <optimized out> ??????? aOp = 0x53ffb940 ?? ?????pOp = 0x53ffd4a8 ??????? rc = <optimized out> ??????? db = <optimized out> ??????? resetSchemaOnFault = <optimized out> ??????? encoding = 9 '\t' ??????? iCompare = <optimized out> ??????? nVmStep = 0 ??????? nProgressLimit = 0 ??????? aMem = 0x14 ?? ?????pIn1 = <optimized out> ??????? pIn2 = <optimized out> ??????? pIn3 = <optimized out> ??????? pOut = 0x53ffd628 ??????? aPermute = <optimized out> ??????? lastRowid = <optimized out> #11 0x4083e828 in sqlite3Step (p=0x53ffb940) at sqlite3.c:69347 ???? ???db = 0x53a5ad38 ??????? rc = <optimized out> #12 sqlite3_step (pStmt=<optimized out>) at sqlite3.c:3877 ??????? rc2 = 0 ??????? db = <optimized out> ??????? rc = <optimized out> #13 sqlite3_step (pStmt=<optimized out>) at sqlite3.c:3864 ??????? v = <optimized out> ?