Bug 233592
Summary: | [GTK] Gsk:ERROR:../gsk/gl/gskglcommandqueue.c:1266:gsk_gl_command_queue_create_render_target: assertion failed (glCheckFramebufferStatus (GL_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE): (0x00000000 == 0x00008cd5) | ||
---|---|---|---|
Product: | WebKit | Reporter: | info |
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED MOVED | ||
Severity: | Normal | CC: | bugs-noreply, chspa, manuel.genoves, mcatanzaro, webkit-bug-importer |
Priority: | P2 | ||
Version: | WebKit Nightly Build | ||
Hardware: | PC | ||
OS: | Linux | ||
Bug Depends on: | |||
Bug Blocks: | 210100 |
info
When i create a WebKitWebView and add this Widget to a Gtk4 widgettree but don't load an URI it will crash the application with
Gsk:ERROR:../gsk/gl/gskglcommandqueue.c:1266:gsk_gl_command_queue_create_render_target: assertion failed (glCheckFramebufferStatus (GL_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE): (0x00000000 == 0x00008cd5)
Bail out! Gsk:ERROR:../gsk/gl/gskglcommandqueue.c:1266:gsk_gl_command_queue_create_render_target: assertion failed (glCheckFramebufferStatus (GL_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE): (0x00000000 == 0x00008cd5)
Adding an URI before the widget is visible doesn't crash. I can also confirm that "about:blank" will not crash it.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Manuel Genovés
I have the exact same issue in the GTK4 port of Apostrophe even when I load an URI by default. I couldn't pinpoint yet the cause of the error
Manuel Genovés
I managed to get a small reproducer. Interestingly enough I hit this bug with or without setting an uri, so not sure what's happening.
https://gitlab.gnome.org/somas/webview-shenanigans
Michael Catanzaro
This looks like a GTK bug. Can you post a backtrace please?
Manuel Genovés
(In reply to Michael Catanzaro from comment #3)
> This looks like a GTK bug. Can you post a backtrace please?
Sure!
**
Gsk:ERROR:../gsk/gl/gskglcommandqueue.c:1276:gsk_gl_command_queue_create_render_target: assertion failed (glCheckFramebufferStatus (GL_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE): (0x00000000 == 0x00008cd5)
Bail out! Gsk:ERROR:../gsk/gl/gskglcommandqueue.c:1276:gsk_gl_command_queue_create_render_target: assertion failed (glCheckFramebufferStatus (GL_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE): (0x00000000 == 0x00008cd5)
Thread 1 "python" received signal SIGABRT, Aborted.
0x00007ffff7891184 in __pthread_kill_implementation () from /usr/lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0 0x00007ffff7891184 in __pthread_kill_implementation () at /usr/lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff783f00e in raise () at /usr/lib/x86_64-linux-gnu/libc.so.6
#2 0x00007ffff78287fc in abort () at /usr/lib/x86_64-linux-gnu/libc.so.6
#3 0x00007ffff73e1e48 in g_assertion_message_expr[cold] () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007ffff74463a7 in g_assertion_message_cmpnum () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007ffff5eb6d55 in gsk_gl_command_queue_create_render_target () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#6 0x00007ffff5ebe60a in gsk_gl_driver_create_render_target () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#7 0x00007ffff5ece2d0 in gsk_gl_render_job_visit_node_with_offscreen () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#8 0x00007ffff5ecb025 in gsk_gl_render_job_visit_rounded_clip_node () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#9 0x00007ffff5ecb898 in gsk_gl_render_job_visit_node () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#10 0x00007ffff5ecb61f in gsk_gl_render_job_visit_node () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#11 0x00007ffff5ecec9c in gsk_gl_render_job_visit_transform_node () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#12 0x00007ffff5ecbc73 in gsk_gl_render_job_visit_node () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#13 0x00007ffff5ecec9c in gsk_gl_render_job_visit_transform_node () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#14 0x00007ffff5ecbc73 in gsk_gl_render_job_visit_node () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#15 0x00007ffff5ecb61f in gsk_gl_render_job_visit_node () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#16 0x00007ffff5ecb2c6 in gsk_gl_render_job_visit_rounded_clip_node () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#17 0x00007ffff5ecb898 in gsk_gl_render_job_visit_node () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#18 0x00007ffff5ecb61f in gsk_gl_render_job_visit_node () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#19 0x00007ffff5ecec9c in gsk_gl_render_job_visit_transform_node () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#20 0x00007ffff5ecbc73 in gsk_gl_render_job_visit_node () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#21 0x00007ffff5ed0a67 in gsk_gl_render_job_render () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#22 0x00007ffff5eaf2f0 in gsk_gl_renderer_render () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#23 0x00007ffff5e96712 in gsk_renderer_render () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#24 0x00007ffff5ca593f in gtk_widget_render () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#25 0x00007ffff5cad159 in surface_render () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#26 0x00007ffff5e12e27 in _gdk_marshal_BOOLEAN__BOXEDv () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#27 0x00007ffff73395fa in _g_closure_invoke_va () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#28 0x00007ffff735380e in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#29 0x00007ffff73545d3 in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#30 0x00007ffff5e3ed32 in gdk_surface_paint_on_clock () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#31 0x00007ffff73395fa in _g_closure_invoke_va () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#32 0x00007ffff73543cf in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#33 0x00007ffff73545d3 in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#34 0x00007ffff5e2e69d in _gdk_frame_clock_emit_paint () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
--Type <RET> for more, q to quit, c to continue without paging--
#35 0x00007ffff5e2f30e in gdk_frame_clock_paint_idle () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#36 0x00007ffff5e2f3d4 in gdk_frame_clock_flush_idle () at /usr/lib/x86_64-linux-gnu/libgtk-4.so.1
#37 0x00007ffff741b65f in g_timeout_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007ffff741a961 in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#39 0x00007ffff741aeb8 in g_main_context_iterate.constprop () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#40 0x00007ffff741af53 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#41 0x00007ffff718d2ed in g_application_run () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#42 0x00007ffff7fad056 in ffi_call_unix64 () at /usr/lib/x86_64-linux-gnu/libffi.so.8
#43 0x00007ffff7fabadd in ffi_call_int () at /usr/lib/x86_64-linux-gnu/libffi.so.8
#44 0x00007ffff7fac2b3 in ffi_call () at /usr/lib/x86_64-linux-gnu/libffi.so.8
#45 0x00007ffff7a58416 in pygi_invoke_c_callable () at /usr/lib/python3.10/site-packages/gi/_gi.cpython-310-x86_64-linux-gnu.so
#46 0x00007ffff7a5a2f1 in pygi_function_cache_invoke () at /usr/lib/python3.10/site-packages/gi/_gi.cpython-310-x86_64-linux-gnu.so
#47 0x00007ffff7d3daa6 in _PyObject_Call () at /usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0
#48 0x00007ffff7c72c9c in _PyEval_EvalFrameDefault () at /usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0
#49 0x00007ffff7dc62e5 in _PyEval_Vector () at /usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0
#50 0x00007ffff7c74036 in _PyEval_EvalFrameDefault () at /usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0
#51 0x00007ffff7dc62e5 in _PyEval_Vector () at /usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0
#52 0x00007ffff7c767be in _PyEval_EvalFrameDefault () at /usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0
#53 0x00007ffff7dc62e5 in _PyEval_Vector () at /usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0
#54 0x00007ffff7dc6956 in PyEval_EvalCode () at /usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0
#55 0x00007ffff7dc69d4 in run_eval_code_obj () at /usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0
#56 0x00007ffff7e2144b in run_mod () at /usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0
#57 0x00007ffff7e2dad8 in pyrun_file () at /usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0
#58 0x00007ffff7e2dc4f in _PyRun_SimpleFileObject () at /usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0
#59 0x00007ffff7e2e1c9 in _PyRun_AnyFileObject () at /usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0
#60 0x00007ffff7e310f0 in Py_RunMain () at /usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0
#61 0x00007ffff7e31646 in Py_BytesMain () at /usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0
#62 0x00007ffff782954a in __libc_start_call_main () at /usr/lib/x86_64-linux-gnu/libc.so.6
#63 0x00007ffff782960b in __libc_start_main () at /usr/lib/x86_64-linux-gnu/libc.so.6
Michael Catanzaro
OK, next steps:
* Install debuginfo and take the backtrace again. We should see file names and line numbers.
* Then report at https://gitlab.gnome.org/GNOME/gtk/-/issues
There are no WebKit frames anywhere in this backtrace, so it's very likely going to need to be investigated by GTK developers.
Michael Catanzaro
*** Bug 247954 has been marked as a duplicate of this bug. ***
Michael Catanzaro
You reported it here: https://gitlab.gnome.org/GNOME/gtk/-/issues/5392
Closing as MOVED.