> My conclusion from my experience is that SQLITE_OPEN_NOMUTEX does not support this, because this scenario means both T1 and T2 would access C, although there is no concurrent accessing to C because application protects it with M. My conclusion is that your code is broken. If you use SQLITE_OPEN_FULLMUTEX and the crashes go away, then the problem is isolated to your re-implementation of SQLITE_OPEN_FULLMUTEX not being sufficient and/or not working as you think it does. If you use SQLITE_OPEN_FULLMUTEX and the crashes do not go away, that would indicate that you either found a bug (which needs to be fixed) or that your code is *tromping on shit it owns not* and causing the sewers to back up.