GNOME Bugzilla – Bug 686770
_cogl_bitmap_unbind: assertion failed: (bitmap->bound) for gnome-shell on nexus 7
Last modified: 2021-06-10 11:19:28 UTC
I installed Ubuntu on my nexus 7 and tried to run gnome-shell. Sometimes it starts up, sometimes not. In any case, very quickly after startup, I get the same crash:
+ Trace 231083
fwiw, cogl is using libEGL.so.1 from: Source: nvidia-graphics-drivers-tegra3 Version: 16.0-0ubuntu2 Description-en: NVIDIA binary Xorg driver for Tegra3 (cardhu) GPUs. This package contains the proprietary firmware and drivers needed to run hardware accelerated Open GLES 2.0 under X11 on NVIDIA Tegra3 (cardhu) based hardware.
This allows it to stumble along mostly fine: diff --git a/cogl/cogl-bitmap.c b/cogl/cogl-bitmap.c index b0c6ec7..6a5892e 100644 --- a/cogl/cogl-bitmap.c +++ b/cogl/cogl-bitmap.c @@ -64,7 +64,7 @@ COGL_OBJECT_DEFINE (Bitmap, bitmap); static void _cogl_bitmap_free (CoglBitmap *bmp) { - g_assert (!bmp->mapped); + //g_assert (!bmp->mapped); g_assert (!bmp->bound); if (bmp->shared_bmp) @@ -464,7 +464,7 @@ _cogl_bitmap_unbind (CoglBitmap *bitmap) return; } - g_assert (bitmap->bound); + //g_assert (bitmap->bound); bitmap->bound = FALSE; /* If the bitmap wasn't created from a pixel array then the There is a probably-unrelated issues that the menus don't get their black background drawn.
What about the suggested workaround in bug 686806? Is that a viable alternative for Nexus 7?
Created attachment 237639 [details] [review] bitmap: don't mark bitmap bound on _gl_bind error On inspection I came across this issue that might have possibly left cogl's status about when a bitmap has been bound in an inconsistent state. I'm not quite sure what version of Cogl you were running, but when I look at the difference between cogl-1.12 and master it looks like we basically did nothing in cogl_framebuffer_read_pixels_into_bitmap after calling _cogl_bitmap_bind to check for an error with binding and so I guess _cogl_bitmap_bind may have possibly returned before marking the bitmap bound but we'd still hit the _cogl_bitmap_unbind which would hit one of the assertions you commented out. In master (and cogl-1.14) we are more careful about checking for errors here but still I think the issue addressed in this patch could cause problems for you.
The patch looks sensible to land to me even if it turns out not to be the cause of this bug.
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org which have not seen updates for a longer time (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version of cogl, then please follow https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines and create a ticket at https://gitlab.gnome.org/GNOME/cogl/-/issues/ Thank you for your understanding and your help.