You're crashing in free(), which means your heap is corrupted.
The cause of the corruption could be from anywhere - and not 
necessarily sqlite. It might be the victim of a previously corrupted
heap. Try running your program through a memory checker like valgrind 
to see what it turns up. 
Also test against the latest version of sqlite, just in case.

If you don't have the time to find the source of the memory corruption,
perhaps this alternative malloc library may allow your program to run:

  DieHard, by Emery Berger (of Hoard fame).
  http://prisms.cs.umass.edu/emery/index.php?page=diehard

--- "Rachmel, Nir (Nir)" <[EMAIL PROTECTED]> wrote:
> I am running sqlite version 3.2.8, on a windriver linux, on a ppc
> platform.
> It is linked to PHP 5.1.4, where I have scripts that access the database
> (both sets and gets). Recently I have been experimenting with
> simultanious accesses to the sqlite database (meaning mutliple clients
> requesting information from the database while another client is
> commiting data to the database).
>  
> After a while, php crashes with the following error printed to the
> syslog:
>  *** glibc detected *** double free or corruption (fasttop): 0x10796ca8
> ***
>  
> Running the test again, with debug symbols produces the following
> backtrace:
>  
> 0x0fdde324 in raise () from /lib/libc.so.6
> (gdb) where
> #0  0x0fdde324 in raise () from /lib/libc.so.6
> #1  0x0fddfd8c in abort () from /lib/libc.so.6
> #2  0x0fe14bac in __fsetlocking () from /lib/libc.so.6
> #3  0x0fe14bac in __fsetlocking () from /lib/libc.so.6
> #4  0x0fe14bac in __fsetlocking () from /lib/libc.so.6
> #5  0x0fe14bac in __fsetlocking () from /lib/libc.so.6
> .
> .
> .
> Previous frame inner to this frame (corrupt stack?)
>  
> We have a special script that re-creates the backtrace, and it looks
> like this:
> 
> (gdb) bt_script
> frame #: stack_frame_ptr        backchain_ptr   LR_save_word
> frame 0: 0xXXXXXXXX:            0xXXXXXXXX      $1 = 0xfdde324
> <raise+92>
> frame 1: 0x337f5cf0:            0x337f5d10      $2 = 0xfee2f7c
> <in6addr_any+16688>
> frame 2: 0x337f5d10:            0x337f5e40      $3 = 0xfddfdf8
> <abort+664>
> frame 3: 0x337f5e40:            0x337f5fe0      $4 = 0xfe14bac
> <__libc_fatal>
> frame 4: 0x337f5fe0:            0x337f6040      $5 = 0xfe1c6b4
> <malloc_trim+2348>
> frame 5: 0x337f6040:            0x337f6060      $6 = 0xfe1caac
> <free+192>
> frame 6: 0x337f6060:            0x337f6070      $7 = 0xf7f62dc
> <sqlite3FreeX+24>
> frame 7: 0x337f6070:            0x337f60c0      $8 = 0xf7de980
> <sqlite3OsUnlock+232>
> frame 8: 0x337f60c0:            0x337f60e0      $9 = 0xf7e2478



       
____________________________________________________________________________________
Take the Internet to Go: Yahoo!Go puts the Internet in your pocket: mail, news, 
photos & more. 
http://mobile.yahoo.com/go?refer=1GNXIC

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

Reply via email to