2013-06-27 5 views
3

Pouvez-vous m'aider avec ce bug? Il a eu lieu le Nexus 4. Il semble que cela a causé par un code de création de polices ...SIGSEGV Android

 06-27 16:43:59.384: A/libc(22545): Fatal signal 11 (SIGSEGV) at 0x0000000c (code=1), thread 22553 (FinalizerDaemon) 
     06-27 16:43:59.485: I/DEBUG(157): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 
     06-27 16:43:59.485: I/DEBUG(157): Build fingerprint: 'google/occam/mako:4.2.2/JDQ39/573038:user/release-keys' 
     06-27 16:43:59.485: I/DEBUG(157): Revision: '11' 
     06-27 16:43:59.485: I/DEBUG(157): pid: 22545, tid: 22553, name: FinalizerDaemon >>> com.myapp <<< 
     06-27 16:43:59.485: I/DEBUG(157): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0000000c 
     06-27 16:43:59.585: I/DEBUG(157):  scr 60000093 
     06-27 16:43:59.585: I/DEBUG(157): backtrace: 
     06-27 16:43:59.585: I/DEBUG(157):  #00 pc 000bd244 /system/lib/libskia.so (SkFontHost::NextLogicalFont(SkScalerContext::Rec const&)+268) 
     06-27 16:43:59.585: I/DEBUG(157):  #01 pc 0008cc9c /system/lib/libskia.so (SkScalerContext::getNextContext()+44) 
     06-27 16:43:59.585: I/DEBUG(157):  #02 pc 0008cd90 /system/lib/libskia.so (SkScalerContext::getContextFromChar(int, unsigned int&)+56) 
     06-27 16:43:59.585: I/DEBUG(157):  #03 pc 0008ce5c /system/lib/libskia.so (SkScalerContext::charToGlyphID(int)+12) 
     06-27 16:43:59.585: I/DEBUG(157):  #04 pc 0007c480 /system/lib/libskia.so (SkPaint::textToGlyphs(void const*, unsigned int, unsigned short*) const+244) 
     06-27 16:43:59.585: I/DEBUG(157):  #05 pc 0006d33b /system/lib/libandroid_runtime.so 
     06-27 16:43:59.585: I/DEBUG(157):  #06 pc 00004c20 /system/lib/libharfbuzz.so (HB_ConvertStringToGlyphIndices+104) 
     06-27 16:43:59.585: I/DEBUG(157):  #07 pc 00005e4c /system/lib/libharfbuzz.so (HB_BasicShape+12) 
     06-27 16:43:59.585: I/DEBUG(157):  #08 pc 00005ed8 /system/lib/libharfbuzz.so (HB_ShapeItem+48) 
     06-27 16:43:59.585: I/DEBUG(157):  #09 pc 00072c9f /system/lib/libandroid_runtime.so (android::TextLayoutShaper::doShaping(unsigned int)+44) 
     06-27 16:43:59.585: I/DEBUG(157):  #10 pc 00072e75 /system/lib/libandroid_runtime.so (android::TextLayoutShaper::shapeFontRun(SkPaint const*, bool)+284) 
     06-27 16:43:59.585: I/DEBUG(157):  #11 pc 00073155 /system/lib/libandroid_runtime.so (android::TextLayoutShaper::computeRunValues(SkPaint const*, unsigned short const*, unsigned int, bool, android::Vector<float>*, float*, android::Vector<unsigned short>*, android::Vector<float>*)+712) 
     06-27 16:43:59.585: I/DEBUG(157):  #12 pc 000734ad /system/lib/libandroid_runtime.so (android::TextLayoutShaper::computeValues(SkPaint const*, unsigned short const*, unsigned int, unsigned int, unsigned int, int, android::Vector<float>*, float*, android::Vector<unsigned short>*, android::Vector<float>*)+444) 
     06-27 16:43:59.585: I/DEBUG(157):  #13 pc 0007351d /system/lib/libandroid_runtime.so (android::TextLayoutShaper::computeValues(android::TextLayoutValue*, SkPaint const*, unsigned short const*, unsigned int, unsigned int, unsigned int, int)+44) 
     06-27 16:43:59.585: I/DEBUG(157):  #14 pc 00073a33 /system/lib/libandroid_runtime.so (android::TextLayoutCache::getValue(SkPaint const*, unsigned short const*, int, int, int, int)+226) 
     06-27 16:43:59.585: I/DEBUG(157):  #15 pc 00073d49 /system/lib/libandroid_runtime.so (android::TextLayoutEngine::getValue(SkPaint const*, unsigned short const*, int, int, int, int)+36) 
     06-27 16:43:59.585: I/DEBUG(157):  #16 pc 00072371 /system/lib/libandroid_runtime.so (android::TextLayout::getTextRunAdvances(SkPaint*, unsigned short const*, int, int, int, int, float*, float*)+42) 
     06-27 16:43:59.585: I/DEBUG(157):  #17 pc 0006f319 /system/lib/libandroid_runtime.so 
     06-27 16:43:59.585: I/DEBUG(157):  #18 pc 0006f49b /system/lib/libandroid_runtime.so 
     06-27 16:43:59.585: I/DEBUG(157):  #19 pc 0001e290 /system/lib/libdvm.so (dvmPlatformInvoke+112) 
     06-27 16:43:59.585: I/DEBUG(157):  #20 pc 0004d411 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+396) 
     06-27 16:43:59.585: I/DEBUG(157):  #21 pc 000276a0 /system/lib/libdvm.so 
     06-27 16:43:59.585: I/DEBUG(157):  #22 pc 0002b57c /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184) 
     06-27 16:43:59.585: I/DEBUG(157):  #23 pc 0005fc31 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+272) 
     06-27 16:43:59.585: I/DEBUG(157):  #24 pc 0005fc5b /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20) 
     06-27 16:43:59.585: I/DEBUG(157):  #25 pc 000547d7 /system/lib/libdvm.so 
     06-27 16:43:59.585: I/DEBUG(157):  #26 pc 0000e3d8 /system/lib/libc.so (__thread_entry+72) 
     06-27 16:43:59.585: I/DEBUG(157):  #27 pc 0000dac4 /system/lib/libc.so (pthread_create+160) 
     06-27 16:43:59.585: I/DEBUG(157): stack: 

