Application crashed after fatal signal 11 (SIGSEGV) at 0x00000020 (code = 1) - Android

I work in one Android application. In my application, I collect images using the opencv native camera. When I open the camera to capture the image, the application crashed. Log file showing "Fatal Signal 11 (SIGSEGV) at 0x00000020 (code = 1)." I do not know why it crashed. Can someone tell me what could be the problem? This code works in an emulator. But when I use the device, it crashed. Iam using pattern recognition of boundary points. Below is a snippet of code,

/** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { Log.i(TAG, "onCreate"); super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); Log.i(TAG, "Trying to load OpenCV library"); if (!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_2, this, mOpenCVCallBack)) { Log.e(TAG, "Cannot connect to OpenCV Manager"); } } private BaseLoaderCallback mOpenCVCallBack = new BaseLoaderCallback(this) { @Override public void onManagerConnected(int status) { switch (status) { case LoaderCallbackInterface.SUCCESS: { Log.i(TAG, "OpenCV loaded successfully"); // Load native libs after OpenCV initialization System.loadLibrary("detection_based_tracker"); // Create and set View mView = new FdView(mAppContext); mView.setDetectorType(mDetectorType); mView.setMinFaceSize(0.2f); setContentView(mView); // Check native OpenCV camera if( !mView.openCamera() ) { AlertDialog ad = new AlertDialog.Builder(mAppContext).create(); ad.setCancelable(false); // This blocks the 'BACK' button ad.setMessage("Fatal error: can't open camera!"); ad.setButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); finish(); } }); ad.show(); } } break; default: { super.onManagerConnected(status); } break; } } }; public FdView(Context context) { super(context); try { InputStream is = context.getResources().openRawResource(R.raw.lbpcascade_frontalface); File cascadeDir = context.getDir("cascade", Context.MODE_PRIVATE); mCascadeFile = new File(cascadeDir, "lbpcascade_frontalface.xml"); FileOutputStream os = new FileOutputStream(mCascadeFile); byte[] buffer = new byte[4096]; int bytesRead; while ((bytesRead = is.read(buffer)) != -1) { os.write(buffer, 0, bytesRead); } is.close(); os.close(); mJavaDetector = new CascadeClassifier(mCascadeFile.getAbsolutePath()); if (mJavaDetector.empty()) { Log.e(TAG, "Failed to load cascade classifier"); mJavaDetector = null; } else Log.i(TAG, "Loaded cascade classifier from " + mCascadeFile.getAbsolutePath()); mNativeDetector = new DetectionBasedTracker(mCascadeFile.getAbsolutePath(), 0); cascadeDir.delete(); } catch (IOException e) { e.printStackTrace(); Log.e(TAG, "Failed to load cascade. Exception thrown: " + e); } } @Override protected Bitmap processFrame(VideoCapture capture) { capture.retrieve(mRgba, Highgui.CV_CAP_ANDROID_COLOR_FRAME_RGBA); capture.retrieve(mGray, Highgui.CV_CAP_ANDROID_GREY_FRAME); if (mAbsoluteFaceSize == 0) { int height = mGray.rows(); if (Math.round(height * mRelativeFaceSize) > 0); { mAbsoluteFaceSize = Math.round(height * mRelativeFaceSize); } mNativeDetector.setMinFaceSize(mAbsoluteFaceSize); } MatOfRect faces = new MatOfRect(); if (mDetectorType == JAVA_DETECTOR) { if (mJavaDetector != null) mJavaDetector.detectMultiScale(mGray, faces, 1.1, 2, 2 // TODO: objdetect.CV_HAAR_SCALE_IMAGE , new Size(mAbsoluteFaceSize, mAbsoluteFaceSize), new Size()); } else if (mDetectorType == NATIVE_DETECTOR) { if (mNativeDetector != null) mNativeDetector.detect(mGray, faces); } else { Log.e(TAG, "Detection method is not selected!"); } Rect[] facesArray = faces.toArray(); for (int i = 0; i < facesArray.length; i++) Core.rectangle(mRgba, facesArray[i].tl(), facesArray[i].br(), FACE_RECT_COLOR, 3); Bitmap bmp = Bitmap.createBitmap(mRgba.cols(), mRgba.rows(), Bitmap.Config.ARGB_8888); try { Utils.matToBitmap(mRgba, bmp); } catch(Exception e) { Log.e(TAG, "Utils.matToBitmap() throws an exception: " + e.getMessage()); bmp.recycle(); bmp = null; } return bmp; } 

The log is shown below.

 I/dalvikvm-heap( 688): Grow heap (frag case) to 7.827MB for 1228816-byte allocation D/dalvikvm( 688): GC_CONCURRENT freed <1K, 12% free 7852K/8839K, paused 2ms+2ms D/dalvikvm( 688): GC_FOR_ALLOC freed 1200K, 25% free 6652K/8839K, paused 24ms I/dalvikvm-heap( 688): Grow heap (frag case) to 7.827MB for 1228816-byte allocation F/libc ( 688): Fatal signal 11 (SIGSEGV) at 0x00000020 (code=1) 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: 688, tid: 690 >>> com.user.mailconf <<< I/DEBUG ( 83): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000020 I/DEBUG ( 83): r0 00000000 r1 000106e0 r2 000106e0 r3 40a091e8 I/DEBUG ( 83): r4 50a090f8 r5 408d3c58 r6 00000000 r7 000106e0 I/DEBUG ( 83): r8 50a09000 r9 000106e0 10 50a09100 fp 4085f394 I/DEBUG ( 83): ip 0000001f sp 100ffdd0 lr 4084efc4 pc 4085efac 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): 4085ef8c e1a04000 e59f01e0 e1a07001 e79f5000 .@.......p...P.. I/DEBUG ( 83): 4085ef9c e5940000 e59530b0 e1500003 0a00003a .....0....P.:... I/DEBUG ( 83): 4085efac e590c020 e31c0101 0a000011 ebfffeb9 ............... I/DEBUG ( 83): 4085efbc e5940000 e5903020 e3130202 08bd81f0 .... 0.......... I/DEBUG ( 83): 4085efcc e594e008 e2846010 e35e0000 08bd81f0 .....`....^..... I/DEBUG ( 83): I/DEBUG ( 83): code around lr: I/DEBUG ( 83): 4084efa4 e0888404 e16fcf16 e58d3004 e1a0100a ......o..0...... I/DEBUG ( 83): 4084efb4 e1a02009 e1c66c33 e088018c e12fff3b . ..3l......;./. I/DEBUG ( 83): 4084efc4 e3560000 e59d3004 1afffff5 e5971010 ..V..0.......... I/DEBUG ( 83): 4084efd4 e597800c e068e001 e1a0142e e2844001 ......h......@.. I/DEBUG ( 83): 4084efe4 e2855c01 e1510004 2affffe7 e28dd00c .\....Q....*.... I/DEBUG ( 83): I/DEBUG ( 83): stack: I/DEBUG ( 83): 100ffd90 00000000 I/DEBUG ( 83): 100ffd94 408cef90 /system/lib/libdvm.so I/DEBUG ( 83): 100ffd98 000106e0 [heap] I/DEBUG ( 83): 100ffd9c 40fdc538 /dev/ashmem/dalvik-heap (deleted) I/DEBUG ( 83): 100ffda0 000106e0 [heap] I/DEBUG ( 83): 100ffda4 41165c10 /dev/ashmem/dalvik-heap (deleted) I/DEBUG ( 83): 100ffda8 00000000 I/DEBUG ( 83): 100ffdac 80000000 I/DEBUG ( 83): 100ffdb0 40a0a0b8 /dev/ashmem/dalvik-heap (deleted) I/DEBUG ( 83): 100ffdb4 4085ef28 /system/lib/libdvm.so I/DEBUG ( 83): 100ffdb8 41165bf0 /dev/ashmem/dalvik-heap (deleted) I/DEBUG ( 83): 100ffdbc 408d3c58 /system/lib/libdvm.so I/DEBUG ( 83): 100ffdc0 4116c158 /dev/ashmem/dalvik-heap (deleted) I/DEBUG ( 83): 100ffdc4 408d3c58 /system/lib/libdvm.so I/DEBUG ( 83): 100ffdc8 df0027ad I/DEBUG ( 83): 100ffdcc 00000000 I/DEBUG ( 83): #00 100ffdd0 00100000 [heap] I/DEBUG ( 83): 100ffdd4 10000100 I/DEBUG ( 83): 100ffdd8 00000000 I/DEBUG ( 83): 100ffddc 0001079c [heap] I/DEBUG ( 83): 100ffde0 50a09000 I/DEBUG ( 83): 100ffde4 4084efc4 /system/lib/libdvm.so I/DEBUG ( 83): #01 100ffde8 408d3c58 /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 408cef90 /system/lib/libdvm.so I/DEBUG ( 83): 100ffe00 fffffe4c I/DEBUG ( 83): 100ffe04 7fffffff I/DEBUG ( 83): 100ffe08 00000000 I/DEBUG ( 83): 100ffe0c 0008b5db [heap] I/DEBUG ( 83): 100ffe10 408d3c58 /system/lib/libdvm.so I/DEBUG ( 83): 100ffe14 4085f3c8 /system/lib/libdvm.so I/DEBUG ( 992): debuggerd: Jul 9 2012 16:58:08 I/ActivityManager( 144): Process com.user.mailconf (pid 688) has died. W/ActivityManager( 144): Force removing ActivityRecord{412fd3f8 com.user.mailconf/org.opencv.samples.fd.FdActivity}: app died, no saved state D/V4L2CameraDevice( 87): stopDevice D/CallbackNotifier( 87): storeMetaDataInBuffers, false I/WindowManager( 144): WIN DEATH: Window{41274608 com.user.mailconf/org.opencv.samples.fd.FdActivity paused=false} W/WindowManager( 144): Force-removing child win Window{4133c958 SurfaceView paused=false} from container Window{41274608 com.user.mailconf/org.opencv.samples.fd.FdActivity paused=false} D/Zygote ( 85): Process 688 terminated by signal (11) I/WindowManager( 144): MediaPlayer.is not PlayingVideo W/WindowManager( 144): Failed looking up window W/WindowManager( 144): java.lang.IllegalArgumentException: Requested window android.os.BinderProxy@4119ca18 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 V/TabletStatusBar( 210): setLightsOn(true) 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 7 not found for pid 87 W/AudioFlinger( 87): session id 8 not found for pid 87 D/dalvikvm( 337): GC_FOR_ALLOC freed 162K, 35% free 7073K/10823K, paused 26ms W/InputManagerService( 144): Got RemoteException sending setActive(false) notification to pid 688 uid 10038 D/dalvikvm( 337): GC_FOR_ALLOC freed 267K, 35% free 7128K/10823K, paused 24ms I/WindowManager( 144): MediaPlayer.is not PlayingVideo I/wpa_supplicant( 455): [CTRL_IFACE]SIGNAL_POLL D/dalvikvm( 337): GC_CONCURRENT freed <1K, 31% free 7536K/10823K, paused 3ms+5ms D/dalvikvm( 337): GC_FOR_ALLOC freed 654K, 33% free 7322K/10823K, paused 26ms I/dalvikvm-heap( 337): Grow heap (frag case) to 8.533MB for 1286224-byte allocation D/dalvikvm( 337): GC_FOR_ALLOC freed 2K, 21% free 8575K/10823K, paused 24ms D/dalvikvm( 337): GC_CONCURRENT freed 60K, 18% free 8964K/10823K, paused 2ms+4ms D/dalvikvm( 337): GC_CONCURRENT freed 2240K, 28% free 7843K/10823K, paused 2ms+3ms I/WindowManager( 144): MediaPlayer.is not PlayingVideo I/WindowManager( 144): MediaPlayer.is not PlayingVideo I/wpa_supplicant( 455): [CTRL_IFACE]SIGNAL_POLL I/ActivityManager( 144): START {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.user.mailconf/.activity.Accounts} from pid 337 D/ViewRootImpl( 144): pckname = com.user.mailconf D/dalvikvm( 993): Late-enabling CheckJNI I/ActivityManager( 144): Start proc com.user.mailconf for activity com.user.mailconf/.activity.Accounts: pid=993 uid=10038 gids={3003, 1015, 1006} I/dalvikvm( 993): Turning on JNI app bug workarounds for target SDK version 8... D/OpenGLRenderer( 337): Flushing caches (mode 1) D/dalvikvm( 85): GC_EXPLICIT freed 37K, 7% free 5611K/6019K, paused 3ms+37ms D/OpenGLRenderer( 337): Flushing caches (mode 0) D/dalvikvm( 85): GC_EXPLICIT freed <1K, 7% free 5611K/6019K, paused 3ms+10ms D/dalvikvm( 85): GC_EXPLICIT freed <1K, 7% free 5611K/6019K, paused 7ms+4ms I/ActivityThread( 993): Pub com.user.mailconf.messageprovider: com.user.mailconf.provider.MessageProvider I/HubMail ( 993): Loading preferences from DB into Storage D/dalvikvm( 993): GC_CONCURRENT freed 169K, 6% free 5929K/6279K, paused 2ms+9ms I/HubMail ( 993): Preferences load took 45ms I/wpa_supplicant( 455): [CTRL_IFACE]SIGNAL_POLL 
+4
source share

All Articles