Android libc.so si blocca?

Sto utilizzando AndEngine con la PhysicsBox2DExtension per fare un gioco. Il mio gioco continua a schiantarsi e ho questo in LogCat non filtrato:

07-06 13:25:27.266: I/DEBUG(19582): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 07-06 13:25:27.266: I/DEBUG(19582): Build fingerprint: 'TMOUS/SGH-T959V/SGH-T959V/SGH-T959V:2.2.1/FROYO/VUVKD1:user/release-keys' 07-06 13:25:27.274: I/DEBUG(19582): pid: 22238, tid: 22263 >>> com.prattia.webs.testgfx5 <<< 07-06 13:25:27.274: I/DEBUG(19582): signal 11 (SIGSEGV), fault addr deadbaad 07-06 13:25:27.286: I/DEBUG(19582): r0 00000000 r1 afd14921 r2 00000027 r3 00000070 07-06 13:25:27.286: I/DEBUG(19582): r4 afd42328 r5 00000000 r6 00000000 r7 43095ba0 07-06 13:25:27.297: I/DEBUG(19582): r8 447d75ac r9 43095b5c 10 80aa23f4 fp 43095b58 07-06 13:25:27.297: I/DEBUG(19582): ip 00001730 sp 447d74c8 lr deadbaad pc afd11f74 cpsr 60000030 07-06 13:25:27.301: I/DEBUG(19582): d0 6472656767756265 d1 646f426574616572 07-06 13:25:27.301: I/DEBUG(19582): d2 2074736e6f632879 d3 654479646f423262 07-06 13:25:27.305: I/DEBUG(19582): d4 73656e69676e655f d5 69676e45646e412f 07-06 13:25:27.309: I/DEBUG(19582): d6 6e45646e412f656e d7 73796850656e6967 07-06 13:25:27.309: I/DEBUG(19582): d8 40c9de1ed6a7d420 d9 43e0000000000000 07-06 13:25:27.313: I/DEBUG(19582): d10 41dfffffffc00000 d11 c3e0000000000000 07-06 13:25:27.313: I/DEBUG(19582): d12 0000000000000000 d13 0000000000000000 07-06 13:25:27.313: I/DEBUG(19582): d14 0000000000000000 d15 0000000000000000 07-06 13:25:27.317: I/DEBUG(19582): d16 000000c247d403f0 d17 400921fb54442d18 07-06 13:25:27.317: I/DEBUG(19582): d18 3f810f1cab7c1816 d19 3f651bd7d319330c 07-06 13:25:27.317: I/DEBUG(19582): d20 bfc55034095fd11a d21 be5ae514498b308e 07-06 13:25:27.321: I/DEBUG(19582): d22 0000000000000000 d23 3de5d93a5acfd57c 07-06 13:25:27.325: I/DEBUG(19582): d24 bfb3b25552016f7e d25 3fb10e9526779bed 07-06 13:25:27.325: I/DEBUG(19582): d26 bfaddfe9639fbb1a d27 3fa97c111b7b144e 07-06 13:25:27.325: I/DEBUG(19582): d28 bfa2b4442c6a6c2f d29 0000000000000000 07-06 13:25:27.325: I/DEBUG(19582): d30 0000000000000000 d31 0000000000000000 07-06 13:25:27.325: I/DEBUG(19582): scr 60000012 07-06 13:25:27.469: I/DEBUG(19582): #00 pc 00011f74 /system/lib/libc.so 07-06 13:25:27.473: I/DEBUG(19582): #01 pc 0001921e /system/lib/libc.so 07-06 13:25:27.473: I/DEBUG(19582): #02 pc 00026558 /data/data/com.prattia.webs.testgfx5/lib/libandenginephysicsbox2dextension.so 07-06 13:25:27.473: I/DEBUG(19582): #03 pc 00013e7c /data/data/com.prattia.webs.testgfx5/lib/libandenginephysicsbox2dextension.so 07-06 13:25:27.473: I/DEBUG(19582): #04 pc 00016e34 /system/lib/libdvm.so 07-06 13:25:27.473: I/DEBUG(19582): code around pc: 07-06 13:25:27.473: I/DEBUG(19582): afd11f54 2d00682d e029d1fb b12b68db c05cf8df 07-06 13:25:27.473: I/DEBUG(19582): afd11f64 f8442001 4798000c e054f8df 26002227 07-06 13:25:27.473: I/DEBUG(19582): afd11f74 2000f88e eec2f7fb f7fc2106 f04feff8 07-06 13:25:27.473: I/DEBUG(19582): afd11f84 91035180 460aa901 96012006 f7fc9602 07-06 13:25:27.473: I/DEBUG(19582): afd11f94 a905eb7e 20024632 eb88f7fc eeaef7fb 07-06 13:25:27.473: I/DEBUG(19582): code around lr: 07-06 13:25:27.477: I/DEBUG(19582): deadba8c ffffffff ffffffff ffffffff ffffffff 07-06 13:25:27.477: I/DEBUG(19582): deadba9c ffffffff ffffffff ffffffff ffffffff 07-06 13:25:27.477: I/DEBUG(19582): deadbaac ffffffff ffffffff ffffffff ffffffff 07-06 13:25:27.477: I/DEBUG(19582): deadbabc ffffffff ffffffff ffffffff ffffffff 07-06 13:25:27.477: I/DEBUG(19582): deadbacc ffffffff ffffffff ffffffff ffffffff 07-06 13:25:27.477: I/DEBUG(19582): stack: 07-06 13:25:27.477: I/DEBUG(19582): 447d7488 00000000 07-06 13:25:27.477: I/DEBUG(19582): 447d748c 00000000 07-06 13:25:27.477: I/DEBUG(19582): 447d7490 afd425a0 /system/lib/libc.so 07-06 13:25:27.477: I/DEBUG(19582): 447d7494 afd4254c /system/lib/libc.so 07-06 13:25:27.477: I/DEBUG(19582): 447d7498 00000000 07-06 13:25:27.477: I/DEBUG(19582): 447d749c afd1596b /system/lib/libc.so 07-06 13:25:27.481: I/DEBUG(19582): 447d74a0 afd14921 /system/lib/libc.so 07-06 13:25:27.481: I/DEBUG(19582): 447d74a4 afd14921 /system/lib/libc.so 07-06 13:25:27.481: I/DEBUG(19582): 447d74a8 00000070 07-06 13:25:27.481: I/DEBUG(19582): 447d74ac afd42328 /system/lib/libc.so 07-06 13:25:27.481: I/DEBUG(19582): 447d74b0 00000000 07-06 13:25:27.481: I/DEBUG(19582): 447d74b4 447d74dc 07-06 13:25:27.481: I/DEBUG(19582): 447d74b8 43095ba0 07-06 13:25:27.481: I/DEBUG(19582): 447d74bc afd14bc3 /system/lib/libc.so 07-06 13:25:27.481: I/DEBUG(19582): 447d74c0 df002777 07-06 13:25:27.481: I/DEBUG(19582): 447d74c4 e3a070ad 07-06 13:25:27.481: I/DEBUG(19582): #00 447d74c8 00000003 07-06 13:25:27.481: I/DEBUG(19582): 447d74cc 43095b58 07-06 13:25:27.481: I/DEBUG(19582): 447d74d0 43095ba0 07-06 13:25:27.485: I/DEBUG(19582): 447d74d4 afd14f29 /system/lib/libc.so 07-06 13:25:27.485: I/DEBUG(19582): 447d74d8 afd4254c /system/lib/libc.so 07-06 13:25:27.485: I/DEBUG(19582): 447d74dc fffffbdf 07-06 13:25:27.485: I/DEBUG(19582): 447d74e0 00000054 07-06 13:25:27.485: I/DEBUG(19582): 447d74e4 00000003 07-06 13:25:27.485: I/DEBUG(19582): 447d74e8 43095b58 07-06 13:25:27.489: I/DEBUG(19582): 447d74ec afd19223 /system/lib/libc.so 07-06 13:25:27.489: I/DEBUG(19582): #01 447d74f0 00000054 07-06 13:25:27.489: I/DEBUG(19582): 447d74f4 821412bc /data/data/com.prattia.webs.testgfx5/lib/libandenginephysicsbox2dextension.so 07-06 13:25:27.489: I/DEBUG(19582): 447d74f8 447d75d0 07-06 13:25:27.489: I/DEBUG(19582): 447d74fc 8212655c /data/data/com.prattia.webs.testgfx5/lib/libandenginephysicsbox2dextension.so 07-06 13:25:28.040: I/DEBUG(19582): dumpstate /data/log/dumpstate_app_native.txt 07-06 13:25:28.114: I/dumpstate(22478): begin 07-06 13:25:28.122: I/dalvikvm(2480): threadid=3: reacting to signal 3 07-06 13:25:28.157: I/dalvikvm(2480): Wrote stack traces to '/data/anr/traces.txt' 07-06 13:25:28.192: I/BootReceiver(2480): Copying /data/tombstones/tombstone_09 to DropBox (SYSTEM_TOMBSTONE) 07-06 13:25:28.239: I/dalvikvm(2604): threadid=3: reacting to signal 3 07-06 13:25:28.239: I/dalvikvm(2604): Wrote stack traces to '/data/anr/traces.txt' 

