I/ ( 3186): kehdev DeviceClient(442)select clients timeout.
D/ ( 3186): kehdev DeviceClient(616)ThreadName:ClientHandleDataThread,tid = 3201
D/ ( 3186): kehdev DeviceClient(302)getClientByType leave
I/ ( 3186): kehdev DeviceClient(398)the nummer of clients:3
D/ ( 3186): kehdev DeviceClient(239)clientThreadWait enter
D/ ( 3186): kehdev DeviceClient(245)clientThreadWait leave
D/ ( 3186): kehdev DeviceClient(430)rwFdcounts = 3
D/ ( 3186): kehdev DeviceClient(439)max_fd = 44
I/DEBUG ( 90): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 90): Build fingerprint: 'rk30sdk/rk30sdk/rk30sdk:4.2.2/JDQ39/eng.talents-tech.20130624.114114:eng/test-keys'
I/DEBUG ( 90): Revision: '0'
I/DEBUG ( 90): pid: 3186, tid: 3204, name: DataHandleThrea >>> com.kehdev <<<
I/DEBUG ( 90): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
I/DEBUG ( 90): r0 00000000 r1 62549628 r2 639ec060 r3 40898c98
I/DEBUG ( 90): r4 00000000 r5 62549628 r6 639ec060 r7 6991fd1c
I/DEBUG ( 90): r8 00000000 r9 00000000 sl 00000000 fp 40d87784
I/DEBUG ( 90): ip 40896334 sp 6991fcd8 lr 4083b313 pc 4083b316 cpsr 60000030
I/DEBUG ( 90): d0 68656b5f6d6f6329 d1 5f79656b5f766564
I/DEBUG ( 90): d2 635f656c646e6168 d3 206b6361626c6c61
I/DEBUG ( 90): d4 3ce2d8961a74af40 d5 3fb904a180000000
I/DEBUG ( 90): d6 bfcb10bdc0000000 d7 bf072b023f000000
I/DEBUG ( 90): d8 0000000000000000 d9 0000000000000000
I/DEBUG ( 90): d10 0000000000000000 d11 0000000000000000
I/DEBUG ( 90): d12 0000000000000000 d13 0000000000000000
I/DEBUG ( 90): d14 0000000000000000 d15 0000000000000000
I/DEBUG ( 90): d16 3fef9ead3707d300 d17 40283aee84476c3f
I/DEBUG ( 90): d18 3e56775ae7e7ab4e d19 3fe0000000000000
I/DEBUG ( 90): d20 3fe000000b3bad74 d21 bfadde9e917eeb8e
I/DEBUG ( 90): d22 3fb10db3c51891fb d23 bfb3b14d1bbcb26c
I/DEBUG ( 90): d24 3fb7463505808549 d25 bfbc723e38c3de0f
I/DEBUG ( 90): d26 3fc2496b07069ba2 d27 bfc999efb6d17050
I/DEBUG ( 90): d28 3fd5558cb1304bc3 d29 0000000000000000
I/DEBUG ( 90): d30 0000000000000000 d31 0000000000000000
I/DEBUG ( 90): scr 8000001c
I/DEBUG ( 90):
I/DEBUG ( 90): backtrace:
I/DEBUG ( 90): #00 pc 0004c316 /system/lib/libdvm.so
I/DEBUG ( 90): #01 pc 0000d030 /system/lib/libkehdevRuntime.so
I/DEBUG ( 90): #02 pc 0000d0f0 /system/lib/libkehdevRuntime.so (android::KehdevManager::com_kehdev_key_handle_callback(int)+172)
I/DEBUG ( 90): #03 pc 00007278 /system/lib/libkehdevRuntime.so (android::SensorDataHandleInterface::bachandleTouchKey(st_small_base_com_msg*)+456)
I/DEBUG ( 90): #04 pc 00006f74 /system/lib/libkehdevRuntime.so (android::SensorDataHandleInterface::handleTouchKey(st_small_base_com_msg*)+208)
I/DEBUG ( 90): #05 pc 000068b8 /system/lib/libkehdevRuntime.so (android::SensorDataHandleInterface::handleRawDeviceData(unsigned char*)+856)
I/DEBUG ( 90): #06 pc 00006c9c /system/lib/libkehdevRuntime.so (android::DataHandleThread::threadLoop()+144)
I/DEBUG ( 90): #07 pc 00011253 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+94)
I/DEBUG ( 90): #08 pc 000468af /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+66)
I/DEBUG ( 90): #09 pc 00010dcd /system/lib/libutils.so
I/DEBUG ( 90): #10 pc 0000e3d8 /system/lib/libc.so (__thread_entry+72)
I/DEBUG ( 90): #11 pc 0000dac4 /system/lib/libc.so (pthread_create+160)
I/DEBUG ( 90):
I/DEBUG ( 90): stack:
I/DEBUG ( 90): 6991fc98 00000000
I/DEBUG ( 90): 6991fc9c 651848d8
I/DEBUG ( 90): 6991fca0 0000002a
I/DEBUG ( 90): 6991fca4 40d7fa48 /system/lib/libkehdevRuntime.so (android::DeviceClient::writeFd(char*, int, int, char const*)+200)
I/DEBUG ( 90): 6991fca8 6991fd48
I/DEBUG ( 90): 6991fcac ffffffff
I/DEBUG ( 90): 6991fcb0 6991fce4
I/DEBUG ( 90): 6991fcb4 62549628 /dev/ashmem/dalvik-LinearAlloc (deleted)
I/DEBUG ( 90): 6991fcb8 639ec060
I/DEBUG ( 90): 6991fcbc 40838215 /system/lib/libdvm.so
I/DEBUG ( 90): 6991fcc0 6991fce4
I/DEBUG ( 90): 6991fcc4 639ec060
I/DEBUG ( 90): 6991fcc8 00000000
I/DEBUG ( 90): 6991fccc 62549628 /dev/ashmem/dalvik-LinearAlloc (deleted)
I/DEBUG ( 90): 6991fcd0 df0027ad
I/DEBUG ( 90): 6991fcd4 00000000
I/DEBUG ( 90): #00 6991fcd8 00000000
I/DEBUG ( 90): 6991fcdc 00000000
I/DEBUG ( 90): 6991fce0 00000000
I/DEBUG ( 90): 6991fce4 40c073c8
I/DEBUG ( 90): 6991fce8 00000000
I/DEBUG ( 90): 6991fcec 14d3a40d
I/DEBUG ( 90): 6991fcf0 6991fd14
I/DEBUG ( 90): 6991fcf4 01940120
I/DEBUG ( 90): 6991fcf8 639ec060
I/DEBUG ( 90): 6991fcfc 651366e4
I/DEBUG ( 90): 6991fd00 00000000
I/DEBUG ( 90): 6991fd04 40d82034 /system/lib/libkehdevRuntime.so
I/DEBUG ( 90): #01 6991fd08 01940120
I/DEBUG ( 90): 6991fd0c 6991fd1c
I/DEBUG ( 90): 6991fd10 651366e4
I/DEBUG ( 90): 6991fd14 40d820f4 /system/lib/libkehdevRuntime.so (android::KehdevManager::com_kehdev_key_handle_callback(int)+176)
I/DEBUG ( 90): 6991fd18 62549628 /dev/ashmem/dalvik-LinearAlloc (deleted)
I/DEBUG ( 90): 6991fd1c 01940120
I/DEBUG ( 90): #02 6991fd20 01940120
I/DEBUG ( 90): 6991fd24 00000001
I/DEBUG ( 90): 6991fd28 01940120
I/DEBUG ( 90): 6991fd2c 00000001
I/DEBUG ( 90): 6991fd30 00000000
I/DEBUG ( 90): 6991fd34 40d7c27c /system/lib/libkehdevRuntime.so (android::SensorDataHandleInterface::bachandleTouchKey(st_small_base_com_msg*)+460)
I/DEBUG ( 90):
I/DEBUG ( 90): memory near r1:
I/DEBUG ( 90): 62549608 0000007e 40d3761d 40d2f55c 00000000
I/DEBUG ( 90): 62549618 00000000 00000000 64e97008 00000000
I/DEBUG ( 90): 62549628 41280510 00000001 000b0092 00020003
I/DEBUG ( 90): 62549638 40d3860b 64cdae08 0000004b 40d375c8
I/DEBUG ( 90): 62549648 40d2f5f0 00000000 00000000 00000000
I/DEBUG ( 90): 62549658 64b397f8 00000000 41280510 00000001
I/DEBUG ( 90): 62549668 00050093 00010002 40d386db 64cdae08
I/DEBUG ( 90): 62549678 0000004a 40d375c5 40d2fac0 00000000
I/DEBUG ( 90): 62549688 00000000 00000000 652740a0 00000000
I/DEBUG ( 90): 62549698 41280510 00000001 00020094 00010000
I/DEBUG ( 90): 625496a8 40d386e7 64cdae08 0000004a 40d375c5
8 个解决方案
#1
类似错误,如何分析,求指点
#2
用一工具解析该段log,输出一下提示,不知道该如何理解这个提示:
BFD: 小错误: 行号段出错.
DexDataMap.cpp:0 _ZL19Check_CallIntMethodP7_JNIEnvP8_jobjectP10_jmethodIDz
BFD: 小错误: 行号段出错.
libgcc2.c:0 _ZN7androidL11send_reportEiPKcj.clone.0
BFD: 小错误: 行号段出错.
DexDataMap.cpp:0 _ZL19Check_CallIntMethodP7_JNIEnvP8_jobjectP10_jmethodIDz
BFD: 小错误: 行号段出错.
libgcc2.c:0 _ZN7androidL11send_reportEiPKcj.clone.0
#3
死在库里了,一般这种情况我都是在可疑的地方多打印几条log,把有关的一些值打印出来看。慢慢缩小范围。
#4
找到死在那个地方了,但是我不知道怎么解决,代码如下:
int iKeyBoardMode = 0;
int state = 0;
state = keyInfo & 0xff;
iKeyBoardMode = (keyInfo >> 24) & 0xff;
if(iKeyBoardMode == 2 || state == 2 || state == 32)
{
AutoMutex _l(mLock);
JNIEnv* env = NULL;
// gUsbHostServInfo.g_vm->AttachCurrentThread(&env, NULL);
env = jniEnv();
LOGDI("key call back");
if(env == NULL) {
LOGDE("can't get env.");
return ;
}
env->CallVoidMethod(gKeyHandleInfo.nativeKeyHandleObj,gKeyHandleInfo.handleKey,(jint)keyInfo);
if (env->ExceptionCheck()) {
LOGDE("An exception was thrown by callback '%s'.", "handleKey");
// LOGE_EX(env);
env->ExceptionClear();
}
// gUsbHostServInfo.g_vm->DetachCurrentThread();
}
int iKeyBoardMode = 0;
int state = 0;
state = keyInfo & 0xff;
iKeyBoardMode = (keyInfo >> 24) & 0xff;
if(iKeyBoardMode == 2 || state == 2 || state == 32)
{
AutoMutex _l(mLock);
JNIEnv* env = NULL;
// gUsbHostServInfo.g_vm->AttachCurrentThread(&env, NULL);
env = jniEnv();
LOGDI("key call back");
if(env == NULL) {
LOGDE("can't get env.");
return ;
}
env->CallVoidMethod(gKeyHandleInfo.nativeKeyHandleObj,gKeyHandleInfo.handleKey,(jint)keyInfo);
if (env->ExceptionCheck()) {
LOGDE("An exception was thrown by callback '%s'.", "handleKey");
// LOGE_EX(env);
env->ExceptionClear();
}
// gUsbHostServInfo.g_vm->DetachCurrentThread();
}
#5
在调用CallVoidMethod时出错,这个函数的作用是在native层,当符合要求的数据要给java层来处理,我按照android inputmanage中callback的方式,在c++调用java层接口,但是程序运行时,有30分钟能正常运行,运行一段时间后出现atal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 3204 (DataHandleThrea),本地库中是有一个线程,在线程中调用java层的接口;在开始运行是,把java层的对象传递给了native并通过env->NewGlobalRef(keyhandcallbackObj);进行保存了
#6
怎么没有人回复?怎样做才有人回复,之前没发过帖子
#7
我也回答不出来
#8
楼主,你这个问题解决了吗?
#1
类似错误,如何分析,求指点
#2
用一工具解析该段log,输出一下提示,不知道该如何理解这个提示:
BFD: 小错误: 行号段出错.
DexDataMap.cpp:0 _ZL19Check_CallIntMethodP7_JNIEnvP8_jobjectP10_jmethodIDz
BFD: 小错误: 行号段出错.
libgcc2.c:0 _ZN7androidL11send_reportEiPKcj.clone.0
BFD: 小错误: 行号段出错.
DexDataMap.cpp:0 _ZL19Check_CallIntMethodP7_JNIEnvP8_jobjectP10_jmethodIDz
BFD: 小错误: 行号段出错.
libgcc2.c:0 _ZN7androidL11send_reportEiPKcj.clone.0
#3
死在库里了,一般这种情况我都是在可疑的地方多打印几条log,把有关的一些值打印出来看。慢慢缩小范围。
#4
找到死在那个地方了,但是我不知道怎么解决,代码如下:
int iKeyBoardMode = 0;
int state = 0;
state = keyInfo & 0xff;
iKeyBoardMode = (keyInfo >> 24) & 0xff;
if(iKeyBoardMode == 2 || state == 2 || state == 32)
{
AutoMutex _l(mLock);
JNIEnv* env = NULL;
// gUsbHostServInfo.g_vm->AttachCurrentThread(&env, NULL);
env = jniEnv();
LOGDI("key call back");
if(env == NULL) {
LOGDE("can't get env.");
return ;
}
env->CallVoidMethod(gKeyHandleInfo.nativeKeyHandleObj,gKeyHandleInfo.handleKey,(jint)keyInfo);
if (env->ExceptionCheck()) {
LOGDE("An exception was thrown by callback '%s'.", "handleKey");
// LOGE_EX(env);
env->ExceptionClear();
}
// gUsbHostServInfo.g_vm->DetachCurrentThread();
}
int iKeyBoardMode = 0;
int state = 0;
state = keyInfo & 0xff;
iKeyBoardMode = (keyInfo >> 24) & 0xff;
if(iKeyBoardMode == 2 || state == 2 || state == 32)
{
AutoMutex _l(mLock);
JNIEnv* env = NULL;
// gUsbHostServInfo.g_vm->AttachCurrentThread(&env, NULL);
env = jniEnv();
LOGDI("key call back");
if(env == NULL) {
LOGDE("can't get env.");
return ;
}
env->CallVoidMethod(gKeyHandleInfo.nativeKeyHandleObj,gKeyHandleInfo.handleKey,(jint)keyInfo);
if (env->ExceptionCheck()) {
LOGDE("An exception was thrown by callback '%s'.", "handleKey");
// LOGE_EX(env);
env->ExceptionClear();
}
// gUsbHostServInfo.g_vm->DetachCurrentThread();
}
#5
在调用CallVoidMethod时出错,这个函数的作用是在native层,当符合要求的数据要给java层来处理,我按照android inputmanage中callback的方式,在c++调用java层接口,但是程序运行时,有30分钟能正常运行,运行一段时间后出现atal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 3204 (DataHandleThrea),本地库中是有一个线程,在线程中调用java层的接口;在开始运行是,把java层的对象传递给了native并通过env->NewGlobalRef(keyhandcallbackObj);进行保存了
#6
怎么没有人回复?怎样做才有人回复,之前没发过帖子
#7
我也回答不出来
#8
楼主,你这个问题解决了吗?