自Android 7以来的SEGV_MAPERR

时间:2017-09-21 09:58:41

标签: android

我们的应用仅针对 Android 7.0和7.1 获取崩溃报告。

signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)
_ZN7android6Parcel14freeDataNoInitEv

我们的应用程序正在使用地图和GPS,这可能是无关的,但由于我在另一个论坛上看到了类似的错误报告 - 没有答案 - 我想我已经指出了这一点。 / p>

回溯:

  native: pc 000000000005ce64  /system/lib64/libbinder.so (_ZN7android6Parcel14freeDataNoInitEv+16)
  native: pc 00000000000f8004  /system/lib64/libandroid_runtime.so
  native: pc 0000000002977564  /system/framework/arm64/boot-framework.oat (android.os.Parcel.nativeDestroy+128)
  native: pc 0000000002976950  /system/framework/arm64/boot-framework.oat (android.os.Parcel.destroy+76)
  native: pc 000000000297b4ac  /system/framework/arm64/boot-framework.oat (android.os.Parcel.finalize+40)
  native: pc 000000000068a3a0  /system/framework/arm64/boot-core-libart.oat (java.lang.Daemons$FinalizerDaemon.doFinalize+140)
  native: pc 000000000068a67c  /system/framework/arm64/boot-core-libart.oat (java.lang.Daemons$FinalizerDaemon.run+520)
  native: pc 000000000065fb00  /system/framework/arm64/boot.oat (java.lang.Thread.run+60)
  native: pc 00000000000d1c34  /system/lib64/libart.so (art_quick_invoke_stub+580)
  native: pc 00000000000de970  /system/lib64/libart.so (_ZN3art9ArtMethod6InvokeEPNS_6ThreadEPjjPNS_6JValueEPKc+208)
  native: pc 000000000042e238  /system/lib64/libart.so (_ZN3artL18InvokeWithArgArrayERKNS_33ScopedObjectAccessAlreadyRunnableEPNS_9ArtMethodEPNS_8ArgArrayEPNS_6JValueEPKc+108)
  native: pc 000000000042f508  /system/lib64/libart.so (_ZN3art35InvokeVirtualOrInterfaceWithJValuesERKNS_33ScopedObjectAccessAlreadyRunnableEP8_jobjectP10_jmethodIDP6jvalue+372)
  native: pc 000000000044ecbc  /system/lib64/libart.so (_ZN3art6Thread14CreateCallbackEPv+1100)
  native: pc 000000000006958c  /system/lib64/libc.so (_ZL15__pthread_startPv+196)
  native: pc 000000000001dbf0  /system/lib64/libc.so (__start_thread+16)

1 个答案:

答案 0 :(得分:1)

我的项目已由其他人修复。

TLDR; 当我们从标准的Location类和GSON序列化向Map发送基于Resume构建的位置时发生错误。

只使用标准Google对象,我们会存储该位置以防应用程序终止。在恢复时,应用程序将重新加载位置对象并将其发送到地图。构建GSON的方式可能会丢失一些字段,而Map会崩溃。

我们实现了自己的Location对象来处理这个问题。