2013-01-24 9 views
14

Pracuję nad aplikacją na Androida. W którym otrzymuję zdjęcia użytkowników (5 zdjęć) (przy użyciu kamery opencv2.4.2 z funkcją wykrywania twarzy) i zapisz w mojej bazie danych na serwerze za pomocą usługi internetowej. W tym celu korzystam z usługi wykrywania twarzy OpenCv2.4.2, Ksoap2 dla usługi internetowej. W moim urządzeniu Android emulator i urządzenie (android 4.0.4) aplikacja działa poprawnie. Ale kiedy sprawdzam za pomocą innego urządzenia (android 4.0.3), wyrzuca ono "Niestety, aplikacja Myapp przestała działać". Załączam mój plik dziennika poniżej. Nie wiem, jaki jest problem. Czy możesz dać mi sugestie dotyczące tego byłoby świetnie.Android Fatal signal 11 (SIGSEGV) at 0x00000040 (code = 1) Błąd

Log: 
I/Sample::SurfaceView( 746): Frame started with loop 
I/Sample::FdView( 746): processFrame with face and ok started! 
I/Sample::FdView( 746): area: 80089 
D/dalvikvm( 746): GC_FOR_ALLOC freed 1202K, 20% free 7337K/9159K, paused 51ms 
I/dalvikvm-heap( 746): Grow heap (frag case) to 8.496MB for 1228816-byte allocation 
D/dalvikvm( 746): GC_CONCURRENT freed <1K, 7% free 8537K/9159K, paused 2ms+4ms 
I/Sample::SurfaceView( 746): bmp.recycle() 
I/Sample::SurfaceView( 746): Frame started with loop 
I/Sample::FdView( 746): processFrame with face and ok started! 
I/Sample::FdView( 746): area: 83521 
D/dalvikvm( 746): GC_FOR_ALLOC freed 1202K, 20% free 7337K/9159K, paused 50ms 
I/dalvikvm-heap( 746): Grow heap (frag case) to 8.496MB for 1228816-byte allocation 
D/dalvikvm( 746): GC_CONCURRENT freed <1K, 7% free 8537K/9159K, paused 3ms+3ms 
I/Sample::SurfaceView( 746): bmp.recycle() 
I/Sample::SurfaceView( 746): Frame started with loop 
I/OpenCV_NativeCamera( 746): ### Camera FPS ### [2190] Frames, 9.10 FPS 
I/Sample::FdView( 746): processFrame with face and ok started! 
I/Sample::FdView( 746): area: 87025 
D/dalvikvm( 746): GC_FOR_ALLOC freed 1202K, 20% free 7337K/9159K, paused 30ms 
I/dalvikvm-heap( 746): Grow heap (frag case) to 8.495MB for 1228816-byte allocation 
F/libc ( 746): Fatal signal 11 (SIGSEGV) at 0x00000040 (code=1) 
I/wpa_supplicant( 421): [CTRL_IFACE]SIGNAL_POLL 
I/DEBUG ( 83): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 
I/DEBUG ( 83): Build fingerprint: 'softwinners/crane_q7/crane-q7:4.0.3/IML74K/20120709:eng/test-keys' 
I/DEBUG ( 83): pid: 746, tid: 747 >>> com.test.mailconf <<< 
I/DEBUG ( 83): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000040 
I/DEBUG ( 83): r0 00000020 r1 000106e0 r2 000106e0 r3 409d51e8 
I/DEBUG ( 83): r4 41140d88 r5 40896c58 r6 00000000 r7 000106e0 
I/DEBUG ( 83): r8 41140d00 r9 000106e0 10 41140e00 fp 40822394 
I/DEBUG ( 83): ip 00000011 sp 100ffdd0 lr 40811fc4 pc 40821fac cpsr 80000010 
I/DEBUG ( 83): d0 0000000000000000 d1 0000000000000000 
I/DEBUG ( 83): d2 0000000000000000 d3 0000000000000000 
I/DEBUG ( 83): d4 0000000000000000 d5 0000000000000000 
I/DEBUG ( 83): d6 0000000000000000 d7 0000000000000000 
I/DEBUG ( 83): d8 0000000000000000 d9 0000000000000000 
I/DEBUG ( 83): d10 0000000000000000 d11 0000000000000000 
I/DEBUG ( 83): d12 0000000000000000 d13 0000000000000000 
I/DEBUG ( 83): d14 0000000000000000 d15 0000000000000000 
I/DEBUG ( 83): d16 0000000000000000 d17 991f1f1f991f1f1f 
I/DEBUG ( 83): d18 0707070703030303 d19 0000000000000000 
I/DEBUG ( 83): d20 0100010001000100 d21 0100010001000100 
I/DEBUG ( 83): d22 0000000000000000 d23 0000000000000000 
I/DEBUG ( 83): d24 0000000000000000 d25 0000000000000000 
I/DEBUG ( 83): d26 0067006700670067 d27 0067006700670067 
I/DEBUG ( 83): d28 0067006700670067 d29 0067006700670067 
I/DEBUG ( 83): d30 00308000002b4000 d31 003b40000035c000 
I/DEBUG ( 83): scr 80000012 
I/DEBUG ( 83): 
I/DEBUG ( 83):   #00 pc 00042fac /system/lib/libdvm.so 
I/DEBUG ( 83):   #01 pc 00032fc0 /system/lib/libdvm.so (_Z21dvmHeapBitmapScanWalkP10HeapBitmapPFvP6ObjectPvS3_ES3_) 
I/DEBUG ( 83):   #02 pc 000433c4 /system/lib/libdvm.so (_Z24dvmHeapScanMarkedObjectsv) 
I/DEBUG ( 83):   #03 pc 00033694 /system/lib/libdvm.so (_Z25dvmCollectGarbageInternalPK6GcSpec) 
I/DEBUG ( 83):   #04 pc 0007ba40 /system/lib/libdvm.so 
I/DEBUG ( 83):   #05 pc 0005f656 /system/lib/libdvm.so 
I/DEBUG ( 83):   #06 pc 00012be4 /system/lib/libc.so (__thread_entry) 
I/DEBUG ( 83):   #07 pc 00012738 /system/lib/libc.so (pthread_create) 
I/DEBUG ( 83): 
I/DEBUG ( 83): code around pc: 
I/DEBUG ( 83): 40821f8c e1a04000 e59f01e0 e1a07001 e79f5000 [email protected] 
I/DEBUG ( 83): 40821f9c e5940000 e59530b0 e1500003 0a00003a ......0....P.:... 
I/DEBUG ( 83): 40821fac e590c020 e31c0101 0a000011 ebfffeb9 ............... 
I/DEBUG ( 83): 40821fbc e5940000 e5903020 e3130202 08bd81f0 ..... 0.......... 
I/DEBUG ( 83): 40821fcc e594e008 e2846010 e35e0000 08bd81f0 ......`....^..... 
I/DEBUG ( 83): 
I/DEBUG ( 83): code around lr: 
I/DEBUG ( 83): 40811fa4 e0888404 e16fcf16 e58d3004 e1a0100a .......o..0...... 
I/DEBUG ( 83): 40811fb4 e1a02009 e1c66c33 e088018c e12fff3b .. ..3l......;./. 
I/DEBUG ( 83): 40811fc4 e3560000 e59d3004 1afffff5 e5971010 ...V..0.......... 
I/DEBUG ( 83): 40811fd4 e597800c e068e001 e1a0142e e2844001 [email protected] 
I/DEBUG ( 83): 40811fe4 e2855c01 e1510004 2affffe7 e28dd00c ..\....Q....*.... 
I/DEBUG ( 83): 
I/DEBUG ( 83): stack: 
I/DEBUG ( 83):  100ffd90 00000000 
I/DEBUG ( 83):  100ffd94 40891f90 /system/lib/libdvm.so 
I/DEBUG ( 83):  100ffd98 000106e0 [heap] 
I/DEBUG ( 83):  100ffd9c 40f9af88 /dev/ashmem/dalvik-heap (deleted) 
I/DEBUG ( 83):  100ffda0 000106e0 [heap] 
I/DEBUG ( 83):  100ffda4 4115c378 /dev/ashmem/dalvik-heap (deleted) 
I/DEBUG ( 83):  100ffda8 1e000000 
I/DEBUG ( 83):  100ffdac 80000000 
I/DEBUG ( 83):  100ffdb0 40b6e980 /dev/ashmem/dalvik-heap (deleted) 
I/DEBUG ( 83):  100ffdb4 40821f28 /system/lib/libdvm.so 
I/DEBUG ( 83):  100ffdb8 4113fef8 /dev/ashmem/dalvik-heap (deleted) 
I/DEBUG ( 83):  100ffdbc 40896c58 /system/lib/libdvm.so 
I/DEBUG ( 83):  100ffdc0 4113ff28 /dev/ashmem/dalvik-heap (deleted) 
I/DEBUG ( 83):  100ffdc4 40896c58 /system/lib/libdvm.so 
I/DEBUG ( 83):  100ffdc8 df0027ad 
I/DEBUG ( 83):  100ffdcc 00000000 
I/DEBUG ( 83): #00 100ffdd0 000076bd 
I/DEBUG ( 83):  100ffdd4 0076be00 
I/DEBUG ( 83):  100ffdd8 00000000 
I/DEBUG ( 83):  100ffddc 0001079c [heap] 
I/DEBUG ( 83):  100ffde0 41140d00 /dev/ashmem/dalvik-heap (deleted) 
I/DEBUG ( 83):  100ffde4 40811fc4 /system/lib/libdvm.so 
I/DEBUG ( 83): #01 100ffde8 40896c58 /system/lib/libdvm.so 
I/DEBUG ( 83):  100ffdec 80000000 
I/DEBUG ( 83):  100ffdf0 ffffffff 
I/DEBUG ( 83):  100ffdf4 000106c8 [heap] 
I/DEBUG ( 83):  100ffdf8 000106e0 [heap] 
I/DEBUG ( 83):  100ffdfc 40891f90 /system/lib/libdvm.so 
I/DEBUG ( 83):  100ffe00 fffffe4c 
I/DEBUG ( 83):  100ffe04 7fffffff 
I/DEBUG ( 83):  100ffe08 00000000 
I/DEBUG ( 83):  100ffe0c 001187aa [heap] 
I/DEBUG ( 83):  100ffe10 40896c58 /system/lib/libdvm.so 
I/DEBUG ( 83):  100ffe14 408223c8 /system/lib/libdvm.so 
I/BootReceiver( 144): Copying /data/tombstones/tombstone_06 to DropBox (SYSTEM_TOMBSTONE) 
I/DEBUG ( 83): debuggerd committing suicide to free the zombie! 
E/PreviewWindow( 87): onNextFrameAvailableSW: Unable to dequeue preview window buffer: 32 -> Broken pipe 
W/PreviewWindow( 87): now undequeued: 0 
D/V4L2CameraDevice( 87): stopDevice 
D/CallbackNotifier( 87): storeMetaDataInBuffers, false 
W/InputDispatcher( 144): channel '412a85d8 com.test.mailconf/org.opencv.samples.fd.FdActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x8 
E/InputDispatcher( 144): channel '412a85d8 com.test.mailconf/org.opencv.samples.fd.FdActivity (server)' ~ Channel is unrecoverably broken and will be disposed! 
D/Zygote ( 85): Process 746 terminated by signal (11) 
I/DEBUG (1232): debuggerd: Jul 9 2012 16:58:08 
D/dalvikvm( 144): GC_FOR_ALLOC freed 504K, 13% free 8435K/9607K, paused 159ms 
D/V4L2CameraDevice( 87): cedarx_hardware_exit ok 
W/CameraService( 87): native_window_api_disconnect failed: Broken pipe (-32), api: 6 
I/CameraService( 87): Destroying camera 0 
D/CallbackNotifier( 87): storeMetaDataInBuffers, false 
W/AudioFlinger( 87): session id 10 not found for pid 87 
W/AudioFlinger( 87): session id 11 not found for pid 87 
I/ActivityManager( 144): Process com.test.mailconf (pid 746) has died. 
W/ActivityManager( 144): Force removing ActivityRecord{411a5a60 com.test.mailconf/org.opencv.samples.fd.FdActivity}: app died, no saved state 
I/WindowManager( 144): WIN DEATH: Window{41129938 com.test.mailconf/org.opencv.samples.fd.FdActivity paused=false} 
W/WindowManager( 144): Force-removing child win Window{4127d538 SurfaceView paused=false} from container Window{41129938 com.test.mailconf/org.opencv.samples.fd.FdActivity paused=false} 
W/InputDispatcher( 144): Attempted to unregister already unregistered input channel '412a85d8 com.test.mailconf/org.opencv.samples.fd.FdActivity (server)' 
I/WindowManager( 144): WIN DEATH: Window{412a85d8 com.test.mailconf/org.opencv.samples.fd.FdActivity paused=false} 
I/WindowManager( 144): WIN DEATH: Window{4117d5c0 paused=false} 
W/WindowManager( 144): Failed looking up window 
W/WindowManager( 144): java.lang.IllegalArgumentException: Requested window [email protected] does not exist 
W/WindowManager( 144): at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7156) 
W/WindowManager( 144): at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7147) 
W/WindowManager( 144): at com.android.server.wm.WindowState$DeathRecipient.binderDied(WindowState.java:1529) 
W/WindowManager( 144): at android.os.BinderProxy.sendDeathNotice(Binder..java:417) 
W/WindowManager( 144): at dalvik.system.NativeStart.run(Native Method) 
I/WindowManager( 144): WIN DEATH: null 
I/WindowManager( 144): WINDOW DIED Window{412a85d8 com.test.mailconf/org.opencv.samples.fd.FdActivity paused=false} 
D/Activity( 338): pckname = com.android.launcher mComponent = com.android.launcher2.Launcher 
I/wpa_supplicant( 421): [CTRL_IFACE]SIGNAL_POLL 

Odpowiedz

26

Uszkodzono. Oznacza to, że uzyskałeś dostęp do pamięci, do której nie masz legalnego dostępu. Adres jest bardzo niski, więc prawie na pewno jest to spowodowane usunięciem pustego wskaźnika lub próbą uzyskania dostępu do tablicy zerowej. Rzeczywista awaria ma miejsce w stadzie dalvik. W ten sposób przekazałeś wartość zerową do sterty lub nadpisałeś coś, z czego korzystała sterty.

Jest szansa, że ​​doszło do tego przez wywołanie JNI, które nadpisało pamięć, a myśl Dalvik została zwolniona i ponownie użyta.

+0

Dzięki za odpowiedź. Ten problem pojawia się tylko na urządzeniu z Androidem 4.0.3. Ale działa dobrze w urządzeniu Android 4.0.4. czy jest jakiś inny sposób, aby to naprawić? – SKK

+0

Gabe ma rację. W moim przypadku próbowałem manipulować obiektem, którego nie zdawałem sobie sprawy, wcześniej zresetowano do wartości zerowej. –

Powiązane problemy