yandex / mapkit-android-demo

MapKit Android demo
Other
122 stars 61 forks source link

SIGSEGV #49

Closed akvast closed 5 years ago

akvast commented 5 years ago

Карты крашатся при зуме. В demo проекте в activity "Map Objects" крашится при относительно долгом зуме туда-обратно. В нашем проекте, где карты более нагружены метками, крашится стабильно менее чем за минуту использования карты. Версия библиотеки: 3.1.2 SDK version: 28

com.yandex.mapkitdemo A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x3e9c66d73e020018 in tid 9593 (ndex.mapkitdemo), pid 9593 (ndex.mapkitdemo)


Build fingerprint: 'google/taimen/taimen:9/PQ1A.181105.017.A1/5081125:user/release-keys'
Revision: 'rev_10'
ABI: 'arm64'
pid: 9593, tid: 9593, name: ndex.mapkitdemo  >>> com.yandex.mapkitdemo <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x3e9c66d73e020018
    x0  000000759d4de4c8  x1  000000759c3ea8e8  x2  0000000000000004  x3  0000000000000001
    x4  3e9c66d73e020000  x5  00000000ffffffff  x6  0000000000000000  x7  f431ede10bee0edb
    x8  46b039784202238d  x9  46b039784202238d  x10 0000000000000145  x11 0000000000000000
    x12 000000759ecdaca0  x13 000000759ece5120  x14 00000000ffffffff  x15 0000000000000000
    x16 000000763eb6fbe0  x17 000000763eb03918  x18 0000000000000000  x19 000000759c443e20
    x20 000000759f69d480  x21 000000759f69d508  x22 000000759f69d4f8  x23 000000759d39df50
    x24 0000007fc562b348  x25 000000759d7b5fe8  x26 000000759d7b5fe8  x27 000000759d7b5f20
    x28 0000007fc562b360  x29 0000000000000000
    sp  0000007fc562b1c0  lr  00000075a29ce060  pc  00000075a282dfec
backtrace:
    #00 pc 0000000000326fec  /data/app/com.yandex.mapkitdemo--zmTFcuKVcCyG745ix-mVA==/lib/arm64/libcom.yandex.mapkit.so
    #01 pc 00000000004c705c  /data/app/com.yandex.mapkitdemo--zmTFcuKVcCyG745ix-mVA==/lib/arm64/libcom.yandex.mapkit.so
    #02 pc 00000000004c7a20  /data/app/com.yandex.mapkitdemo--zmTFcuKVcCyG745ix-mVA==/lib/arm64/libcom.yandex.mapkit.so
    #03 pc 00000000004ac380  /data/app/com.yandex.mapkitdemo--zmTFcuKVcCyG745ix-mVA==/lib/arm64/libcom.yandex.mapkit.so
    #04 pc 00000000004d7eb4  /data/app/com.yandex.mapkitdemo--zmTFcuKVcCyG745ix-mVA==/lib/arm64/libcom.yandex.mapkit.so
    #05 pc 00000000004d810c  /data/app/com.yandex.mapkitdemo--zmTFcuKVcCyG745ix-mVA==/lib/arm64/libcom.yandex.mapkit.so
    #06 pc 00000000004e13ac  /data/app/com.yandex.mapkitdemo--zmTFcuKVcCyG745ix-mVA==/lib/arm64/libcom.yandex.mapkit.so
    #07 pc 00000000004e1d7c  /data/app/com.yandex.mapkitdemo--zmTFcuKVcCyG745ix-mVA==/lib/arm64/libcom.yandex.mapkit.so
    #08 pc 00000000004bc0b8  /data/app/com.yandex.mapkitdemo--zmTFcuKVcCyG745ix-mVA==/lib/arm64/libcom.yandex.mapkit.so
    #09 pc 000000000032aff4  /data/app/com.yandex.mapkitdemo--zmTFcuKVcCyG745ix-mVA==/lib/arm64/libcom.yandex.runtime.so
    #10 pc 00000000001ce908  /data/app/com.yandex.mapkitdemo--zmTFcuKVcCyG745ix-mVA==/lib/arm64/libcom.yandex.runtime.so (std::function<void ()>::operator()() const+24)
    #11 pc 00000000001ce908  /data/app/com.yandex.mapkitdemo--zmTFcuKVcCyG745ix-mVA==/lib/arm64/libcom.yandex.runtime.so (std::function<void ()>::operator()() const+24)
    #12 pc 0000000000224508  /data/app/com.yandex.mapkitdemo--zmTFcuKVcCyG745ix-mVA==/lib/arm64/libcom.yandex.runtime.so
    #13 pc 00000000002203bc  /data/app/com.yandex.mapkitdemo--zmTFcuKVcCyG745ix-mVA==/lib/arm64/libcom.yandex.runtime.so
    #14 pc 00000000001ce25c  /data/app/com.yandex.mapkitdemo--zmTFcuKVcCyG745ix-mVA==/lib/arm64/libcom.yandex.runtime.so
    #15 pc 00000000001d67d8  /data/app/com.yandex.mapkitdemo--zmTFcuKVcCyG745ix-mVA==/lib/arm64/libcom.yandex.runtime.so (Java_com_yandex_runtime_async_internal_Scheduler_run+36)
    #16 pc 000000000002e048  /dev/ashmem/dalvik-jit-code-cache (deleted) (com.yandex.runtime.async.internal.Scheduler.run+152)
    #17 pc 0000000000009d94  /dev/ashmem/dalvik-jit-code-cache (deleted) (com.yandex.runtime.async.internal.Scheduler.handleMessage+100)
    #18 pc 000000000000a860  /dev/ashmem/dalvik-jit-code-cache (deleted) (android.os.Handler.dispatchMessage+160)
    #19 pc 00000000000317f8  /dev/ashmem/dalvik-jit-code-cache (deleted) (android.os.Looper.loop+1032)
    #20 pc 000000000055ccdc  /system/lib64/libart.so (art_quick_osr_stub+44)
    #21 pc 000000000030ae0c  /system/lib64/libart.so (art::jit::Jit::MaybeDoOnStackReplacement(art::Thread*, art::ArtMethod*, unsigned int, int, art::JValue*)+1988)
    #22 pc 0000000000532a58  /system/lib64/libart.so (MterpMaybeDoOnStackReplacement+144)
    #23 pc 0000000000553a70  /system/lib64/libart.so (ExecuteMterpImpl+33136)
    #24 pc 0000000000aebb84  /system/framework/boot-framework.vdex (android.os.Looper.loop+928)
    #25 pc 0000000000255e68  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2146680767+496)
    #26 pc 000000000025b9e8  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
    #27 pc 000000000027c350  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+920)
    #28 pc 000000000052d8dc  /system/lib64/libart.so (MterpInvokeStatic+204)
    #29 pc 000000000054f214  /system/lib64/libart.so (ExecuteMterpImpl+14612)
    #30 pc 000000000038534a  /system/framework/boot-framework.vdex (android.app.ActivityThread.main+214)
    #31 pc 0000000000255e68  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2146680767+496)
    #32 pc 000000000051cb18  /system/lib64/libart.so (artQuickToInterpreterBridge+1032)
    #33 pc 0000000000565afc  /system/lib64/libart.so (art_quick_to_interpreter_bridge+92)
    #34 pc 000000000055cc4c  /system/lib64/libart.so (art_quick_invoke_static_stub+604)
    #35 pc 00000000000cf760  /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+232)
    #36 pc 00000000004633b8  /system/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104)
    #37 pc 0000000000464e10  /system/lib64/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1440)
    #38 pc 00000000003f43b0  /system/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+48)
    #39 pc 000000000011e6d4  /system/framework/arm64/boot.oat (offset 0x114000) (java.lang.Class.getDeclaredMethodInternal [DEDUPED]+180)
    #40 pc 000000000055c988  /system/lib64/libart.so (art_quick_invoke_stub+584)
    #41 pc 00000000000cf740  /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200)
    #42 pc 00000000002823b0  /system/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+344)
    #43 pc 000000000027c36c  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+948)
    #44 pc 000000000052c3d8  /system/lib64/libart.so (MterpInvokeVirtual+584)
    #45 pc 000000000054f094  /system/lib64/libart.so (ExecuteMterpImpl+14228)
    #46 pc 0000000000c0c82e  /system/framework/boot-framework.vdex (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+22)
    #47 pc 0000000000255e68  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2146680767+496)
    #48 pc 000000000051cb18  /system/lib64/libart.so (artQuickToInterpreterBridge+1032)
    #49 pc 0000000000565afc  /system/lib64/libart.so (art_quick_to_interpreter_bridge+92)
    #50 pc 0000000000beaec0  /system/framework/arm64/boot-framework.oat (offset 0x3cd000) (com.android.internal.os.ZygoteInit.main+3088)
    #51 pc 000000000055cc4c  /system/lib64/libart.so (art_quick_invoke_static_stub+604)
    #52 pc 00000000000cf760  /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+232)
    #53 pc 00000000004633b8  /system/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104)
    #54 pc 0000000000463010  /system/lib64/libart.so (art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+416)
    #55 pc 0000000000366854  /system/lib64/libart.so (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+644)
    #56 pc 00000000000b1ce0  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+120)
    #57 pc 00000000000b4660  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+760)
    #58 pc 00000000000021a0  /system/bin/app_process64 (main+1200)
    #59 pc 00000000000ae760  /system/lib64/libc.so (__libc_init+88)```
akvast commented 5 years ago

По моим наблюдениям крашится векторная отрисовка карты, т.к. при переключении на растровый режим краш не воспроизводится. Так-же заметил что при векторной отрисовке на малом зуме (отдаленном) так-же не крашится.

cosic commented 5 years ago

Легко воспроизводится, если быстро зумить карту даже с 1м пином на ней. MapKit v3.1.2. Данные по девайсу в логах есть, но на самом деле воспроизводится на любом девайсе.

ru.packagename.debug A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xc in tid 20312 (packagename.debug), pid 20312 (packagename.debug)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'xiaomi/tissot/tissot_sprout:8.1.0/OPM1.171019.026/V9.6.8.0.ODHMIFE:user/release-keys'
Revision: '0'
ABI: 'arm'
pid: 20312, tid: 20312, name: packagename.debug  >>> ru.packagename.debug <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xc
Cause: null pointer dereference
    r0 bd045898  r1 b9d03a38  r2 bf3f20f2  r3 00000001
    r4 c61fee84  r5 00000000  r6 00000000  r7 ffc1c7bc
    r8 00000094  r9 c62f0ac4  sl 00000000  fp b9c5e780
    ip 0000000d  sp ffc1c778  lr c3ffc4bc  pc 0000000c  cpsr a00f0030
backtrace:
    #00 pc 0000000c  <unknown>
    #01 pc 002824b8  /data/app/ru.packagename.debug-lulBspleJoMvCF1SEvNgoA==/lib/arm/libcom.yandex.mapkit.so
#02 pc 00416904  /data/app/ru.packagename.debug-lulBspleJoMvCF1SEvNgoA==/lib/arm/libcom.yandex.mapkit.so
#03 pc 00417248  /data/app/ru.packagename.debug-lulBspleJoMvCF1SEvNgoA==/lib/arm/libcom.yandex.mapkit.so
#04 pc 003fd270  /data/app/ru.packagename.debug-lulBspleJoMvCF1SEvNgoA==/lib/arm/libcom.yandex.mapkit.so
#05 pc 00426838  /data/app/ru.packagename.debug-lulBspleJoMvCF1SEvNgoA==/lib/arm/libcom.yandex.mapkit.so
#06 pc 00426aa4  /data/app/ru.packagename.debug-lulBspleJoMvCF1SEvNgoA==/lib/arm/libcom.yandex.mapkit.so
#07 pc 0042f6c4  /data/app/ru.packagename.debug-lulBspleJoMvCF1SEvNgoA==/lib/arm/libcom.yandex.mapkit.so
#08 pc 0042ffa8  /data/app/ru.packagename.debug-lulBspleJoMvCF1SEvNgoA==/lib/arm/libcom.yandex.mapkit.so
#09 pc 0041159c  /data/app/ru.packagename.debug-lulBspleJoMvCF1SEvNgoA==/lib/arm/libcom.yandex.mapkit.so
#10 pc 002ba7d0  /data/app/ru.packagename.debug-lulBspleJoMvCF1SEvNgoA==/lib/arm/libcom.yandex.runtime.so
#11 pc 001bc9e0  /data/app/ru.packagename.debug-lulBspleJoMvCF1SEvNgoA==/lib/arm/libcom.yandex.runtime.so
#12 pc 001b8dd4  /data/app/ru.packagename.debug-lulBspleJoMvCF1SEvNgoA==/lib/arm/libcom.yandex.runtime.so
#13 pc 00166ec4  /data/app/ru.packagename.debug-lulBspleJoMvCF1SEvNgoA==/lib/arm/libcom.yandex.runtime.so
#14 pc 0016f0bc  /data/app/ru.packagename.debug-lulBspleJoMvCF1SEvNgoA==/lib/arm/libcom.yandex.runtime.so (Java_com_yandex_runtime_async_internal_Scheduler_run+28)
#15 pc 000b4a17  /data/app/ru.packagename.debug-lulBspleJoMvCF1SEvNgoA==/oat/arm/base.odex (offset 0x9e000)
ToleubekRauan commented 5 years ago

