信号11(SIGSEGV),代码1(SEGV_MAPERR),故障地址0x7f4485ff1820

时间:2017-12-15 17:08:55

标签: android segmentation-fault sigsegv

我的应用程序随信号11随机崩溃。我能够从模拟器获取墓碑文件,但我无法理解我的应用程序有什么问题。我在这里经历了很多相同的错误,但还没有找到可行的解决方案。我在这里附上我的堆栈跟踪文件,请帮助我理解问题以及如何解决它。

这是来自崩溃的logcat

                --------- beginning of crash
12-15 21:09:25.003 2865-2875/in.myapp.dev A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x7f4485ff1820 in tid 2875 (FinalizerDaemon)
12-15 21:09:25.006 2865-2878/in.myapp.dev I/art: Background partial concurrent mark sweep GC freed 35304(2MB) AllocSpace objects, 13(531KB) LOS objects, 22% free, 13MB/17MB, paused 355us total 119.765ms
12-15 21:09:25.180 1128-1128/? I/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
12-15 21:09:25.180 1128-1128/? I/DEBUG: Build fingerprint: 'Android/sdk_google_phone_x86_64/generic_x86_64:5.1.1/LMY48X/3287191:userdebug/test-keys'
12-15 21:09:25.180 1128-1128/? I/DEBUG: Revision: '0'
12-15 21:09:25.180 1128-1128/? I/DEBUG: ABI: 'x86_64'
12-15 21:09:25.180 1128-1128/? I/DEBUG: pid: 2865, tid: 2875, name: FinalizerDaemon  >>> in.myapp.dev <<<
12-15 21:09:25.180 1128-1128/? I/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x7f4485ff1820
12-15 21:09:25.392 1128-1128/? I/DEBUG:     rax 00007f249892b630  rbx 0000000400000004  rcx 0000000000000000  rdx 00007f2499620520
12-15 21:09:25.392 1128-1128/? I/DEBUG:     rsi 0000000000000001  rdi 00007f249cf462c0
12-15 21:09:25.392 1128-1128/? I/DEBUG:     r8  0000000000000055  r9  00007f249892b300  r10 00007f249892b630  r11 00007f249892b641
12-15 21:09:25.393 1128-1128/? I/DEBUG:     r12 00007f249892b630  r13 00007f2485ff1800  r14 0000000000000001  r15 00000000132baf60
12-15 21:09:25.393 1128-1128/? I/DEBUG:     cs  0000000000000033  ss  000000000000002b
12-15 21:09:25.393 1128-1128/? I/DEBUG:     rip 00007f249cf2501a  rbp 00007f2499620520  rsp 00007f249892b630  eflags 0000000000010202
12-15 21:09:25.393 1128-1128/? I/DEBUG: backtrace:
12-15 21:09:25.393 1128-1128/? I/DEBUG:     #00 pc 000000000004501a  /system/lib64/libbinder.so (android::Parcel::releaseObjects()+58)
12-15 21:09:25.393 1128-1128/? I/DEBUG:     #01 pc 000000000004510c  /system/lib64/libbinder.so (android::Parcel::freeDataNoInit()+44)
12-15 21:09:25.393 1128-1128/? I/DEBUG:     #02 pc 00000000000f1c40  /system/lib64/libandroid_runtime.so
12-15 21:09:25.393 1128-1128/? I/DEBUG:     #03 pc 0000000000021de9  /data/dalvik-cache/x86_64/system@framework@boot.oat
12-15 21:09:26.256 1128-1128/? I/DEBUG: Tombstone written to: /data/tombstones/tombstone_00
12-15 21:09:26.470 1556-4425/system_process W/ActivityManager:   Force finishing activity 1 in.myapp.dev/com.myapp.dev.ui.activities.MainLandingActivity
12-15 21:09:26.479 1556-1577/system_process D/Atlas: Validating map...
12-15 21:09:26.523 1556-1570/system_process I/WindowState: WIN DEATH: Window{1762341d u0 in.myapp.dev/com.myapp.dev.ui.activities.SplashActivity}
12-15 21:09:26.547 1556-1571/system_process I/WindowState: WIN DEATH: Window{63c6f2e u0 in.myapp.dev/com.myapp.dev.ui.activities.MainLandingActivity}
12-15 21:09:26.551 1556-2114/system_process I/WindowState: WIN DEATH: Window{ba26c8d u0 in.myapp.dev}
12-15 21:09:26.552 1556-1838/system_process I/WindowState: WIN DEATH: Window{97dfeaf u0 in.myapp.dev/com.myapp.dev.ui.activities.OrganisationActivity}
12-15 21:09:26.555 1135-1135/? I/Zygote: Process 2865 exited due to signal (11)

这是tombstone文件的链接。 Drive link

1 个答案:

答案 0 :(得分:3)

所以对我来说,问题是用Gson解析Google的Location对象。我创建了自己的SimpleLocation对象,它解决了这个问题。 Google的Location对象随机抛出Signal 11错误并随机崩溃。

以下是更好解释https://github.com/e-mission/e-mission-data-collection/issues/49

的类似问题的链接