On Sat, Sep 8, 2012 at 12:40 PM, David Levinson <dlevin...@worldnow.com>wrote:
> All, > > In the sqlite3DbMallocRaw() function I just encountered a failure where > pBuf is undefined and causes a crash on "db->lookaside.pFree = > pBuf->pNext". I see that pBuf is created (not initialized) and then later > a check is made for pBuf (null) -> pNext and poof my app crashes. What is the value of pBuf at the time of the crash? Surely it cannot be NULL since if it were NULL it would never reach the line on which you are crashing due to the test 3 lines above. Are you running with multiple threads? Have you compiled and configured your application to be threadsafe? Are you sure of that? > I have no idea how to replicate this issue but it happens randomly why > creating prepared statements over and over very quickly for many hours but > that may just be dumb luck. > > LookasideSlot *pBuf; > if( db->mallocFailed ){ > return 0; > } > if( db->lookaside.bEnabled ){ > if( n>db->lookaside.sz ){ > db->lookaside.anStat[1]++; > }else if( (pBuf = db->lookaside.pFree)==0 ){ > db->lookaside.anStat[2]++; > }else{ > db->lookaside.pFree = pBuf->pNext; > > should I recompile with the SQLITE_OMIT_LOOKASIDE enabled? > > Thanks, > > Dave. > > > > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > -- D. Richard Hipp d...@sqlite.org _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users