Thanks.

I can't yet get this to crash here on Linux.

Did you compile with the new threadsafe symbol, SQLITE_THREADSAFE?
(the old one was just plain old THREADSAFE).

Dan.


On Thu, 2007-08-30 at 08:17 -0700, Ken wrote:
> Dan Source code is attached. I didn't write this, someone else from
> the forum did their name is not on it, nor coppyrighted.. I thought it
> was a clean way to test threading.
> 
> Interestingly if you remove out the shared cache everything runs to
> completion.
> 
> 
> 
> Dan Kennedy <[EMAIL PROTECTED]> wrote:
>         
>         Hi Ken,
>         
>         Probably a bug in the new threading stuff. Can you share
>         source code for this test or is it part of some large app?
>         
>         Either way, thanks for the report.
>         
>         Dan.
>         
>         On Wed, 2007-08-29 at 22:15 -0700, Ken wrote:
>         > Also erros out here, sporadically.
>         > int sqlite3OsWrite(sqlite3_file *id, const void *pBuf, int
>         amt, i64 offset){
>         > return id->pMethods->xWrite(id, pBuf, amt, offset);
>         > }
>         > 
>         > Program received signal SIGSEGV, Segmentation fault.
>         > [Switching to Thread 1075841376 (LWP 15747)]
>         > 0x000000000040c413 in sqlite3OsWrite (id=0x55aaa0,
>         pBuf=0x401ffc30, amt=24, offset=0) at os.c:38
>         > (gdb) Quit
>         > (gdb) 
>         > 
>         > Ken  wrote: 4 threads, shared_Cache enabled
>         > LOOP 100 
>         > BEGIN
>         > LOOP 50 times
>         > INSERT
>         > end LOOP
>         > COMMIT
>         > 
>         > SELECT COUNT(*) ...
>         > end LOOP
>         > 
>         > 
>         > program received signal SIGSEGV, Segmentation fault.
>         > [Switching to Thread 1080043872 (LWP 15448)]
>         > moveToChild (pCur=0x569058, newPgno=) at btree.c:3304
>         > (gdb) 
>         > 
>         > 
>         > if( rc ) return rc;
>         > pNewPage->idxParent = pCur->idx;
>         > pOldPage = pCur->pPage;
>         > pOldPage->idxShift = 0; <---------------- Error Here
>         > releasePage(pOldPage);
>         > pCur->pPage = pNewPage;
>         > pCur->idx = 0;
>         > pCur->info.nSize = 0;
>         > 
>         > 
>         > Ken
>         > 
>         > 
>         > 
>         > 
>         > Ken  wrote: 4 threads, shared_Cache enabled
>         > LOOP 100 
>         > BEGIN
>         > LOOP 50 times
>         > INSERT
>         > end LOOP
>         > COMMIT
>         > 
>         > SELECT COUNT(*) ...
>         > end LOOP
>         > 
>         > 
>         > program received signal SIGSEGV, Segmentation fault.
>         > [Switching to Thread 1080043872 (LWP 15448)]
>         > moveToChild (pCur=0x569058, newPgno=) at btree.c:3304
>         > (gdb) 
>         > 
>         > 
>         > if( rc ) return rc;
>         > pNewPage->idxParent = pCur->idx;
>         > pOldPage = pCur->pPage;
>         > pOldPage->idxShift = 0; <---------------- Error Here
>         > releasePage(pOldPage);
>         > pCur->pPage = pNewPage;
>         > pCur->idx = 0;
>         > pCur->info.nSize = 0;
>         > 
>         > 
>         > Ken
>         > 
>         > 
>         
>         
>         
> -----------------------------------------------------------------------------
>         To unsubscribe, send email to
>         [EMAIL PROTECTED]
>         
> -----------------------------------------------------------------------------
>         
> 


-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to