maplibre-native icon indicating copy to clipboard operation
maplibre-native copied to clipboard

Crash on startup with Android Emulator API ≤ 30

Open westnordost opened this issue 9 months ago • 8 comments

On starting an app with a MapLibre Map on an Android emulator with an API level ≤ 30, the app crashes. API level > 30 do not crash. The crash stack traces look a bit different for the different API levels, here they are.

Note that the stack trace of the API 30 emulator is the most helpful of the three.

Pixel 3a API 25 emulator

device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glBufferData:534 GL error 0x500
--------- beginning of crash
device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glMapBufferRange:2628 GL error 0x500
Fatal signal 11 (SIGSEGV), code 1, fault addr 0xc in tid 3842 (GLThread 221)
pid: 3691, tid: 3842, name: GLThread 221  >>> de.westnordost.streetcomplete.debug 

Pixel 3a API 29 emulator

device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glBindBuffer:551 GL error 0x500
device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glBufferData:576 GL error 0x500
device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glBindBuffer:551 GL error 0x500
--------- beginning of crash
device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glMapBufferRange:2967 GL error 0x500
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x18 in tid 4493 (GLThread 285), pid 4429 (tcomplete.debug)
pid: 4429, tid: 4493, name: GLThread 285  >>> de.westnordost.streetcomplete.debug 

Pixel 3a API 30 emulator

device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glBindBuffer:551 GL error 0x500
device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glBufferData:576 GL error 0x500
device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glBindBuffer:551 GL error 0x500
--------- beginning of crash
device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glMapBufferRange:2968 GL error 0x500
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x18 in tid 2644 (GLThread 288), pid 2564 (tcomplete.debug)
pid: 2564, tid: 2644, name: GLThread 288  >>> de.westnordost.streetcomplete.debug ::operator()<:android::maprenderer mbgl::android::maprenderer void>(jni::Field<:android::maprenderer long> const&)::'lambda'(_JNIEnv&, jni::Object<:android::maprenderer>&)::*)(_JNIEnv&, jni::Object<:android::maprenderer>&) const>::operator()::operator()<:android::maprenderer mbgl::android::maprenderer void>(jni::Field<:android::maprenderer long> const&)::'lambda'(_JNIEnv&, jni::Object<:android::maprenderer>&)>(char const*, auto jni::NativePeerMemberFunctionMethod::operator()<:android::maprenderer mbgl::android::maprenderer void>(jni::Field<:android::maprenderer long> const&)::'lambda'(_JNIEnv&, jni::Object<:android::maprenderer>&) const&)::'lambda'(_JNIEnv*, jni::jobject*)>(char const*, char const*, auto jni::NativePeerMemberFunctionMethod::operator()<:android::maprenderer mbgl::android::maprenderer void>(jni::Field<:android::maprenderer long> const&)::'lambda'(_JNIEnv&, jni::Object<:android::maprenderer>&) const&, std::__ndk1::enable_if<:is_class jni::nativepeermemberfunctionmethod>::operator()<:android::maprenderer mbgl::android::maprenderer void>(jni::Field<:android::maprenderer long> const&)::'lambda'(_JNIEnv&, jni::Object<:android::maprenderer>&)>::value, void>::type*)::'lambda'(_JNIEnv*, auto...)::__invoke<:jobject>(_JNIEnv*, auto...)+32) (BuildId: 72755dbb07905a5c27ee0745f98585e3ab996356)
  #17 pc 000000000009c1bc  [anon:dalvik-classes3.dex extracted in memory from /data/app/~~FgVcBTYLfLrC-po3RH2PHA==/de.westnordost.streetcomplete.debug-K8YDZHikeljeRT78QoUgAg==/base.apk!classes3.dex] (org.maplibre.android.maps.renderer.MapRenderer.onDrawFrame)
  #23 pc 000000000009d0f0  [anon:dalvik-classes3.dex extracted in memory from /data/app/~~FgVcBTYLfLrC-po3RH2PHA==/de.westnordost.streetcomplete.debug-K8YDZHikeljeRT78QoUgAg==/base.apk!classes3.dex] (org.maplibre.android.maps.renderer.glsurfaceview.GLSurfaceViewMapRenderer.onDrawFrame)
  #29 pc 000000000009d8ac  [anon:dalvik-classes3.dex extracted in memory from /data/app/~~FgVcBTYLfLrC-po3RH2PHA==/de.westnordost.streetcomplete.debug-K8YDZHikeljeRT78QoUgAg==/base.apk!classes3.dex] (org.maplibre.android.maps.renderer.glsurfaceview.MapLibreGLSurfaceView$GLThread.guardedRun)
  #35 pc 000000000009e1d0  [anon:dalvik-classes3.dex extracted in memory from /data/app/~~FgVcBTYLfLrC-po3RH2PHA==/de.westnordost.streetcomplete.debug-K8YDZHikeljeRT78QoUgAg==/base.apk!classes3.dex] (org.maplibre.android.maps.renderer.glsurfaceview.MapLibreGLSurfaceView$GLThread.run)
---------------------------- PROCESS ENDED (2564) for package de.westnordost.streetcomplete.debug ----------------------------

Pixel 3a API 31 emulator

Works fine

Pixel 3a API 34 emulator

Works fine

Platform information

  • OS: Android API ≤ 30 (emulator, host system is Windows 10) tested with Pixel 3a emulator with API 34, 31, 30, 29, 25. Only API ≤ 30 crash. only tested on Emulators. I don't have a device with API level 30 at hand.
  • Version v11.0-pre6

westnordost avatar May 07 '24 15:05 westnordost