Аналогичная проблема! Кто-нибудь уже решил проблему?

cosic commented 5 years ago

Еще такой вариант есть

Fatal signal 11 (SIGSEGV), code 2, fault addr 0x74636576 in tid 29343 (packagename.main), pid 29343 (packagename.main)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'HUAWEI/CLT-L29RU/HWCLT:8.1.0/HUAWEICLT-L29/155(C10):user/release-keys'
Revision: '0'
ABI: 'arm'
pid: 29343, tid: 29343, name: packagename.main  >>> packagename.main <<<
SEGV_ACCERR), fault addr 0x74636576
    r0 b9de64b8  r1 a576b320  r2 00000004  r3 00000001
    r4 b1f70bbc  r5 00000000  r6 d216dd08  r7 d216dd08
    r8 00000036  r9 b71d4104  sl 00000000  fp a0426dc0
    ip 7463656a  sp ffbb8d88  lr ffffffff  pc b55794b0  cpsr 600f0010
backtrace:
    #00 pc 002824b0  /data/app/packagename.main-M-ClCYX2ZesvCmYYa7ZScQ==/lib/arm/libcom.yandex.mapkit.so
#01 pc 00416904  /data/app/packagename.main-M-ClCYX2ZesvCmYYa7ZScQ==/lib/arm/libcom.yandex.mapkit.so
#02 pc 00417248  /data/app/packagename.main-M-ClCYX2ZesvCmYYa7ZScQ==/lib/arm/libcom.yandex.mapkit.so
#03 pc 003fd270  /data/app/packagename.main-M-ClCYX2ZesvCmYYa7ZScQ==/lib/arm/libcom.yandex.mapkit.so
#04 pc 00426838  /data/app/packagename.main-M-ClCYX2ZesvCmYYa7ZScQ==/lib/arm/libcom.yandex.mapkit.so
#05 pc 00426aa4  /data/app/packagename.main-M-ClCYX2ZesvCmYYa7ZScQ==/lib/arm/libcom.yandex.mapkit.so
#06 pc 0042f6c4  /data/app/packagename.main-M-ClCYX2ZesvCmYYa7ZScQ==/lib/arm/libcom.yandex.mapkit.so
#07 pc 0042ffa8  /data/app/packagename.main-M-ClCYX2ZesvCmYYa7ZScQ==/lib/arm/libcom.yandex.mapkit.so
#08 pc 0041159c  /data/app/packagename.main-M-ClCYX2ZesvCmYYa7ZScQ==/lib/arm/libcom.yandex.mapkit.so
#09 pc 002ba7d0  /data/app/packagename.main-M-ClCYX2ZesvCmYYa7ZScQ==/lib/arm/libcom.yandex.runtime.so
#10 pc 001bc9e0  /data/app/packagename.main-M-ClCYX2ZesvCmYYa7ZScQ==/lib/arm/libcom.yandex.runtime.so
#11 pc 001b8dd4  /data/app/packagename.main-M-ClCYX2ZesvCmYYa7ZScQ==/lib/arm/libcom.yandex.runtime.so
#12 pc 00166ec4  /data/app/packagename.main-M-ClCYX2ZesvCmYYa7ZScQ==/lib/arm/libcom.yandex.runtime.so
2018-12-07 09:41:35.178 29720-29720/? A/DEBUG:     #13 pc 0016f0bc  /data/app/packagename.main-M-ClCYX2ZesvCmYYa7ZScQ==/lib/arm/libcom.yandex.runtime.so (Java_com_yandex_runtime_async_internal_Scheduler_run+28)
#14 pc 0009a927  /data/app/packagename.main-M-ClCYX2ZesvCmYYa7ZScQ==/oat/arm/base.odex (offset 0x98000)
eberkovich commented 5 years ago

Проблема уже исправлена, в ближайшее время выпустим релиз.

IUdalov commented 5 years ago

Исправлено в 3.2.0.