Not sure if this is a real memory corruption of just an "illegal" combination of compile time options. In the later case it should be probably documented and/or detected and rejected. --- SQLite-d8e47382$ cat bug.sh make distclean ./configure CFLAGS="-DSQLITE_DEBUG -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_MEMDEBUG" make testfixture cd test ../testfixture permutations.test extraquick corrupt2.test SQLite-d8e47382$ ./bug.sh rm -f *.lo *.la *.o sqlite3 libsqlite3.la ... corrupt2-1.1... Ok corrupt2-1.2... Ok corrupt2-1.3... Ok corrupt2-1.4... Ok corrupt2-1.5... Ok corrupt2-2.1... Ok corrupt2-3.1... Ok corrupt2-4.1... Ok corrupt2-5.1... Ok corrupt2-6.1... Ok corrupt2-6.2... Ok testfixture: sqlite3.c:24015: sqlite3MemsysGetHeader: Assertion `pU8[nReserve]==0x65' failed. ./bug.sh: line 5: 24738 Aborted (core dumped) ../testfixture permutations.test extraquick corrupt2.test SQLite-d8e47382$