Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

eglSwapBuffers() failed #6647

Closed
tobrun opened this issue Oct 11, 2016 · 26 comments
Closed

eglSwapBuffers() failed #6647

tobrun opened this issue Oct 11, 2016 · 26 comments
Labels
Android Mapbox Maps SDK for Android crash

Comments

@tobrun
Copy link
Member

tobrun commented Oct 11, 2016

When looking into the Android CI tests being flaky in #6546. I'm able to reproduce our test harness being unstable but I occasionally run into the error below when running one of the runtimestyle test:

java.lang.Error: eglSwapBuffers() failed
at com.mapbox.mapboxsdk.maps.NativeMapView.nativeRender(Native Method)
at com.mapbox.mapboxsdk.maps.NativeMapView.render(NativeMapView.java:141)
at com.mapbox.mapboxsdk.maps.MapView.onDraw(MapView.java:1431)
at android.view.View.draw(View.java:17067)
at android.view.View.updateDisplayListIfDirty(View.java:16049)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3748)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3728)
at android.view.View.updateDisplayListIfDirty(View.java:16012)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3748)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3728)
at android.view.View.updateDisplayListIfDirty(View.java:16012)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3748)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3728)
at android.view.View.updateDisplayListIfDirty(View.java:16012)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3748)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3728)
at android.view.View.updateDisplayListIfDirty(View.java:16012)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3748)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3728)
at android.view.View.updateDisplayListIfDirty(View.java:16012)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3748)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3728)
at android.view.View.updateDisplayListIfDirty(View.java:16012)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:656)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:662)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:770)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:2796)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2604)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2211)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1246)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6301)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871)
at android.view.Choreographer.doCallbacks(Choreographer.java:683)
at android.view.Choreographer.doFrame(Choreographer.java:619)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)

Looking at the logcat I'm seeing:

10-11 08:25:36.963 1060-1116/? I/ActivityManager: Displayed com.mapbox.mapboxsdk.testapp/.activity.style.RuntimeStyleTestActivity: +519ms
10-11 08:25:37.092 22290-22290/com.mapbox.mapboxsdk.testapp E/MapboxMap: isMapboxReady called with value true
10-11 08:25:37.094 22290-22305/com.mapbox.mapboxsdk.testapp I/FillLayerTest: Adding layer
10-11 08:25:37.113 22290-22305/com.mapbox.mapboxsdk.testapp I/FillLayerTest: fill-pattern
10-11 08:25:37.114 22290-22290/com.mapbox.mapboxsdk.testapp E/mbgl: {pboxsdk.testapp}[OpenGL]: eglSwapBuffers() returned error 12301
10-11 08:25:37.149 22290-22290/com.mapbox.mapboxsdk.testapp D/AndroidRuntime: Shutting down VM
10-11 08:25:37.155 1060-1116/? I/WindowManager: Destroying surface Surface(name=Starting com.mapbox.mapboxsdk.testapp) called by com.android.server.wm.WindowStateAnimator.destroySurface:2014 com.android.server.wm.WindowStateAnimator.destroySurfaceLocked:881 com.android.server.wm.WindowState.destroyOrSaveSurface:2073 com.android.server.wm.AppWindowToken.destroySurfaces:363 com.android.server.wm.WindowStateAnimator.finishExit:565 com.android.server.wm.WindowStateAnimator.stepAnimationLocked:491 com.android.server.wm.WindowAnimator.updateWindowsLocked:303 com.android.server.wm.WindowAnimator.animateLocked:704 
10-11 08:25:37.158 22290-22290/com.mapbox.mapboxsdk.testapp E/MonitoringInstrumentation: Exception encountered by: Thread[main,5,main]. Dumping thread state to outputs and pining for the fjords.
                                                                                         java.lang.Error: eglSwapBuffers() failed
                                                                                             at com.mapbox.mapboxsdk.maps.NativeMapView.nativeRender(Native Method)
                                                                                             at com.mapbox.mapboxsdk.maps.NativeMapView.render(NativeMapView.java:141)
                                                                                             at com.mapbox.mapboxsdk.maps.MapView.onDraw(MapView.java:1431)
                                                                                             at android.view.View.draw(View.java:17067)

cc @ivovandongen

@tobrun tobrun added Android Mapbox Maps SDK for Android crash labels Oct 11, 2016
@tobrun
Copy link
Member Author

tobrun commented Oct 11, 2016

Looked into the error code and reflects:

public static final int EGL_BAD_SURFACE = 12301;

@jandoblelim
Copy link

I've been experiencing the same thing. It's been hitting a lot of Samsung devices more.

@clydebarrow
Copy link
Contributor

I'm seeing this error on an LG Optimus LG-P716.

@yahch
Copy link

yahch commented Nov 9, 2016

I'm seeing this error on an Lenovo ZUK Z2.

@RezaOruji
Copy link

same error on Nexus 5 with android 6

@fauger
Copy link

fauger commented Nov 18, 2016

same error. After some tests :

100% repro : samsung S4 (4.2.2) and samsung galaxy note 2 (4.3)
Not reproduce on : Samsung S4 (5.0) and samsung galaxy S3 (4.1.2)

@guruduttstay
Copy link

guruduttstay commented Jan 11, 2017

Any update on this ?

I can reproduce in one case but there are several cases where I do see this error

One case where I can reproduce it is :
While it try to Remove non existing layer
mapboxMap.removeLayer(layerID); // here layer for layerID doesn't exists for some reason

Steps to reproduce :

- Start Fragment (This myMapFragment start MapView))
- Select any pin ... open detail of that pin from map (this starts Different xFragment started on the top of myMapFragment)  
(Also notice xFragment also starts small MapView instance)
- Press Up / Back button from view in xFragment
- While it try to Remove non existing layer  in myMapFragment
   mapboxMap.removeLayer(layerID); // here layer for layerID doesn't exists 
- Boom crash reproduced

Though I don't see this error if I check existence of layer before removing it for e.g.

  if(mapboxMap.getLayer(layerID) != null) {
            try {
                mapboxMap.removeLayer(layerID);
            } catch (NoSuchLayerException e) {
                e.printStackTrace();
            }
        }

@ragaisis
Copy link

ragaisis commented May 12, 2017

I could reproduce this error with MapboxSDK 5.0.2 when I go to recent apps and resumed application several times. Now with 5.1.0-beta2 it's more stable, but still kinda similar crash sometimes could be reproduced. Maybe this is because my custom map style is quite heavy.

05-12 12:33:39.068 24762-24762/com.karttakeskus.loisto V/ActivityThread: updateVisibility : ActivityRecord{ca8d976 token=android.os.BinderProxy@fcc4ace {com.karttakeskus.loisto/com.karttakeskus.loisto.ui.MainActivity}} show : false
05-12 12:33:39.438 24762-24762/com.karttakeskus.loisto E/libEGL: eglCreateWindowSurface: native_window_api_connect (win=0x9cbe7c08) failed (0xffffffea) (already connected to another API?)
05-12 12:33:39.438 24762-24762/com.karttakeskus.loisto E/libEGL: eglCreateWindowSurface:617 error 3003 (EGL_BAD_ALLOC)
05-12 12:33:39.438 24762-24762/com.karttakeskus.loisto E/mbgl: {takeskus.loisto}[OpenGL]: eglCreateWindowSurface() returned error 12291
05-12 12:33:39.448 24762-24762/com.karttakeskus.loisto D/AndroidRuntime: Shutting down VM
05-12 12:33:39.758 24762-24899/com.karttakeskus.loisto E/File: fail readDirectory() errno=2
05-12 12:33:39.758 24762-24899/com.karttakeskus.loisto E/File: fail readDirectory() errno=2
05-12 12:33:39.758 24762-24762/com.karttakeskus.loisto E/AndroidRuntime: FATAL EXCEPTION: main
                                                                         Process: com.karttakeskus.loisto, PID: 24762
                                                                         java.lang.Error: eglCreateWindowSurface() failed
                                                                             at com.mapbox.mapboxsdk.maps.NativeMapView.nativeCreateSurface(Native Method)
                                                                             at com.mapbox.mapboxsdk.maps.NativeMapView.createSurface(NativeMapView.java:157)
                                                                             at com.mapbox.mapboxsdk.maps.MapView$SurfaceCallback.surfaceCreated(MapView.java:440)
                                                                             at android.view.SurfaceView.updateWindow(SurfaceView.java:712)
                                                                             at android.view.SurfaceView.onWindowVisibilityChanged(SurfaceView.java:316)
                                                                             at android.view.View.dispatchWindowVisibilityChanged(View.java:10439)
                                                                             at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1330)
                                                                             at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1330)
                                                                             at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1330)
                                                                             at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1330)
                                                                             at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1330)
                                                                             at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1330)
                                                                             at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1330)
                                                                             at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1330)
                                                                             at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1330)
                                                                             at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1801)
                                                                             at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1488)
                                                                             at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7451)
                                                                             at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920)
                                                                             at android.view.Choreographer.doCallbacks(Choreographer.java:695)
                                                                             at android.view.Choreographer.doFrame(Choreographer.java:631)
                                                                             at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906)
                                                                             at android.os.Handler.handleCallback(Handler.java:739)
                                                                             at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                             at android.os.Looper.loop(Looper.java:158)
                                                                             at android.app.ActivityThread.main(ActivityThread.java:7224)
                                                                             at java.lang.reflect.Method.invoke(Native Method)
                                                                             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
                                                                             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

@tobrun tobrun reopened this Jun 13, 2017
@tobrun
Copy link
Member Author

tobrun commented Jun 13, 2017

We have heard of more recent reports of this issue. Reopening. Though there isn't a clear sign what is triggering the exception to be thrown.

@Larnoo
Copy link

Larnoo commented Jul 7, 2017

When I don't show location view, then snapshot, finally I show the location view.
The code are as follow.

The crash happens usually.

mapboxMap.getMyLocationViewSettings().setEnabled(false);
 mapboxMap.snapshot(new MapboxMap.SnapshotReadyCallback() {
            @Override
            public void onSnapshotReady(Bitmap snapshot) {
                container.draw(new Canvas(snapshot));
                mapboxMap.getMyLocationViewSettings().setEnabled(true);
                 isSnapshotting = false;
            }
        });

log as follow

java.lang.Error: eglSwapBuffers() failed
at com.mapbox.mapboxsdk.maps.NativeMapView.nativeRender(Native Method)
at com.mapbox.mapboxsdk.maps.NativeMapView.render(NativeMapView.java:141)
at com.mapbox.mapboxsdk.maps.MapView.onDraw(MapView.java:1431)
at android.view.View.draw(View.java:17067)

@Larnoo
Copy link

Larnoo commented Jul 7, 2017

@tobrun

@dagatsoin
Copy link

dagatsoin commented Jul 8, 2017

I have this issue with Samsung Galaxy S4
Mapbox Android SDK 4.1.1

Edit: mine could be related to #5721 I will attempt to upgrade.

@henriquemelissopoulos
Copy link

henriquemelissopoulos commented Jul 26, 2017

I have the same crash with just one device so far:
Mapbox Android SDK 5.1.0
Android 4.2.2
Sony Experia M - C2004

Fatal Exception: java.lang.Error: program failed to link
       at com.mapbox.mapboxsdk.maps.NativeMapView.nativeRender(Unknown Source)
       at com.mapbox.mapboxsdk.maps.NativeMapView.render(Unknown Source)
       at com.mapbox.mapboxsdk.maps.MapView.onDraw(Unknown Source)

@ivovandongen
Copy link
Contributor

@henriquemelissopoulos That seems to be a separate issue. Could you create a new ticket for that please?

@uburoiubu
Copy link

uburoiubu commented Aug 1, 2017

This error randomly appears on some of my devices (including Samsung Galaxy J1 mini, Sony XPERIA, LG Nexus 5x), especially when the map gets visible for the first time.

Logs:

 java.lang.Error: eglSwapBuffers() failed
                                                                       at com.mapbox.mapboxsdk.maps.NativeMapView.nativeRender(Native Method)
                                                                       at com.mapbox.mapboxsdk.maps.NativeMapView.render(NativeMapView.java:179)
                                                                       at com.mapbox.mapboxsdk.maps.MapView.onDraw(MapView.java:407)
                                                                       at android.view.View.draw(View.java:16536)
                                                                       at android.widget.FrameLayout.draw(FrameLayout.java:598)
                                                                       at android.view.View.updateDisplayListIfDirty(View.java:15466)
                                                                       at android.view.View.getDisplayList(View.java:15488)
                                                                       at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3697)
                                                                       at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3676)
                                                                       at android.view.View.updateDisplayListIfDirty(View.java:15426)
                                                                       at android.view.View.getDisplayList(View.java:15488)
                                                                       at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3697)
                                                                       at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3676)
                                                                       at android.view.View.updateDisplayListIfDirty(View.java:15426)
                                                                       at android.view.View.getDisplayList(View.java:15488)
                                                                       at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3697)
                                                                       at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3676)
                                                                       at android.view.View.updateDisplayListIfDirty(View.java:15426)
                                                                       at android.view.View.getDisplayList(View.java:15488)
                                                                       at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3697)
                                                                       at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3676)
                                                                       at android.view.View.updateDisplayListIfDirty(View.java:15426)
                                                                       at android.view.View.getDisplayList(View.java:15488)
                                                                       at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3697)
                                                                       at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3676)
                                                                       at android.view.View.updateDisplayListIfDirty(View.java:15426)
                                                                       at android.view.View.getDisplayList(View.java:15488)
                                                                       at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3697)
                                                                       at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3676)
                                                                       at android.view.View.updateDisplayListIfDirty(View.java:15426)
                                                                       at android.view.View.getDisplayList(View.java:15488)
                                                                       at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3697)
                                                                       at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3676)
                                                                       at android.view.View.updateDisplayListIfDirty(View.java:15426)
                                                                       at android.view.View.getDisplayList(View.java:15488)
                                                                       at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3697)
                                                                       at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3676)
                                                                       at android.view.View.updateDisplayListIfDirty(View.java:15426)
                                                                       at android.view.View.getDisplayList(View.java:15488)
                                                                       at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:309)
                                                                       at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:315)
                                                                       at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:354)
                                                                       at android.view.ViewRootImpl.draw(ViewRootImpl.java:2956)
                                                                       at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2753)
                                                                       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2339)
                                                                       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1314)
                                                                       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7057)
                                                                       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:829)
                                                                       at android.view.Choreographer.doCallbacks(Choreographer.java:606)
                                                                       at android.view.Choreographer.doFrame(Choreographer.java:576)
                                                                       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:815)
                                                                       at android.os.Handler.handleCallback(Handler.java:739)
                                                                       at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                       at android.os.Looper.loop(Looper.java:145)
                                                                       at android.app.ActivityThread.main(ActivityThread.java:6934)
                                                                       at java.lang.reflect.Method.invoke(Native Method)
                                                                       at java.lang.reflect.Method.invoke(Method.java:372)
                                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
                                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)

@novodimaporo
Copy link

novodimaporo commented Sep 26, 2017

Hi was this already fixed? I got the same error
I got this when I put mapbox in a fragment on a viewpager.

09-26 17:29:14.903 423-773/? E/SurfaceFlinger: Failed to find layer (SurfaceView - com.fullspeedtech.flipmap/com.fullspeedtech.flipmap.screen.main.MainActivity#0) in layer parent (no-parent).
09-26 17:29:14.904 423-774/? E/SurfaceFlinger: Failed to find layer (Background for - SurfaceView - com.fullspeedtech.flipmap/com.fullspeedtech.flipmap.screen.main.MainActivity#0) in layer parent (no-parent).


09-26 17:06:27.705 28348-28348/com.fullspeedtech.flipmap E/libEGL: eglCreateWindowSurface: native_window_api_connect (win=0x736669a010) failed (0xffffffea) (already connected to another API?)
09-26 17:06:27.705 28348-28348/com.fullspeedtech.flipmap E/libEGL: eglCreateWindowSurface:491 error 3003 (EGL_BAD_ALLOC)
09-26 17:06:27.705 28348-28348/com.fullspeedtech.flipmap E/mbgl: {eedtech.flipmap}[OpenGL]: eglCreateWindowSurface() returned error 12291
09-26 17:06:27.706 28348-28348/com.fullspeedtech.flipmap D/AndroidRuntime: Shutting down VM
09-26 17:06:27.708 28348-28348/com.fullspeedtech.flipmap E/AndroidRuntime: FATAL EXCEPTION: main
                                                                           Process: com.fullspeedtech.flipmap, PID: 28348
                                                                           java.lang.Error: eglCreateWindowSurface() failed
                                                                               at com.mapbox.mapboxsdk.maps.NativeMapView.nativeCreateSurface(Native Method)
                                                                               at com.mapbox.mapboxsdk.maps.NativeMapView.createSurface(NativeMapView.java:158)
                                                                               at com.mapbox.mapboxsdk.maps.MapView$SurfaceCallback.surfaceCreated(MapView.java:427)
                                                                               at android.view.SurfaceView.updateSurface(SurfaceView.java:664)
                                                                               at android.view.SurfaceView$2.onPreDraw(SurfaceView.java:143)
                                                                               at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:977)
                                                                               at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2337)
                                                                               at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1386)
                                                                               at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6733)
                                                                               at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
                                                                               at android.view.Choreographer.doCallbacks(Choreographer.java:723)
                                                                               at android.view.Choreographer.doFrame(Choreographer.java:658)
                                                                               at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
                                                                               at android.os.Handler.handleCallback(Handler.java:789)
                                                                               at android.os.Handler.dispatchMessage(Handler.java:98)
                                                                               at android.os.Looper.loop(Looper.java:164)
                                                                               at android.app.ActivityThread.main(ActivityThread.java:6541)
                                                                               at java.lang.reflect.Method.invoke(Native Method)
                                                                               at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
                                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

@krsticdragan
Copy link

Hi, just to confirm that same thing happend on Android 5.0. This is the stack trace from ACRA.

STACK_TRACE=java.lang.Error: eglSwapBuffers() failed
at com.mapbox.mapboxsdk.maps.NativeMapView.nativeRender(Native Method)
at com.mapbox.mapboxsdk.maps.NativeMapView.render(NativeMapView.java:179)
at com.mapbox.mapboxsdk.maps.MapView.onDraw(MapView.java:406)
at android.view.View.draw(View.java:16186)
at android.widget.FrameLayout.draw(FrameLayout.java:592)
at android.view.View.updateDisplayListIfDirty(View.java:15109)
at android.view.View.getDisplayList(View.java:15132)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3687)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3666)
at android.view.View.updateDisplayListIfDirty(View.java:15069)
at android.view.View.getDisplayList(View.java:15132)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3687)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3666)
at android.view.View.updateDisplayListIfDirty(View.java:15069)
at android.view.View.getDisplayList(View.java:15132)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3687)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3666)
at android.view.View.updateDisplayListIfDirty(View.java:15069)
at android.view.View.getDisplayList(View.java:15132)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3687)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3666)
at android.view.View.updateDisplayListIfDirty(View.java:15069)
at android.view.View.getDisplayList(View.java:15132)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3687)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3666)
at android.view.View.updateDisplayListIfDirty(View.java:15069)
at android.view.View.getDisplayList(View.java:15132)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3687)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3666)
at android.view.View.updateDisplayListIfDirty(View.java:15069)
at android.view.View.getDisplayList(View.java:15132)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3687)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3666)
at android.view.View.updateDisplayListIfDirty(View.java:15069)
at android.view.View.getDisplayList(View.java:15132)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3687)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3666)
at android.view.View.updateDisplayListIfDirty(View.java:15069)
at android.view.View.getDisplayList(View.java:15132)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3687)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3666)
at android.view.View.updateDisplayListIfDirty(View.java:15069)
at android.view.View.getDisplayList(View.java:15132)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:275)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:281)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:320)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:2751)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2584)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2176)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1191)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6642)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:777)
at android.view.Choreographer.doCallbacks(Choreographer.java:590)
at android.view.Choreographer.doFrame(Choreographer.java:560)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:763)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5938)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)

CUSTOM_DATA=
PHONE_MODEL=SM-N9005
BRAND=samsung
ANDROID_VERSION=5.0

@guiruiz
Copy link

guiruiz commented Oct 17, 2017

I had 34 reports of this error in last month.
captura de tela 2017-10-17 as 18 40 58

@jfirebaugh
Copy link
Contributor

@ivovandongen Is this fixed with GLSurfaceView?

@nsimtechnologie
Copy link

Same issues with Samsung S7. It seems to occur when GPS position are not activated on the phone...

com.mapbox.mapboxsdk.maps.NativeMapView.nativeRender(Native Method)
com.mapbox.mapboxsdk.maps.NativeMapView.render()NativeMapView.java:143
com.mapbox.mapboxsdk.maps.MapView.onDraw()MapView.java:1493
android.view.View.draw()View.java:16184
android.view.View.updateDisplayListIfDirty()View.java:15180
android.view.View.draw()View.java:15954
android.view.ViewGroup.drawChild()ViewGroup.java:3609
android.view.ViewGroup.dispatchDraw()ViewGroup.java:3399
android.view.View.updateDisplayListIfDirty()View.java:15175
android.view.View.draw()View.java:15954
android.view.ViewGroup.drawChild()ViewGroup.java:3609
android.view.ViewGroup.dispatchDraw()ViewGroup.java:3399
android.view.View.draw()View.java:16187
android.support.v4.view.ViewPager.draw()ViewPager.java:2443
android.view.View.updateDisplayListIfDirty()View.java:15180
android.view.View.draw()View.java:15954
android.view.ViewGroup.drawChild()ViewGroup.java:3609
android.view.ViewGroup.dispatchDraw()ViewGroup.java:3399
android.view.View.updateDisplayListIfDirty()View.java:15175
android.view.View.draw()View.java:15954
android.view.ViewGroup.drawChild()ViewGroup.java:3609
android.view.ViewGroup.dispatchDraw()ViewGroup.java:3399
android.view.View.draw()View.java:16187
android.view.View.updateDisplayListIfDirty()View.java:15180
android.view.View.draw()View.java:15954
android.view.ViewGroup.drawChild()ViewGroup.java:3609
android.view.ViewGroup.dispatchDraw()ViewGroup.java:3399
android.view.View.updateDisplayListIfDirty()View.java:15175
android.view.View.draw()View.java:15954
android.view.ViewGroup.drawChild()ViewGroup.java:3609
android.view.ViewGroup.dispatchDraw()ViewGroup.java:3399
android.view.View.draw()View.java:16187
com.android.internal.policy.PhoneWindow$DecorView.draw()PhoneWindow.java:2690
android.view.View.updateDisplayListIfDirty()View.java:15180
android.view.ThreadedRenderer.updateViewTreeDisplayList()ThreadedRenderer.java:281
android.view.ThreadedRenderer.updateRootDisplayList()ThreadedRenderer.java:287
android.view.ThreadedRenderer.draw()ThreadedRenderer.java:322
android.view.ViewRootImpl.draw()ViewRootImpl.java:2615
android.view.ViewRootImpl.performDraw()ViewRootImpl.java:2434
android.view.ViewRootImpl.performTraversals()ViewRootImpl.java:2067
android.view.ViewRootImpl.doTraversal()ViewRootImpl.java:1107
android.view.ViewRootImpl$TraversalRunnable.run()ViewRootImpl.java:6013
android.view.Choreographer$CallbackRecord.run()Choreographer.java:858
android.view.Choreographer.doCallbacks()Choreographer.java:670
android.view.Choreographer.doFrame()Choreographer.java:606
android.view.Choreographer$FrameDisplayEventReceiver.run()Choreographer.java:844
android.os.Handler.handleCallback()Handler.java:739
android.os.Handler.dispatchMessage()Handler.java:95
android.os.Looper.loop()Looper.java:148
android.app.ActivityThread.main()ActivityThread.java:5417
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run()ZygoteInit.java:726
com.android.internal.os.ZygoteInit.main()ZygoteInit.java:616

@jollyjoker992
Copy link

I met this issue many time by trace from crash report. Have you (Mapbox) do something to resolve it ??

@mrfaa
Copy link

mrfaa commented Dec 7, 2017

Got this issue too on a "LG Optimus L7 II" device. Any news on this issue?

@PhanVanLinh
Copy link

Got this issue on some devices type and API like
screenshot from 2017-12-08 09 35 08
It happened on more than 300 users who using my app. Please tell me if you need more information. Thank you.

@j05u3
Copy link

j05u3 commented Feb 10, 2018

It happened on 49 of my users the last week:
image

@j05u3
Copy link

j05u3 commented Feb 17, 2018

Link to report: http://crashes.to/s/69348b491f3

@ivovandongen
Copy link
Contributor

I'm going to close this issue as all stacktraces refer to older version of the SDK (before MapRenderer was introduced). There is no more NativeMapView.nativeRender etc.

If issues persist, please update to the latest version of the SDK first please.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Android Mapbox Maps SDK for Android crash
Projects
None yet
Development

No branches or pull requests