-
Notifications
You must be signed in to change notification settings - Fork 1.3k
mbgl::gl::value::Viewport::Get() == getContext().viewport.getCurrentValue() failed #7220
Comments
Also seeing this on |
Noting that I'm not seeing this crash on a phone factor device, only on a tablet. cc @kkaefer, this issue seems related to the one with the keyboard? |
Now for the first time I have seen this on CI, on a nexus 6, not constantly reproducible. 12-09 05:48:47.559: I/DEBUG(358): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
12-09 05:48:47.559: I/DEBUG(358): Build fingerprint: 'google/shamu/shamu:5.1.1/LMY48Y/2364368:user/release-keys'
12-09 05:48:47.559: I/DEBUG(358): Revision: '33696'
12-09 05:48:47.559: I/DEBUG(358): ABI: 'arm'
12-09 05:48:47.560: I/DEBUG(358): pid: 2869, tid: 2869, name: pboxsdk.testapp >>> com.mapbox.mapboxsdk.testapp <<<
12-09 05:48:47.560: I/DEBUG(358): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
12-09 05:48:47.596: I/DEBUG(358): Abort message: '../../../platform/android/src/native_map_view.cpp:105: void mbgl::android::NativeMapView::updateViewBinding(): assertion "mbgl::gl::value::BindFramebuffer::Get() == getContext().bindFramebuffer.getCurrentValue()" failed'
12-09 05:48:47.596: I/DEBUG(358): r0 00000000 r1 00000b35 r2 00000006 r3 00000000
12-09 05:48:47.596: I/DEBUG(358): r4 b6f01e38 r5 00000006 r6 0000000b r7 0000010c
12-09 05:48:47.596: I/DEBUG(358): r8 b4b0ea00 r9 b4827800 sl 13a41f40 fp 00000000
12-09 05:48:47.596: I/DEBUG(358): ip 00000b35 sp beee16a8 lr b6d7e3c5 pc b6da20ec cpsr 60030010
12-09 05:48:47.596: I/DEBUG(358): backtrace:
12-09 05:48:47.596: I/DEBUG(358): #00 pc 0003b0ec /system/lib/libc.so (tgkill+12)
12-09 05:48:47.596: I/DEBUG(358): #01 pc 000173c1 /system/lib/libc.so (pthread_kill+52)
12-09 05:48:47.597: I/DEBUG(358): #02 pc 00017fd3 /system/lib/libc.so (raise+10)
12-09 05:48:47.597: I/DEBUG(358): #03 pc 00014795 /system/lib/libc.so (__libc_android_abort+36)
12-09 05:48:47.597: I/DEBUG(358): #04 pc 00012f44 /system/lib/libc.so (abort+4)
12-09 05:48:47.597: I/DEBUG(358): #05 pc 00015ab1 /system/lib/libc.so (__libc_fatal+16)
12-09 05:48:47.597: I/DEBUG(358): #06 pc 00014819 /system/lib/libc.so (__assert2+20)
12-09 05:48:47.597: I/DEBUG(358): #07 pc 000e98f9 /data/app/com.mapbox.mapboxsdk.testapp-1/lib/arm/libmapbox-gl.so
12-09 05:48:47.597: I/DEBUG(358): #08 pc 000e9d25 /data/app/com.mapbox.mapboxsdk.testapp-1/lib/arm/libmapbox-gl.so
12-09 05:48:47.597: I/DEBUG(358): #09 pc 0004d459 /data/app/com.mapbox.mapboxsdk.testapp-1/lib/arm/libmapbox-gl.so
12-09 05:48:47.597: I/DEBUG(358): #10 pc 002206ff /data/dalvik-cache/arm/data@app@com.mapbox.mapboxsdk.testapp-1@base.apk@classes.dex
12-09 05:48:49.293: W/ActivityManager(833): Error in app com.mapbox.mapboxsdk.testapp running instrumentation ComponentInfo{com.mapbox.mapboxsd |
Linking #6546 as this has become one of the causes for unreliable instrumentation tests. At the time of reporting this issue didn't show on CI, only the mentioned device in OP, but now the Nexus 6 has started to show this. |
This error seems to be caused by an inactive GL context. In #5721, we introduced refcounting for activations, but it appears that we aren't activating the context in some situations where it is necessary. |
Adding this ticket to a milestone to bump its priority -- as noted by @tobrun, this is affecting our instrumentation tests. |
Noticed a similar crash, not identical and only when compiling against arm-v8, haven't seen this on arm-v7:
|
noting here that we are still occasionally hitting this issue on Firebase test lab. |
One thing I noticed when looking into another issue is that this can occur when there isn't any valid surface. Eg. calling Map::render() when the surface hasn't been fully created yet. |
With recent changes to master and verifying with runs on AWS/Firebase, confirming that this doesn't occur anymore. Closing for now. |
Reopening as this seems to have resurfaced:
|
When I disable the assertion, I'm hitting the following assertion of the viewport size, which is executed below the frame buffer one:
My hunch indicates me the MapView is already been destroyed when these assertions are being executed. I'm going to see if I can avoid such a thing from occurring. atm the issue is reproducible on Firebase with every run. |
Hunch was incorrect, not related to destroying the surface but related to adding a Layer. Removing all the assertions shows the following eglSwapBuffers failed:
A coupe of lines before, I'm seeing:
|
plausible fix for this in #9198, the issue was that we were calling into MapboxMap from the instrumentation thread instead of the application ui thread. |
I was able to produce the following crash below with:
make run-android-lib-arm-v8
make run-android-ui-test
It fails on
testCirclePitchScale
but occurs on other tests as well, not constantly reproducible:Symbolicated:
cc @mapbox/android
The text was updated successfully, but these errors were encountered: