With GTK 4, loading webkit://gpu in Epiphany Tech Preview causes the UI process to crash. My debuginfo is broken currently, so I'll need to get a backtrace later. Creating this now just so I don't forget....
Got a backtrace. The crash is deep in GTK's GSK. There are no Epiphany or WebKit frames anywhere in the backtrace: (gdb) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #1 0x00007f778ae911f3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #2 0x00007f778ae3f00e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007f778ae287fc in __GI_abort () at abort.c:79 #4 0x00007f778bd82e48 in g_assertion_message (domain=<optimized out>, file=0x7f778b7919a2 "lf->batches.len > 0", line=<optimized out>, func=<optimized out>, message=<optimized out>) at ../glib/gtestutils.c:3264 #5 0x00007f778bde7537 in g_assertion_message_cmpnum (domain=0x7f778b78da77 <__func__.0+23> "er", domain@entry=0x7f778b78da57 "Gsk", file=0x7f778b7919a2 "lf->batches.len > 0", file@entry=0x7f778b791982 "../gsk/gl/gskglcommandqueue.c", line=line@entry=1276, func=0x7f778b792120 <__func__.4+32> "er_target", func@entry=0x7f778b792100 <__func__.4> "gsk_gl_command_queue_create_render_target", expr=expr@entry=0x7f778b791de0 "glCheckFramebufferStatus (GL_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE", arg1=<optimized out>, cmp=cmp@entry=0x7f778b725f38 "==", arg2=<optimized out>, numtype=<optimized out>) at ../glib/gtestutils.c:3323 #6 0x00007f778b6b7105 in gsk_gl_command_queue_create_render_target (self=<optimized out>, width=width@entry=90, height=height@entry=22, format=format@entry=32856, min_filter=min_filter@entry=9728, mag_filter=mag_filter@entry=9728, out_fbo_id=<optimized out>, out_texture_id=<optimized out>) at ../gsk/gl/gskglcommandqueue.c:1276 #7 0x00007f778b6be9ba in gsk_gl_driver_create_render_target (self=0x55e6d19eccf0 [UE], width=width@entry=90, height=height@entry=22, format=<optimized out>, min_filter=min_filter@entry=9728, mag_filter=mag_filter@entry=9728, out_render_target=<optimized out>) at ../gsk/gl/gskgldriver.c:931 #8 0x00007f778b6ce680 in gsk_gl_render_job_visit_node_with_offscreen (job=job@entry=0x55e6d0c5d430, node=node@entry=0x55e6d3c68880 [de], offscreen=offscreen@entry=0x7ffe4c141b70) at ../gsk/gl/gskglrenderjob.c:3928 #9 0x00007f778b6cb3d5 in gsk_gl_render_job_visit_rounded_clip_node (job=job@entry=0x55e6d0c5d430, node=node@entry=0x55e6d4088580) at ../gsk/gl/gskglrenderjob.c:1768 #10 0x00007f778b6cbc48 in gsk_gl_render_job_visit_node (job=job@entry=0x55e6d0c5d430, node=node@entry=0x55e6d4088580) at ../gsk/gl/gskglrenderjob.c:3747 #11 0x00007f778b6cb9cf in gsk_gl_render_job_visit_node (job=job@entry=0x55e6d0c5d430, node=node@entry=0x55e6d3e04e70 [kColorNode]) at ../gsk/gl/gskglrenderjob.c:3679 #12 0x00007f778b6cb9cf in gsk_gl_render_job_visit_node (job=job@entry=0x55e6d0c5d430, node=node@entry=0x55e6d2f2f940 [kColorNode]) at ../gsk/gl/gskglrenderjob.c:3679 #13 0x00007f778b6cf04c in gsk_gl_render_job_visit_transform_node (job=job@entry=0x55e6d0c5d430, node=node@entry=0x55e6d4723290 [GskColorMatrixNode]) at ../gsk/gl/gskglrenderjob.c:2055 #14 0x00007f778b6cc023 in gsk_gl_render_job_visit_node (job=job@entry=0x55e6d0c5d430, node=node@entry=0x55e6d4723290 [GskColorMatrixNode]) at ../gsk/gl/gskglrenderjob.c:3766 #15 0x00007f778b6cb9cf in gsk_gl_render_job_visit_node (job=job@entry=0x55e6d0c5d430, node=node@entry=0x55e6d47cbef0 [kColorNode]) at ../gsk/gl/gskglrenderjob.c:3679 #16 0x00007f778b6cf04c in gsk_gl_render_job_visit_transform_node (job=job@entry=0x55e6d0c5d430, node=node@entry=0x55e6d3d67020 [GskColorMatrixNode]) at ../gsk/gl/gskglrenderjob.c:2055 #17 0x00007f778b6cc023 in gsk_gl_render_job_visit_node (job=job@entry=0x55e6d0c5d430, node=node@entry=0x55e6d3d67020 [GskColorMatrixNode]) at ../gsk/gl/gskglrenderjob.c:3766 #18 0x00007f778b6cb9cf in gsk_gl_render_job_visit_node (job=job@entry=0x55e6d0c5d430, node=node@entry=0x55e6d384f600 [kColorNode]) at ../gsk/gl/gskglrenderjob.c:3679 #19 0x00007f778b6cf93c in gsk_gl_render_job_visit_clipped_child (job=0x55e6d0c5d430, child=0x55e6d384f600 [kColorNode], clip=<optimized out>) at ../gsk/gl/gskglrenderjob.c:1659 #20 0x00007f778b6cbc6e in gsk_gl_render_job_visit_clip_node (node=0x55e6d384f640 [skShadowNode], job=0x55e6d0c5d430) at ../gsk/gl/gskglrenderjob.c:1693 #21 gsk_gl_render_job_visit_node (job=job@entry=0x55e6d0c5d430, node=node@entry=0x55e6d384f640 [skShadowNode]) --Type <RET> for more, q to quit, c to continue without paging--c at ../gsk/gl/gskglrenderjob.c:3632 #22 0x00007f778b6cb676 in gsk_gl_render_job_visit_rounded_clip_node (job=job@entry=0x55e6d0c5d430, node=node@entry=0x55e6d34fb420) at ../gsk/gl/gskglrenderjob.c:1756 #23 0x00007f778b6cbc48 in gsk_gl_render_job_visit_node (job=job@entry=0x55e6d0c5d430, node=node@entry=0x55e6d34fb420) at ../gsk/gl/gskglrenderjob.c:3747 #24 0x00007f778b6cb9cf in gsk_gl_render_job_visit_node (job=job@entry=0x55e6d0c5d430, node=node@entry=0x55e6d34fb480 [kColorNode]) at ../gsk/gl/gskglrenderjob.c:3679 #25 0x00007f778b6cf04c in gsk_gl_render_job_visit_transform_node (job=job@entry=0x55e6d0c5d430, node=node@entry=0x55e6d3b1fe00 [GskColorMatrixNode]) at ../gsk/gl/gskglrenderjob.c:2055 #26 0x00007f778b6cc023 in gsk_gl_render_job_visit_node (job=job@entry=0x55e6d0c5d430, node=node@entry=0x55e6d3b1fe00 [GskColorMatrixNode]) at ../gsk/gl/gskglrenderjob.c:3766 #27 0x00007f778b6d0e17 in gsk_gl_render_job_render (job=job@entry=0x55e6d0c5d430, root=root@entry=0x55e6d3b1fe00 [GskColorMatrixNode]) at ../gsk/gl/gskglrenderjob.c:4078 #28 0x00007f778b6af6a0 in gsk_gl_renderer_render (renderer=0x55e6d19ec9a0 [ (renderer)], root=0x55e6d3b1fe00 [GskColorMatrixNode], update_area=<optimized out>) at ../gsk/gl/gskglrenderer.c:314 #29 0x00007f778b696ac2 in gsk_renderer_render (renderer=renderer@entry=0x55e6d19ec9a0 [ (renderer)], root=root@entry=0x55e6d3b1fe00 [GskColorMatrixNode], region=region@entry=0x55e6d3d76f80) at ../gsk/gskrenderer.c:463 #30 0x00007f778b4a5adf in gtk_widget_render (widget=widget@entry=0x55e6d0b7dce0 [EphyWindow], surface=0x55e6d19eae20 [up], region=region@entry=0x55e6d3d76f80) at ../gtk/gtkwidget.c:11725 #31 0x00007f778b4ad2f9 in surface_render (surface=<optimized out>, region=region@entry=0x55e6d3d76f80, widget=widget@entry=0x55e6d0b7dce0 [EphyWindow]) at ../gtk/gtkwindow.c:4726 #32 0x00007f778b613177 in _gdk_marshal_BOOLEAN__BOXEDv (closure=0x55e6d22ea180, return_value=0x7ffe4c143520, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=<optimized out>) at gdk/gdkmarshalers.c:130 #33 0x00007f778beba5fa in _g_closure_invoke_va (closure=0x55e6d22ea180, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, n_params=1, param_types=0x55e6d14d5220) at ../gobject/gclosure.c:895 #34 0x00007f778bed481e in g_signal_emit_valist (instance=0x55e6d19eae20, signal_id=357, detail=<optimized out>, var_args=<optimized out>) at ../gobject/gsignal.c:3448 #35 0x00007f778bed55e3 in g_signal_emit (instance=0x2, instance@entry=0x55e6d19eae20, signal_id=2, detail=6, detail@entry=0) at ../gobject/gsignal.c:3608 #36 0x00007f778b63f082 in gdk_surface_process_updates_internal (surface=0x55e6d19eae20 [up]) at ../gdk/gdksurface.c:1334 #37 gdk_surface_paint_on_clock (clock=<optimized out>, data=0x55e6d19eae20) at ../gdk/gdksurface.c:1422 #38 0x00007f778beba3e2 in g_closure_invoke (closure=0x55e6d19eb3c0, return_value=0x0, n_param_values=1, param_values=0x7ffe4c1438a0, invocation_hint=0x7ffe4c143820) at ../gobject/gclosure.c:832 #39 0x00007f778bece4a8 in handler_unref_R (handler=0x55e6d19de980, instance=0x55e6d19cdf80, signal_id=353) at ../gobject/gsignal.c:728 #42 0x00007f778bed55e3 in <emit signal spawn-exited:e_info != NULL on instance 0x55e6d19cdf80 [rial]> (instance=0x2, instance@entry=0x55e6d19cdf80, signal_id=2, detail=6, detail@entry=0) at ../gobject/gsignal.c:3608 #40 signal_emit_unlocked_R (node=<optimized out>, detail=0, instance=0x55e6d19cdf80, emission_return=0x0, instance_and_params=0x7ffe4c1438a0) at ../gobject/gsignal.c:3820 #41 0x00007f778bed5415 in g_signal_emit_valist (instance=0x55e6d19cdf80, signal_id=0, detail=<optimized out>, var_args=<optimized out>) at ../gobject/gsignal.c:3462 #43 0x00007f778b62e9ed in _gdk_frame_clock_emit_paint (frame_clock=frame_clock@entry=0x55e6d19cdf80 [rial]) at ../gdk/gdkframeclock.c:708 #44 0x00007f778b62f65e in gdk_frame_clock_paint_idle (data=data@entry=0x55e6d19cdf80) at ../gdk/gdkframeclockidle.c:609 #45 0x00007f778b62f724 in gdk_frame_clock_flush_idle (data=0x55e6d19cdf80, data@entry=<error reading variable: value has been optimized out>) at ../gdk/gdkframeclockidle.c:378 #46 0x00007f778bdbc6df in g_timeout_dispatch (source=0x55e6d46ef380, callback=<optimized out>, user_data=<optimized out>) at ../glib/gmain.c:5007 #47 0x00007f778bdbb9e1 in g_main_dispatch (context=<optimized out>) at ../glib/gmain.c:3444 #48 g_main_context_dispatch (context=<optimized out>) at ../glib/gmain.c:4162 #49 0x00007f778bdbbf38 in g_main_context_iterate (context=context@entry=0x55e6d08a2180, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4238 #50 0x00007f778bdbbfd3 in g_main_context_iteration (context=context@entry=0x55e6d08a2180, may_block=may_block@entry=1) at ../glib/gmain.c:4303 #51 0x00007f778bc6461d in g_application_run (application=0x55e6d08cfbb0 [EphyShell], argc=<optimized out>, argv=<optimized out>) at ../gio/gapplication.c:2573 #52 0x000055e6d059604b in main () Accordingly, I will report a new bug to GTK. But I'll leave this open here as well, due to major impact.
It's exactly the same as bug #233592. *** This bug has been marked as a duplicate of bug 233592 ***