-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Mapbox crashes after it fails to load compiled Shaders #14041
Comments
WorkaroundForcing Mapbox to recreate the Shader binary requires deleting the contents of the application cache folder, using either:
|
@tmpsantos can we harden shader loading in core? |
can you reproduce this issue? From the log the shader compiler reported the errors. |
@tmpsantos I'm also running into the same issue. Mapbox SDK version: Our app is showing around 40 users are experiencing the problem on Android 9 Pie with the following devices:
Reproduction steps are similar:
Sometimes I get this bug:
And sometimes it's this one:
|
@AhiyaHiya @bwuso do you have more than one map on your application? We found this after debugging: #14294 |
@tmpsantos Yes, my application has around 2-3 mapviews loading at the same. Weird thing is that this issue only shows up in Crashlytics for Android 9 - Samsung devices. I was unable to reproduce the issue on a Pixel 3 XL (os 9) test device. |
Mapbox Shader compiler does not check if loading precompiled binaries fail
Steps to reproduce
Expected behavior
Mapbox identifies that it was unable to load cached compiled Shader binaries and attempts recompiling Shader code.
Actual behavior
Application crashes when attempting to call com.mapbox.mapboxsdk.maps.renderer.MapRenderer.onDrawFrame
Configuration
Android versions:
Android 8.0
Android 9 and One UI Version 1.0
Device models:
Samsung Galaxy S9+
Mapbox SDK versions:
Mapbox 5.2.0 or later
logcat_filtered.txt
AndroidRuntime: FATAL EXCEPTION: GLThread 6419 AndroidRuntime: Process: com.myapp.testapplication, PID: 20199 AndroidRuntime: java.lang.Error: end of buffer exception AndroidRuntime: at com.mapbox.mapboxsdk.maps.renderer.MapRenderer.nativeRender(Native Method) AndroidRuntime: at com.mapbox.mapboxsdk.maps.renderer.MapRenderer.onDrawFrame(SourceFile:90) AndroidRuntime: at com.mapbox.mapboxsdk.maps.renderer.glsurfaceview.GLSurfaceViewMapRenderer.onDrawFrame(SourceFile:55) AndroidRuntime: at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1571) AndroidRuntime: at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1270)
The text was updated successfully, but these errors were encountered: