batuman
batuman

Reputation: 7304

Android program crash with signal 11 and fault address

I searched and found a lot of signal 11 reports, but can't make conclusion for my problem. So I posed again. I have a problem with signal 11 and fault address. I checked stack message and the problem happened inside a recursive function ClassifyCase(). According to Stack frame #00, the error happened at cascadedetect.cpp:1394, that is recursive call of the ClassifyCase() function. Since calling to the ClassifyCase() didn't have problem in the earlier recursive call, I am sure ClassifyCase() doesn't have problem. That fault address happened at different places for different time of running the program. If so, what could be the problem and why I have fault address?

Is that running out of memory problem (memory not enough)?

The function is as follow:

void CascadeClassifier::ClassifyCase(Tree_m Subtree, float Weight, float *LowClassSum, float *ClassSum)
{
}

The message is as follow:

C:\NNN\adt\ndk>adb logcat | ndk-stack -sym C:\NNN\TEST\TESTPeopleCount
\obj\local\armeabi
********** Crash dump: **********
Build fingerprint: 'TEST/iFrame51/iFrame51:2.3.3/R10.3.2_3/eng.ct.20120725.
172301:user/test-keys'
pid: 4091, tid: 4103  >>> com.prg.TESTpeoplecount <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000008
Stack frame #00  pc 00095ed0  /data/data/com.prg.TESTpeoplecount/lib/libusb
_camera_simple_native.so: Routine cv::CascadeClassifier::ClassifyCase(cv::Cascad
eClassifier::_tree_branch_m*, float, float*, float*) at C:\NNN\TEST\Astrali
nkPeopleCount/jni/cascadedetect.cpp:1394
Stack frame #01  pc 00096374  /data/data/com.prg.TESTpeoplecount/lib/libusb
_camera_simple_native.so: Routine cv::CascadeClassifier::ClassifyCase(cv::Cascad
eClassifier::_tree_branch_m*, float, float*, float*) at C:\NNN\TEST\Astrali
nkPeopleCount/jni/cascadedetect.cpp:1436
Stack frame #02  pc 0009641c  /data/data/com.prg.TESTpeoplecount/lib/libusb
_camera_simple_native.so: Routine cv::CascadeClassifier::ClassifyCase(cv::Cascad
eClassifier::_tree_branch_m*, float, float*, float*) at C:\NNN\TEST\Astrali
nkPeopleCount/jni/cascadedetect.cpp:1444
Stack frame #03  pc 00096374  /data/data/com.prg.TESTpeoplecount/lib/libusb
_camera_simple_native.so: Routine cv::CascadeClassifier::ClassifyCase(cv::Cascad
eClassifier::_tree_branch_m*, float, float*, float*) at C:\NNN\TEST\Astrali
nkPeopleCount/jni/cascadedetect.cpp:1436
Stack frame #04  pc 0009641c  /data/data/com.prg.TESTpeoplecount/lib/libusb
_camera_simple_native.so: Routine cv::CascadeClassifier::ClassifyCase(cv::Cascad
eClassifier::_tree_branch_m*, float, float*, float*) at C:\NNN\TEST\Astrali
nkPeopleCount/jni/cascadedetect.cpp:1444
Stack frame #05  pc 00096374  /data/data/com.prg.TESTpeoplecount/lib/libusb
_camera_simple_native.so: Routine cv::CascadeClassifier::ClassifyCase(cv::Cascad
eClassifier::_tree_branch_m*, float, float*, float*) at C:\NNN\TEST\Astrali
nkPeopleCount/jni/cascadedetect.cpp:1436
Stack frame #06  pc 00096374  /data/data/com.prg.TESTpeoplecount/lib/libusb
_camera_simple_native.so: Routine cv::CascadeClassifier::ClassifyCase(cv::Cascad
eClassifier::_tree_branch_m*, float, float*, float*) at C:\NNN\TEST\Astrali
nkPeopleCount/jni/cascadedetect.cpp:1436
Stack frame #07  pc 0009641c  /data/data/com.prg.TESTpeoplecount/lib/libusb
_camera_simple_native.so: Routine cv::CascadeClassifier::ClassifyCase(cv::Cascad
eClassifier::_tree_branch_m*, float, float*, float*) at C:\NNN\TEST\Astrali
nkPeopleCount/jni/cascadedetect.cpp:1444
Stack frame #08  pc 0009641c  /data/data/com.prg.TESTpeoplecount/lib/libusb
_camera_simple_native.so: Routine cv::CascadeClassifier::ClassifyCase(cv::Cascad
eClassifier::_tree_branch_m*, float, float*, float*) at C:\NNN\TEST\Astrali
nkPeopleCount/jni/cascadedetect.cpp:1444
Stack frame #09  pc 00096374  /data/data/com.prg.TESTpeoplecount/lib/libusb
_camera_simple_native.so: Routine cv::CascadeClassifier::ClassifyCase(cv::Cascad
eClassifier::_tree_branch_m*, float, float*, float*) at C:\NNN\TEST\Astrali
nkPeopleCount/jni/cascadedetect.cpp:1436
Stack frame #10  pc 0009641c  /data/data/com.prg.TESTpeoplecount/lib/libusb
_camera_simple_native.so: Routine cv::CascadeClassifier::ClassifyCase(cv::Cascad
eClassifier::_tree_branch_m*, float, float*, float*) at C:\NNN\TEST\Astrali
nkPeopleCount/jni/cascadedetect.cpp:1444

Upvotes: 0

Views: 945

Answers (1)

Eli Rising
Eli Rising

Reputation: 485

I see a SEGV-MAPERR. It could be related to out of memory, try adding large-heap to your manifest.

Upvotes: 1

Related Questions