Skip to content

SIGSEGV crash in GL-Map thread on Samsung Galaxy Note 10+ Exynos (SM-N975F) #648

@orestislef

Description

@orestislef

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

  1. Use any Flutter app with GoogleMapsNavigationView
  2. Run on Samsung Galaxy Note 10+ (SM-N975F, Exynos variant, Android 12)
  3. App crashes ~15-18 seconds after the navigation view renders

Expected Behavior

The navigation view should render and function without crashing on this device.

Metadata

Metadata

Assignees

Labels

priority: p0Highest priority. Critical issue. P0 implies highest priority.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions