C++ : crash dans sqlite3_prepare
Bonjour à tous,
j'ai mis en place un petit outil de test multithread de lecture /écriture de bases SQLITE (légères) en accès fréquent (toutes les 200/300 ms).
l'application tourne bien jusqu'au moment où très aléatoirement je crashe lors d'une requête SELECT dans la fonction sqlite3_blob_close appelée au sein de la fonction sqlite3_prepare que j'appelle à haut niveau.
j'ouvre à la base
je crée ma requête SQL (valide)
j'appelle sqlite3_prepare
et boum (ça marche 20 fois, ou 200, c'est très aléatoire et puis d'un coup d'un seul ça plante) :
"Exception non gérée... : violation d'accès lors de la lecture de l'emplacement ..."
j'ai en gros une thread qui écrit et une autre qui lit
Si je ne fais que lire la base, pas de problème,
Si je ne fais qu'écrire la base, pas de problème,
si une application écrit et plusieurs autres lisent, pas de problème non plus...
mais en multi access avec une même application, il y a problème.
Est ce un problème de mauvaise protection du code en gestion multi thread ?