2011-08-03 1 views
1

J'ai une implémentation de protocole dans laquelle une partie du protocole nécessite d'écrire des métadonnées dans la base de données, plus précisément le protocole de synchronisation de chansons entre un système hôte et un téléphone mobile.JNI Invocation interface: SIGSEGV signalé pendant jni call

L'implémentation du protocole est en C/C++ et pour la base de données, nous utilisons sqlite comme back end et l'implémentation utilise le fournisseur de contenu android en java. En outre, nous utilisons JNI Invocation pour transmettre les métadonnées de la chanson de C à Java.

Cette mise en œuvre fonctionne pour quelques chansons, mais quand un grand nombre de chansons (par exemple 50) sont synchronisés à la fois la synchronisation s'arrête brusquement après avoir synchronisé environ 37-38 chansons env.

Cela se produit en raison d'un SIGSEGV, nous avons appris à le savoir à partir de/data/pierres tombales et découvert que l'accident se produit toujours lors de l'invocation JNI, l'appel à env-> méthode.

S'il vous plaît laissez-moi savoir ce qui pourrait être le problème et les solutions possibles à cela.

Répondre