iOS で sqlite に複数のリーダーを使用すると、exc_bad_access が発生します。データベースで WAL が有効になっており、sqlite3_threadsafety が 2 を返すため、これは問題になりません。
私が使用しているコードは、ほとんどの場合、10 万人以上のユーザーに対して正常に動作しますが、特定のマルチスレッド競合状態により、sqlite3_prepare_v2 が exc_bad_access を持つようになります。基本的に、2 つのスレッドを生成して大量の読み取りを行うと、クラッシュします。
WAL とスレッドセーフな sqlite を使用すると、複数のスレッドが問題になることはありませんが、この exc_bad_access の原因を突き止めることはできません。
前もって感謝します。