Può chiunque a spiegarmi cosa sta succedendo e come potrei trovare quello che esattamente sta causando l'incidente?

  • Qual è la dimensione massima della texture (Andengine)
  • Effetto di linea di disegno su touch come Ninja di frutta o Veggie Samurai in E Motore
  • BaseGameActivity.runOnUpdateThread () contro Entity.registerUpdateHandler ()
  • Top 5 punteggi da google leaderboard
  • come decidere tra accesso diretto al database e provider di contenuti?
  • Modificare più moduli di entity framework; in AndEngine
  • Ci sono due posti nel mio codice in cui si blocca, ma è abbastanza random quando lo fa. Dopo l'esecuzione di questo metodo:

     private void destroyFiller(){ //Deletes filler if(filler[fillerNum].active){ Log.e("destroyFiller","Destroying filler"); filler[fillerNum].active=false; filler[fillerNum].body.setActive(false); scene.detachChild(filler[fillerNum].sprite); fillerCount--; fillersLeftText.setText("Balls left: "+Integer.toString(fillerCount)); if(fillerCount==0) gameOver(); Log.e("destroyFiller","Destroyed"); } } 

    E dopo aver eseguito la linea indicata in questo metodo:

     private void levelComplete(){ runOnUiThread(new Runnable() { public void run() { Toast.makeText(TestGFX5Activity.this, "Level Complete", Toast.LENGTH_SHORT).show(); } }); Log.e("Level Complete","Going to reset values"); //Reset values level++; destroyerNum++; fillerCount = (originalNumberOfFillers + level - 1); areaFilled=0; fillAreaPercent = 0; //Rid scene of sprites for(int x=0;x<=fillerNum;x++){ filler[x].body.setActive(false); scene.detachChild(filler[x].sprite); filler[x].active=false; filler[x].scale=originalSpriteScale; filler[x].body.setUserData("inactive"); } levelText.setText("Level: "+Integer.toString(level)); fillersLeftText.setText("Balls left: "+Integer.toString(fillerCount)); percentFilledText.setText("0%"); fillerNum = -1; Log.e("Level Complete","values reset"); randx = random.nextInt(650) + 25; randy = random.nextInt(400) + 25; randix = random.nextInt(10); randiy = random.nextInt(10); if(randix%2==0) ix = 5; else ix = -5; if(randiy%2==0) iy = 5; else iy = -5; Log.e("Level Complete","Creating destroyer"); destroyer[destroyerNum] = new Ball(randx, randy, destroyerTR, getVertexBufferObjectManager(), ix, iy); //crashes here Log.e("Level Complete","complete"); //This line never reached. } 

  • Imansible aggiungere AndEngine a Android Studio
  • Creare un cerchio in android andengine da box2d?
  • java.lang.IndexOutOfBoundsException: Indice non valido 13, dimensione 13
  • BaseGameActivity.runOnUpdateThread () contro Entity.registerUpdateHandler ()
  • Come gettare / sfilare la palla spazzando via con AndEngine?
  • Android AndEngine Physics - immagini rilascio
  • 2 Solutions collect form web for “Android libc.so si blocca?”

    È necessario utilizzare lo strumento addr2line come descritto qui e cercare questi due indirizzi nella tua libreria per scoprire che cosa provoca l'incidente:

     #02 pc 00026558 /data/data/com.prattia.webs.testgfx5/lib/libandenginephysicsbox2dextension.so #03 pc 00013e7c /data/data/com.prattia.webs.testgfx5/lib/libandenginephysicsbox2dextension.so 

    Così sotto Windows dovresti:

    1. Copia la libreria dal dispositivo:

       adb pull /data/data/com.prattia.webs.testgfx5/lib/libandenginephysicsbox2dextension.so C:\ 
    2. Esegui lo strumento addr2line per utilizzare la row di command:

       cd %PATH_TO_YOUR_NDK%\toolchains\arm-linux-androidabi-4.4.3\prebuilt\linux-x86\bin arm-linux-androidabi-addr2line -C -f -e C:\libandenginephysicsbox2dextension.so 
    3. Inserisci indirizzo per indirizzo:

       00026558 [ENTER] > here will be function name and line 00013e7c [ENTER] > and again 

    Nota: l'esecuzione di questo strumento in Windows può darti less informazioni rispetto a Linux, quindi puoi scegliere di installare la distro come una macchina virtuale e seguire le istruzioni dal link alla risposta originale di cui sopra.

    Aggiornare

    Un altro modo (più facile?) È usare il ndk-stack :

    1. Come in precedenza
    2. Salvare il tuo deposito nel file. Chiamiamola 'dump.txt'.
    3. Run ndk-stack :

       cd %PATH_TO_YOUR_NDK% ndk-stack -sym C:\libandenginephysicsbox2dextension.so -dump C:\dump.txt 

    Libc sta riscontrando una violazione della segmentazione, quasi certamente perché l'andengine gli ha dato un bad pointer. Probabilmente non si dispone di simboli di debug per libc, ma è ansible adb tirare e objdump per capire quale function dynamic viene dato argomenti difettosi. Oppure, se la tua libreria di andengine ha i simboli di debug, puoi rintracciare l'indirizzo utilizzando l'indirizzo allo strumento di linea.

    Dovresti scoprire se si tratta di un bug in ciò che stai chiedendo andengine da fare, o se il bug è in andengine stesso.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.