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

Reply via email to