2013-01-24 2 views
14

나는 안드로이드 응용 프로그램에서 일하고 있습니다. 사용자 사진 이미지 (5 개 이미지)를 얻고 있습니다 (opencv2.4.2 카메라, 얼굴 인식 기능 포함). 웹 서비스를 사용하여 서버의 내 데이터베이스에 저장합니다. 이를 위해 Opencv2.4.2 얼굴 검출 샘플 Ksoap2을 사용하고 있습니다. 내 안드로이드에 에뮬레이터장치 (안드로이드 4.0.4) 응용 프로그램이 잘 작동합니다. 하지만 다른 장치 (android 4.0.3)로 확인하면 "불행히도 Myapp가 중지되었습니다"이 표시됩니다. 아래 로그 파일을 첨부했습니다. 나는 그 문제가 뭔지 모른다. 이 점에 관해 제게 제안 해 주시겠습니까?안드로이드 치명적인 신호 11 (SIGSEGV) 0x00000040 (code = 1) 오류

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 

답변

26

당신은 segfaulted입니다. 즉, 합법적 인 액세스 권한이없는 메모리에 액세스 한 것입니다. 주소가 매우 낮으므로 널 포인터를 역 참조하거나 널 배열에 액세스하려고했기 때문에 거의 확실합니다. dalvik heap에서 실제 충돌이 발생합니다. 그래서 어떻게 든 힙에 null을 넘겼거나 힙이 사용하고있는 것을 덮어 썼습니다.

dalvik이 릴리스되어 다시 사용 된 JNI 호출 덮어 쓰기 메모리를 통해 발생했을 가능성이 있습니다.

+0

답장을 보내 주셔서 감사합니다. 이 문제는 안드로이드 4.0.3 장치에서만 발생합니다. 하지만 안드로이드 4.0.4 장치에서 잘 작동합니다. 이 문제를 해결할 다른 방법이 있습니까? – SKK

+0

게이브가 정확합니다. 제 경우에는 이전에 null로 리셋 된 것을 모르는 개체를 조작하려고했습니다. –

관련 문제