Description
I'm getting a consistent native crash (SIGSEGV) in the GL-Map rendering thread on Samsung Galaxy Note 10+ (Exynos variant, SM-N975F) running Android 12. The crash happens every single time, roughly 15-18 seconds after the app launches and the GoogleMapsNavigationView is rendered. The app never gets to a usable state on this device.
The crash does NOT happen on other devices I've tested (e.g. SM-A105FN running Android 11).
Device Info
- Model: Samsung Galaxy Note 10+ (SM-N975F) — Exynos 9825 variant with Mali-G76 MP12 GPU
- Android: 12 (API 31)
- Build: SP1A.210812.016/N975FXXS9HWHA
- ABI: arm64
Environment
- Flutter 3.41.6 (stable)
- google_navigation_flutter: 0.8.4 (also reproduced on 0.8.3)
- Android SDK 36.1.0
- Kotlin 2.1.10
- Impeller rendering backend (OpenGLES) — also tried with Impeller disabled (Skia), same crash
Crash Log
F/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x18 in tid 9122 (GL-Map)
Cause: null pointer dereference
pid: 8947, tid: 9122, name: GL-Map >>> com.iqtaxi.taxionedriver <<<
uid: 10381
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x18
backtrace:
#00 pc 0000000000736a40 /apex/com.android.art/lib64/libart.so (artInstanceOfFromCode+144)
#01 pc 0000000000209d2c /apex/com.android.art/lib64/libart.so (nterp_op_instance_of+44)
#02 pc 00000000000b3f2c [anon:dalvik-classes28.dex] (it.unimi.dsi.fastutil.ints.AbstractIntCollection.removeAll+0)
#03 pc 000000000210f2a4 /memfd:jit-cache (deleted)
A previous run showed a slightly different fault address but same stack:
F/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xe5276200 in tid 22989 (GL-Map)
backtrace:
#00 pc 00000000007369d0 /apex/com.android.art/lib64/libart.so (artInstanceOfFromCode+32)
#01 pc 0000000000209d2c /apex/com.android.art/lib64/libart.so (nterp_op_instance_of+44)
#02 pc 00000000000b3ef0 [anon:dalvik-classes28.dex] (it.unimi.dsi.fastutil.ints.AbstractIntCollection.removeAll+0)
#03 pc 000000000210d314 /memfd:jit-cache (deleted)
What I've Tried
- Tested with both
google_navigation_flutter 0.8.3 and 0.8.4 — same crash
- Tested with Impeller enabled (OpenGLES) and disabled (Skia fallback) — same crash
- Changed Android themes to
Theme.AppCompat.Light.NoActionBar — same crash
- Added
await to all marker/polygon operations to avoid concurrent platform channel calls — same crash
- Added delays between
clearPolygons() and addPolygons() — same crash
- Ensured navigation session is fully initialized before configuring the view — same crash
The crash always happens in the same place: it.unimi.dsi.fastutil.ints.AbstractIntCollection.removeAll on the GL-Map thread. This appears to be an internal collection inside the Navigation SDK's map rendering pipeline hitting a null pointer or corrupted reference.
Additional Context
Before the crash, the logcat also shows these errors from the Google Maps SDK:
E/Volley: [119] NetworkUtility.shouldRetryException: Unexpected response code 400 for https://clients4.google.com/glm/mmap
E/ThemeUtils: View class com.google.android.apps.gmm.base.views.squeezedlabel.SqueezedLabelView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
The Volley 400 errors happen consistently before the crash. Not sure if related.
Steps to Reproduce
- Use any Flutter app with
GoogleMapsNavigationView
- Run on Samsung Galaxy Note 10+ (SM-N975F, Exynos variant, Android 12)
- App crashes ~15-18 seconds after the navigation view renders
Expected Behavior
The navigation view should render and function without crashing on this device.
Description
I'm getting a consistent native crash (SIGSEGV) in the GL-Map rendering thread on Samsung Galaxy Note 10+ (Exynos variant, SM-N975F) running Android 12. The crash happens every single time, roughly 15-18 seconds after the app launches and the
GoogleMapsNavigationViewis rendered. The app never gets to a usable state on this device.The crash does NOT happen on other devices I've tested (e.g. SM-A105FN running Android 11).
Device Info
Environment
Crash Log
A previous run showed a slightly different fault address but same stack:
What I've Tried
google_navigation_flutter0.8.3 and 0.8.4 — same crashTheme.AppCompat.Light.NoActionBar— same crashawaitto all marker/polygon operations to avoid concurrent platform channel calls — same crashclearPolygons()andaddPolygons()— same crashThe crash always happens in the same place:
it.unimi.dsi.fastutil.ints.AbstractIntCollection.removeAllon the GL-Map thread. This appears to be an internal collection inside the Navigation SDK's map rendering pipeline hitting a null pointer or corrupted reference.Additional Context
Before the crash, the logcat also shows these errors from the Google Maps SDK:
The Volley 400 errors happen consistently before the crash. Not sure if related.
Steps to Reproduce
GoogleMapsNavigationViewExpected Behavior
The navigation view should render and function without crashing on this device.