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