Thanks Dan.

We are discussing in our team about upgrading the library.



> On Sep 16, 2008, at 5:19 AM, Sathish R wrote:
>
> > Hi All,
> > We are using sqlite3 (version 3.2.1) in our product and we are
> > experiencing
> > a problem of infinite loop from sqlite3_close(). The problem is
> > intermittently reproduced and I am not sure about the exact sequence.
> > I have described the details below. is anybody else faced similar
> > problem
> > before? Can someone please help me here?
> >
> > we have thread safe enabled.
> >
> > We collected a core when our process is stuck in infinte loop and
> > one thread
> > is infinitely looping in the below marked loop within sqlite3_close
> > (). So,
> > it holds the mutex and some other threads are blocked waiting for that
> > mutex.
> >
> > #ifndef SQLITE_OMIT_GLOBALRECOVER
> >   {
> >     sqlite3 *pPrev = pDbList;
> >     sqlite3OsEnterMutex();
> >     while( pPrev && pPrev->pNext!=db ){ -> one thread is infinite
> > looping in
> > this while()
> >       pPrev = pPrev->pNext;
> >     }
> >     if( pPrev ){
> >       pPrev->pNext = db->pNext;
> >     }else{
> >       assert( pDbList==db );
> >       pDbList = db->pNext;
> >     }
> >     sqlite3OsLeaveMutex();
> >   }
> > #endif
> >
> > I printed the pDbList from core and the list doesn't seem to end
> > and the
> > link list seems to have become a cyclic one somehow.
> >
> > (gdb) p pDbList
> > $40 = (sqlite3 *) 0x36d00bb8
> > (gdb) p pDbList->pNext
> > $41 = (sqlite3 *) 0x107b77a8
> > (gdb) p pDbList->pNext->pNext
> > $42 = (sqlite3 *) 0x107b77a8 -> link list becomes cyclic...no NULL.
> >
> > Note: I saw that this entire logic of link list and global recovery
> > doesn't
> > exist in recent 3.6.2 code base. Should I consider upgrading to newer
> > libsqlite library to avoid this problem?
>
> Yes. 3.2.1 is over 3 years old now. Hundreds of bugs have been fixed
> since then. Odds are that the problem you're experiencing has been
> fixed,
> or, if not, you stand a much better chance of getting help with it if
> using 3.6.2.
>
> Dan.
>
>
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to