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.
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
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
This looks like a GTK bug. Can you post a backtrace please?
(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
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.
*** Bug 247954 has been marked as a duplicate of this bug. ***
You reported it here: https://gitlab.gnome.org/GNOME/gtk/-/issues/5392 Closing as MOVED.