开发者

Android App closes automatically - Native code crash?

I've a very simple / minimal code Android application. I'm drawing some lines on screen with my finger.

At some point, app closes itself / exists automatically. No exception is thrown.

I'm really stuck. Any help / idea is highly appreciated!

Thanks in advance/

07-12 23:13:54.264: DEBUG/dalvikvm(3638): GC_EXPLICIT freed 3102 objects / 163096 bytes in 48ms
07-12 23:14:08.394: DEBUG/dalvikvm(3638): GC_EXPLICIT freed 438 objects / 22696 bytes in 99ms
07-12 23:14:09.324: DEBUG/dalvikvm(3638): GC_EXPLICIT freed 2697 objects / 142112 bytes in 73ms
07-12 23:14:15.434: INFO/DEBUG(11269): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
07-12 23:14:15.434: INFO/DEBUG(11269): Build fingerprint: 'google/passion/passion/mahimahi:2.2/FRF91/43546:user/release-keys'
07-12 23:14:15.434: INFO/DEBUG(11269): pid: 11450, tid: 11450  >>> com.mypackage.name <<<
07-12 23:14:15.434: INFO/DEBUG(11269): signal 11 (SIGSEGV), fault addr a001fac5
07-12 23:14:15.434: INFO/DEBUG(11269):  r0 44992640  r1 0000004b  r2 41a278e8  r3 0003ae50
07-12 23:14:15.434: INFO/DEBUG(11269):  r4 44992640  r5 a001fac5  r6 0000015b  r7 00002072
07-12 23:14:15.434: INFO/DEBUG(11269):  r8 80816fc0  r9 00000004  10 00000000  fp bebf2868
07-12 23:14:15.434: INFO/DEBUG(11269):  ip 112648cb  sp bebf2564  lr 80818c6c  pc 80844380  cpsr 20000030
07-12 23:14:15.434: INFO/DEBUG(11269):  d0  643a64696f72646e  d1  6472656767756265
07-12 23:14:15.434: INFO/DEBUG(11269):  d2  0064006e0069000f  d3  0065005300770046
07-12 23:14:15.434: INFO/DEBUG(11269):  d4  0001310600012f24  d5  0000688700006731
07-12 23:14:15.434: INFO/DEBUG(11269):  d6  4398835b4398835b  d7  4100000042d52ee0
07-12 23:14:15.434: INFO/DEBUG(11269):  d8  44994138439a088a  d9  0002405342d3c247
07-12 23:14:15.434: INFO/DEBUG(11269):  d10 4499413842d3c247  d11 00000000439a088a
07-12 23:14:15.434: INFO/DEBUG(11269):  d12 0000000000000000  d13 0000000000000000
07-12 23:14:15.434: INFO/DEBUG(11269):  d14 0000000000000000  d15 0000000000000000
07-12 23:14:15.434: INFO/DEBUG(11269):  d16 00000000449993e0  d17 4027a05400000000
07-12 23:14:15.434: INFO/DEBUG(11269):  d18 0707070703030303  d19 f0f0f0f0f0f0f0f0
07-12 23:14:15.434: INFO/DEBUG(11269):  d20 0100010001000100  d21 0100010001000100
07-12 23:14:15.434: INFO/DEBUG(11269):  d22 f0f0f0f0f0f0f0f0  d23 f000f000f000f000
07-12 23:14:15.434: INFO/DEBUG(11269):  d24 f00开发者_Python百科0f000f000f000  d25 f000f000f000f000
07-12 23:14:15.434: INFO/DEBUG(11269):  d26 0100010001000100  d27 0100010001000100
07-12 23:14:15.434: INFO/DEBUG(11269):  d28 0100010001000100  d29 0100010001000100
07-12 23:14:15.434: INFO/DEBUG(11269):  d30 0000000000000000  d31 3fe5555555555555
07-12 23:14:15.434: INFO/DEBUG(11269):  scr 20000012
07-12 23:14:15.514: INFO/DEBUG(11269):          #00  pc 00044380  /system/lib/libdvm.so
07-12 23:14:15.514: INFO/DEBUG(11269):          #01  lr 80818c6c  /system/lib/libdvm.so
07-12 23:14:15.514: INFO/DEBUG(11269): code around pc:
07-12 23:14:15.514: INFO/DEBUG(11269): 80844360 c064f8d0 f8dcb510 47983028 bf00bd10 
07-12 23:14:15.514: INFO/DEBUG(11269): 80844370 699db5f0 0c90ea81 f00c460e 4604017f 
07-12 23:14:15.514: INFO/DEBUG(11269): 80844380 b0856828 19c5010f f8d559c1 42a1c00c 
07-12 23:14:15.514: INFO/DEBUG(11269): 80844390 6869d10e d10b42b1 0f01f01c d10268af 
07-12 23:14:15.514: INFO/DEBUG(11269): 808443a0 458468e8 4620d013 eb54f7dd e00e4607 
07-12 23:14:15.514: INFO/DEBUG(11269): code around lr:
07-12 23:14:15.514: INFO/DEBUG(11269): 80818c4c e5054008 e7950102 e5963014 e3500000 
07-12 23:14:15.514: INFO/DEBUG(11269): 80818c5c e5962010 0a000cc1 e5900000 fa00adc0 
07-12 23:14:15.514: INFO/DEBUG(11269): 80818c6c e3500000 0a000c64 ea000bef e320f000 
07-12 23:14:15.514: INFO/DEBUG(11269): 80818c7c e320f000 eb000cbe e320f000 e320f000 
07-12 23:14:15.514: INFO/DEBUG(11269): 80818c8c e320f000 e320f000 e320f000 e320f000 
07-12 23:14:15.514: INFO/DEBUG(11269): stack:
07-12 23:14:15.514: INFO/DEBUG(11269):     bebf2524  00000001  
07-12 23:14:15.514: INFO/DEBUG(11269):     bebf2528  00000007  
07-12 23:14:15.514: INFO/DEBUG(11269):     bebf252c  4186be10  
07-12 23:14:15.514: INFO/DEBUG(11269):     bebf2530  80816fc0  /system/lib/libdvm.so
07-12 23:14:15.514: INFO/DEBUG(11269):     bebf2534  8084e5cb  /system/lib/libdvm.so
07-12 23:14:15.514: INFO/DEBUG(11269):     bebf2538  0000ccc8  [heap]
07-12 23:14:15.514: INFO/DEBUG(11269):     bebf253c  418a76ec  /dev/ashmem/dalvik-LinearAlloc (deleted)
07-12 23:14:15.514: INFO/DEBUG(11269):     bebf2540  00000000  
07-12 23:14:15.514: INFO/DEBUG(11269):     bebf2544  afd10280  /system/lib/libc.so
07-12 23:14:15.514: INFO/DEBUG(11269):     bebf2548  00000001  
07-12 23:14:15.514: INFO/DEBUG(11269):     bebf254c  4186be24  
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf2550  bebf25c0  [stack]
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf2554  0000131e  
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf2558  df002777  
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf255c  e3a070ad  
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf2560  00000000  
07-12 23:14:15.524: INFO/DEBUG(11269): #00 bebf2564  42af93dc  /system/framework/android.policy.odex
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf2568  4186bdb8  
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf256c  bebf25c0  [stack]
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf2570  00002072  
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf2574  80818c6c  /system/lib/libdvm.so
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf2578  44994138  /dev/ashmem/mspace/dalvik-heap/2 (deleted)
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf257c  bebf25c0  [stack]
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf2580  00230030  [heap]
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf2584  0000ccd0  [heap]
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf2588  00035fa8  [heap]
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf258c  0000039c  
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf2590  808a12e0  /system/lib/libdvm.so
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf2594  808a5ed8  /system/lib/libdvm.so
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf2598  bebf2868  [stack]
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf259c  80822758  /system/lib/libdvm.so
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf25a0  0000ccc8  [heap]
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf25a4  bebf25c0  [stack]
07-12 23:14:15.524: INFO/DEBUG(11269):     bebf25a8  808226dc  /system/lib/libdvm.so
07-12 23:14:15.894: INFO/ActivityManager(87): Process  com.mypackage.name (pid 11450) has died.
07-12 23:14:15.904: INFO/WindowManager(87): WIN DEATH: Window{44c2c2b8 com.mypackage.name/com.mypackage.name.Game paused=false}
07-12 23:14:15.904: INFO/WindowManager(87): WIN DEATH: Window{44c95808 SurfaceView paused=false}
07-12 23:14:15.924: INFO/UsageStats(87): Unexpected resume of android while already resumed in com.mypackage.name
07-12 23:14:15.954: DEBUG/Zygote(58): Process 11450 terminated by signal (11)


Thanks to ognian, it's solved: The problem was drawing on Canvas object from 2 different threads.

I was playing around Android's FingerPaint.java SDK sample and it's accessing Canvas within onTouchEvent. However I was also using SurfaceView and drawing on Canvas within my animation thread.

Therefore removing Canvas object access from onTouchEvent(main app thread) solved the problem.

Thanks.


For the next segfault in a native app (signal 11 (SIGSEGV)), you could use the ndk-tool ndk-stack. It uses the native code objectfiles and the logcat output to generate you a c/c++ stacktrace, which is quite helpful sometimes.

See for example here: http://www.codexperiments.com/android/2010/08/tips-tricks-debugging-android-ndk-stack-traces/

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