[com.driveby.app] MILES freezes with ANR in MicroG Maps renderer during login
Affected app Name: MILES Carsharing Package id: com.driveby.app
Describe the bug MILES freezes during the login flow on CalyxOS. The app remains visible but stops processing touch input. Android reports an Application Not Responding (ANR) after several seconds.
The UI thread is blocked in the MicroG Google Maps compatibility layer while the Mapbox-based map renderer is being reset during a React Native screen transition.
To Reproduce Steps to reproduce the behavior:
- Launch MILES.
- Open the login flow.
- Enter the login information and continue.
- Wait several seconds.
- The app freezes and stops responding to touch input.
The issue is reproducible. The device has recorded multiple earlier ANRs for the same app and activity.
Expected behavior The login screen should open and remain responsive when the map view is paused, detached, or recreated.
Screenshots
No screenshot attached. The Android ANR dialog identifies
com.driveby.app/.MainActivity as not responding.
System
Android Version: 16
Custom ROM: CalyxOS
Device: Google Pixel 8a (akita)
Build: BP4A.260205.001/14624666
microG
microG Core version: 0.3.16.252432-25 (5f1e681)
microG Self-Check results: All items ticked.
Additional context
MILES version: 4.46 (versionCode 210680)
CalyxOS WebView: org.calyxos.webview 151.0.7922.173
The captured ANR occurred on 2026-09-17 at 08:21:47 local time. Android reported:
Input dispatching timed out (com.driveby.app/com.driveby.app.MainActivity
is not responding. Waited 5000ms for MotionEvent)The main thread stack from the ANR trace was:
"main" prio=5 tid=1 Native
native: pthread_cond_wait
native: libmapbox-gl.so
mbgl::android::MapRenderer::onRendererReset
at com.mapbox.mapboxsdk.maps.renderer.MapRenderer.nativeReset(Native method)
at com.mapbox.mapboxsdk.maps.renderer.glsurfaceview.MapboxGLSurfaceView.onDetachedFromWindow
at com.google.android.gms.maps.zzah.onCreate
at com.google.android.gms.maps.MapView.onCreate
at com.rnmaps.maps.MapView.onCreate
at com.swmansion.rnscreens.ScreenContainer.onUpdate
at com.facebook.react.fabric.FabricUIManager$DispatchUIFrameCallback.doFrameGuarded
at android.view.Choreographer.doFrame
at android.os.Looper.loopBefore the ANR, MicroG Maps also logged:
GmsMapAbstractPolygon: java.lang.IllegalArgumentException:
fromIndex(2) > toIndex(1)
at org.microg.gms.maps.mapbox.model.AbstractPolygon.setHoles(Polygon.kt:76)
at com.rnmaps.maps.MapPolygon.setHoles(MapPolygon.java:108)The app also logged:
libEGL: call to OpenGL ES API with no current contextThe same MapRenderer.onRendererReset stack appeared in five earlier MILES
ANRs on this device. Fine and coarse location permissions were temporarily
revoked and the app was relaunched; the same map initialization and freeze
still occurred.
There was no fatal Java exception from the login/authentication flow. Network threads remained active while the UI thread was blocked in the Maps renderer.
Please investigate the MicroG Maps/Mapbox renderer deadlock or renderer-reset
handling when a Google Maps MapView is detached and recreated by a React
Native application. The setHoles() list-index exception may be a related
trigger.
Source: microg/GmsCore