2013-01-24 35 views
14

Tôi đang làm việc trên một ứng dụng Android. Trong đó tôi đang sử dụng hình ảnh của người dùng (5 hình ảnh) (Sử dụng opencv2.4.2 camera với chức năng dò tìm khuôn mặt) và lưu vào cơ sở dữ liệu của tôi trong máy chủ bằng dịch vụ web. Đối với điều này tôi đang sử dụng mẫu phát hiện khuôn mặt Opencv2.4.2, Ksoap2 cho dịch vụ web. Trong ứng dụng giả lập giả lậpthiết bị (android 4.0.4) hoạt động tốt. Nhưng khi tôi kiểm tra với một thiết bị khác (android 4.0.3) nó ném "Thật không may, Myapp đã dừng". Tôi đã đính kèm tệp nhật ký của mình bên dưới. Tôi không biết vấn đề là gì. Bạn có thể cho tôi những gợi ý liên quan đến việc này hay không.Tín hiệu Android chết 11 (SIGSEGV) tại 0x00000040 (mã = 1) Lỗi

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 

Trả lời

26

Bạn segfaulted. Điều này có nghĩa là bạn đã truy cập bộ nhớ mà bạn không có quyền truy cập hợp pháp. Địa chỉ là rất thấp, do đó, nó gần như chắc chắn do dereferencing một con trỏ null hoặc cố gắng truy cập vào một mảng null. Vụ tai nạn thực sự xảy ra trong đống dalvik. Vì vậy, bằng cách nào đó bạn đã vượt qua một null để đống hoặc ghi đè một cái gì đó đống đã được sử dụng.

Rất có thể điều này xảy ra thông qua bộ nhớ ghi đè cuộc gọi JNI mà dalvik đã được phát hành và đã được sử dụng lại.

+0

Cảm ơn bạn đã trả lời. Vấn đề này chỉ đến trong thiết bị Android 4.0.3. Nhưng làm việc tốt trong thiết bị Android 4.0.4. có cách nào khác để sửa lỗi này không? – SKK

+0

Gabe là chính xác. Trong trường hợp của tôi, tôi đã cố gắng để thao tác một đối tượng mà tôi đã không nhận ra trước đó đã được thiết lập lại để null. –

Các vấn đề liên quan