... 06-27 16: 43: 59,595: I/DEBUG (157): 730368a4 404b3e60/système /lib/libskia.so (SkScalerContext :: charToGlyphID (int) +16)

Est-ce que quelqu'un a trouvé cela aussi? Je n'ai pas pu reproduire régulièrement ...

Répondre

2

Oui, cela arrive à moi aussi (et toujours!) En TestPocketSphinxAndAndroidASR sur un Nexsus S sous Android 4.1, dans une application nommée ca.ilanguage.labs.pocketsphix avec étiquette libc.

L'erreur exacte:

Fatal signal 11 (SIGSEGV) at 0x0000001a (code=1), thread 3182 (FinalizerDaemon) 

Cela ne se produit pas sur Android 2.2. Ressemble à une dépendance incompatible sur le code NDK spécifique et je ne sais pas encore comment résoudre ce problème pour Android 4.1.

Je soupçonne que cela a à voir avec Toast et bien sûr, si je commente la ligne suivante, l'application ne plante pas! (Même sur Android 4,1)

Toast.makeText(TestPocketSphinxAndAndroidASR.this, "Possible recognitions: "+matches.toString(), Toast.LENGTH_LONG).show(); 

Si je casse la seule déclaration en ligne à:

String msg = "Possible recognitions: "+ matches.toString(); 
    Toast toast = Toast.makeText(TestPocketSphinxAndAndroidASR.this, msg, Toast.LENGTH_LONG); 
    toast.show(); 

L'accident persiste, mais si j'insérer une déclaration de LogCat entre les deux, l'application affiche le toast Sans crash!

String msg = "Possible recognitions: "+ matches.toString(); 
    Log.d(getClass().getName(), msg); 
    Toast toast = Toast.makeText(TestPocketSphinxAndAndroidASR.this, msg, Toast.LENGTH_LONG); 
    toast.show(); 

Étrange.

Questions connexes