"Ron Avriel" <[EMAIL PROTECTED]> wrote:
> Hi,
> 
> The SQLite database in my application becomes corrupted quite often under 
> high test load (error 'database disk image is malformed' is returned).
> 
> Some information:
> SQLite version: 3.3.8, but a similar crash occurred at previous versions as 
> well.
> SQLite configuration: --enable-threadsafe --enable-cross-thread-connections 
> --disable-tcl
> OS: Linux Fedora Core 6, kernel 2.6.18
> CPU: Intel dual core 2.13 GHz
> 
> The database is created with PRAGMA synchronous = OFF and PRAGMA 
> auto_vacuum=ON.
> 
> Application details: The application is a message queue server implemented 
> over a multi-process Apache http server.
> The corruption occurs both when there's a single thread per process or 
> multiple threads per process.
> In any case, each process uses a *single* SQLite session serialized between 
> all threads with a mutex.

Are you really, really, positively sure that this mutex is working?

> 
> Any help will be greatly appreciated.

If you only run a single process at a time does the problem go
away.  (If it does, that indicates that the problem is in the
locking code - an area where Fedora has given us no end of problems
in the past - not in the BTree layer.)

Can you record the sequence of SQL statements that are being
executed and send them to me?

Please tell me what the RCS version number on your btree.c file is.
For 3.3.8, it should be 1.328, but my line numbers do not match your.

Please recompile with all optimization turned off and see if the
problem goes away.

--
D. Richard Hipp  <[EMAIL PROTECTED]>


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

Reply via email to