2016-12-14 91 views
1

我得到以下错误,当我在我的应用程序上的按钮点击:错误A/libc的:在0x00000018致命信号11(SIGSEGV)(代码= 1)在SkPath

A/libc: Fatal signal 11 (SIGSEGV) at 0x00000018 (code=1), thread 11024 
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000018 
eax 00000000 ebx b7d117e8 ecx 00000001 edx b84242d8 
esi b84242d8 edi 00000000 
xcs 00000073 xds 0000007b xes 0000007b xfs 00000000 xss 0000007b 
eip b7b92bbc ebp bf844ca8 esp bf844c70 flags 00010286 
backtrace: 
#00 pc 000acbbc /system/lib/libskia.so (SkPath::SkPath(SkPath const&)+76) 
#01 pc 000ae775 /system/lib/libandroid_runtime.so (android::SkPathGlue::init2(_JNIEnv*, _jobject*, SkPath*)+53) 
#02 pc 0001aaa0 /system/lib/libdvm.so (dvmPlatformInvoke+80) 
#03 pc 00060408 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+232) 
#04 pc 00049a51 /system/lib/libdvm.so (dvmCheckCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+65) 
#05 pc 000c53c8 /system/lib/libdvm.so 
#06 pc 00028ff6 /system/lib/libdvm.so (dvmMterpStd(Thread*)+70) 
#07 pc 000261c0 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+160) 
#08 pc 00090ada /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+938) 
#09 pc 000a1a5a /system/lib/libdvm.so (Dalvik_java_lang_reflect_Method_invokeNative(unsigned int const*, JValue*)+282) 
#10 pc 000c53c8 /system/lib/libdvm.so 
#11 pc 00028ff6 /system/lib/libdvm.so (dvmMterpStd(Thread*)+70) 
#12 pc 000261c0 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+160) 
#13 pc 00091139 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, char*)+601) 
#14 pc 0006231a /system/lib/libdvm.so (CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, char*)+106) 
#15 pc 000421f4 /system/lib/libdvm.so (Check_CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, char*)+436) 
#16 pc 00051dba /system/lib/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+42) 
#17 pc 00053029 /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+969) 
#18 pc 000011f7 /system/bin/app_process (main+599) 
#19 pc 00016e7f /system/lib/libc.so (__libc_init+95) 

这是我得到,并且在我的应用程序堆栈跟踪中没有方法调用。所以很难弄清楚造成这次事故的原因。有很多类似于这个的stackoverflow问题,但不完全是这样。

我记录在这里,所以它可以帮助一个人得到这个确切的错误。

回答

1

如果仔细观察,Skia库中的本地库SkPath中会出现此错误。那是我第一个也是唯一的线索。因此,我在每个引用Path的语句中加入了一个调试点。我终于明白是什么导致了这个问题。这是下面一行:

final Path path = new Path(oldPath);

这是因为崩溃是oldPathnull。因此,崩溃。

相关问题