Bug 247954 - [GTK4] Crash loading webkit://gpu
Summary: [GTK4] Crash loading webkit://gpu
Status: RESOLVED DUPLICATE of bug 233592
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on: GTK4
Blocks:
  Show dependency treegraph
 
Reported: 2022-11-15 13:04 PST by Michael Catanzaro
Modified: 2022-12-13 06:49 PST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Catanzaro 2022-11-15 13:04:51 PST
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....
Comment 1 Michael Catanzaro 2022-12-13 06:35:57 PST
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.
Comment 2 Michael Catanzaro 2022-12-13 06:49:54 PST
It's exactly the same as bug #233592.

*** This bug has been marked as a duplicate of bug 233592 ***