WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED DUPLICATE of
bug 247463
Bug 246459
[GTK] Crash in webkitWebViewBaseSnapshot when opening link from external application while Ephy Tech Preview is closed
https://bugs.webkit.org/show_bug.cgi?id=246459
Summary
[GTK] Crash in webkitWebViewBaseSnapshot when opening link from external appl...
Michael Catanzaro
Reported
2022-10-13 07:02:52 PDT
Make sure Ephy Tech Preview is closed and is your default browser. Also make sure it is GTK 4 (we have switched it from GTK 3 to GTK 4 again for testing purposes). Click on a link in any application (mail client, feed reader, whatever). For me, Epiphany will crash on startup. Unfortunately, Exalm cannot reproduce this bug, so maybe it's only me. Looks to be related to accelerated compositing mode. The backtrace: #0 0x00007fa7f387e8ba in webkitWebViewBaseSnapshot (snapshot=<optimized out>, widget=<optimized out>) at /usr/lib/debug/source/sdk/webkit2gtk-5.0.bst/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:742 #1 webkitWebViewBaseSnapshot(GtkWidget*, GtkSnapshot*) (widget=<optimized out>, snapshot=<optimized out>) at /usr/lib/debug/source/sdk/webkit2gtk-5.0.bst/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:726 #2 0x00007fa7f75ef598 in gtk_widget_create_render_node (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11606 #3 0x00007fa7f75f231c in gtk_widget_do_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11646 #4 0x00007fa7f75ff232 in gtk_widget_snapshot_child (widget=<optimized out>, child=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:12067 #5 0x00007fa7f74e3d6b in gtk_overlay_snapshot_child (snapshot=<optimized out>, child=<optimized out>, overlay=<optimized out>) at ../gtk/gtkoverlay.c:201 #6 gtk_overlay_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkoverlay.c:224 BFD: reopening /usr/lib/debug/usr/lib/x86_64-linux-gnu/libadwaita-1.so.0.debug: No such file or directory BFD: reopening /usr/lib/debug/usr/lib/x86_64-linux-gnu/libadwaita-1.so.0.debug: No such file or directory BFD: reopening /usr/lib/debug/usr/lib/x86_64-linux-gnu/libadwaita-1.so.0.debug: No such file or directory warning: Can't read data for section '.debug_loclists' in file '/usr/lib/debug/usr/lib/x86_64-linux-gnu/libadwaita-1.so.0.debug' #7 0x00007fa7f75ef18b in gtk_widget_create_render_node (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11611 #8 0x00007fa7f75f231c in gtk_widget_do_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11646 #9 0x00007fa7f75ff232 in gtk_widget_snapshot_child (widget=<optimized out>, child=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:12067 #10 0x00007fa7f75ff2de in gtk_widget_real_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:762 #11 0x00007fa7f75ef18b in gtk_widget_create_render_node (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11611 #12 0x00007fa7f75f231c in gtk_widget_do_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11646 #13 0x00007fa7f75ff232 in gtk_widget_snapshot_child (widget=<optimized out>, child=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:12067 #14 0x00007fa7f75ff2de in gtk_widget_real_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:762 #15 0x00007fa7f75ef18b in gtk_widget_create_render_node (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11611 #16 0x00007fa7f75f231c in gtk_widget_do_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11646 #17 0x00007fa7f75ff232 in gtk_widget_snapshot_child (widget=<optimized out>, child=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:12067 #18 0x00007fa7f6c321fc in adw_tab_view_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../src/adw-tab-view.c:1987 #19 0x00007fa7f75ef18b in gtk_widget_create_render_node (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11611 #20 0x00007fa7f75f231c in gtk_widget_do_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11646 #21 0x00007fa7f75ff232 in gtk_widget_snapshot_child (widget=<optimized out>, child=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:12067 #22 0x00007fa7f75ff2de in gtk_widget_real_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:762 #23 0x00007fa7f75ef18b in gtk_widget_create_render_node (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11611 #24 0x00007fa7f75f231c in gtk_widget_do_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11646 #25 0x00007fa7f75ff232 in gtk_widget_snapshot_child (widget=<optimized out>, child=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:12067 #26 0x00007fa7f75ff2de in gtk_widget_real_snapshot (widget=<optimized out>, snapshot=<optimized out>) --Type <RET> for more, q to quit, c to continue without paging--c at ../gtk/gtkwidget.c:762 #27 0x00007fa7f75ef18b in gtk_widget_create_render_node (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11611 #28 0x00007fa7f75f231c in gtk_widget_do_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11646 #29 0x00007fa7f75ff232 in gtk_widget_snapshot_child (widget=<optimized out>, child=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:12067 #30 0x00007fa7f6c04a90 in adw_flap_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../src/adw-flap.c:1066 #31 0x00007fa7f75ef598 in gtk_widget_create_render_node (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11606 #32 0x00007fa7f75f231c in gtk_widget_do_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11646 #33 0x00007fa7f75ff232 in gtk_widget_snapshot_child (widget=<optimized out>, child=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:12067 #34 0x00007fa7f75ff2de in gtk_widget_real_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:762 #35 0x00007fa7f75ef18b in gtk_widget_create_render_node (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11611 #36 0x00007fa7f75f231c in gtk_widget_do_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11646 #37 0x00007fa7f75ff232 in gtk_widget_snapshot_child (widget=<optimized out>, child=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:12067 #38 0x00007fa7f75ff2de in gtk_widget_real_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:762 #39 0x00007fa7f75ef598 in gtk_widget_create_render_node (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11606 #40 0x00007fa7f75f231c in gtk_widget_do_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11646 #41 0x00007fa7f75ff232 in gtk_widget_snapshot_child (widget=<optimized out>, child=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:12067 BFD: reopening /usr/lib/debug/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7400.1.debug: No such file or directory BFD: reopening /usr/lib/debug/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7400.1.debug: No such file or directory BFD: reopening /usr/lib/debug/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7400.1.debug: No such file or directory warning: Can't read data for section '.debug_loclists' in file '/usr/lib/debug/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7400.1.debug' #42 0x00007fa7f75ff2de in gtk_widget_real_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:762 #43 0x00007fa7f75ef18b in gtk_widget_create_render_node (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11611 #44 0x00007fa7f75f231c in gtk_widget_do_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11646 #45 0x00007fa7f75ff232 in gtk_widget_snapshot_child (widget=<optimized out>, child=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:12067 #46 0x00007fa7f75ff2de in gtk_widget_real_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:762 #47 0x00007fa7f75ef598 in gtk_widget_create_render_node (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11606 #48 0x00007fa7f75f231c in gtk_widget_do_snapshot (widget=<optimized out>, snapshot=<optimized out>) at ../gtk/gtkwidget.c:11646 #49 0x00007fa7f75fe96c in gtk_widget_snapshot (snapshot=<optimized out>, widget=<optimized out>) at ../gtk/gtkwidget.c:11668 #50 gtk_widget_render (widget=<optimized out>, surface=<optimized out>, region=<optimized out>) at ../gtk/gtkwidget.c:11700 #51 0x00007fa7f7606379 in surface_render (surface=<optimized out>, region=<optimized out>, widget=<optimized out>) at ../gtk/gtkwindow.c:4689 BFD: reopening /usr/lib/debug/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7400.1.debug: No such file or directory BFD: reopening /usr/lib/debug/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7400.1.debug: No such file or directory BFD: reopening /usr/lib/debug/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7400.1.debug: No such file or directory warning: Can't read data for section '.debug_loclists' in file '/usr/lib/debug/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7400.1.debug' #52 0x00007fa7f770f787 in _gdk_marshal_BOOLEAN__BOXEDv (closure=<optimized out>, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=<optimized out>) at gdk/gdkmarshalers.c:130 #53 0x00007fa7f7e706fa in _g_closure_invoke_va (closure=<optimized out>, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, n_params=<optimized out>, param_types=<optimized out>) at ../gobject/gclosure.c:895 #54 0x00007fa7f7e8b52e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=<optimized out>) at ../gobject/gsignal.c:3456 #55 0x00007fa7f7e8c2f3 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3606 #56 0x00007fa7f773cce2 in gdk_surface_process_updates_internal (surface=<optimized out>) at ../gdk/gdksurface.c:1334 BFD: reopening /usr/lib/debug/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.7400.1.debug: No such file or directory BFD: reopening /usr/lib/debug/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.7400.1.debug: No such file or directory BFD: reopening /usr/lib/debug/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.7400.1.debug: No such file or directory warning: Can't read data for section '.debug_loclists' in file '/usr/lib/debug/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.7400.1.debug' #57 gdk_surface_paint_on_clock (clock=<optimized out>, data=<optimized out>) at ../gdk/gdksurface.c:1422 #58 0x00007fa7f7e706fa in _g_closure_invoke_va (closure=<optimized out>, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, n_params=<optimized out>, param_types=<optimized out>) at ../gobject/gclosure.c:895 BFD: reopening /usr/lib/debug/usr/lib/x86_64-linux-gnu/libc.so.6.debug: No such file or directory BFD: reopening /usr/lib/debug/usr/lib/x86_64-linux-gnu/libc.so.6.debug: No such file or directory BFD: reopening /usr/lib/debug/usr/lib/x86_64-linux-gnu/libc.so.6.debug: No such file or directory warning: Can't read data for section '.debug_loclists' in file '/usr/lib/debug/usr/lib/x86_64-linux-gnu/libc.so.6.debug' #59 0x00007fa7f7e8c0ef in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=<optimized out>) at ../gobject/gsignal.c:3456 #60 0x00007fa7f7e8c2f3 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3606 #61 0x00007fa7f772bc6d in _gdk_frame_clock_emit_paint (frame_clock=<optimized out>) at ../gdk/gdkframeclock.c:708 #62 0x00007fa7f772c94e in gdk_frame_clock_paint_idle (data=<optimized out>) at ../gdk/gdkframeclockidle.c:609 #63 0x00007fa7f7d7435f in g_timeout_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at ../glib/gmain.c:5007 #64 0x00007fa7f7d73661 in g_main_dispatch (context=<optimized out>) at ../glib/gmain.c:3444 #65 g_main_context_dispatch (context=<optimized out>) at ../glib/gmain.c:4162 #66 0x00007fa7f7d73bb8 in g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at ../ The problem is here: auto* pageSnapshot = gtk_snapshot_new(); if (!webViewBase->priv->isBlank) { ASSERT(drawingArea->isInAcceleratedCompositingMode()); webViewBase->priv->acceleratedBackingStore->snapshot(pageSnapshot); <-- this is line 742 for 2.38.0 } Shame that's not a release assert.
Attachments
Add attachment
proposed patch, testcase, etc.
Michael Catanzaro
Comment 1
2022-10-25 14:10:24 PDT
*** This bug has been marked as a duplicate of
bug 238343
***
Michael Catanzaro
Comment 2
2022-12-01 14:18:23 PST
*** This bug has been marked as a duplicate of
bug 247463
***
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug