After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 771872 - _cairo_surface_has_snapshots (surface)' failed
_cairo_surface_has_snapshots (surface)' failed
Status: RESOLVED NOTGNOME
Product: epiphany
Classification: Core
Component: General
3.22.x (obsolete)
Other Linux
: High critical
: ---
Assigned To: Epiphany Maintainers
Epiphany Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-09-23 10:50 UTC by john.frankish@outlook.com
Modified: 2016-09-24 07:55 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description john.frankish@outlook.com 2016-09-23 10:50:30 UTC
Using epiphany-3.22.0 and webkitgtk-2.14.0

fails with:

epiphany: cairo-surface.c:1652: cairo_surface_mark_dirty_rectangle: Assertion `! _cairo_surface_has_snapshots (surface)' failed.
Aborted

epiphany-3.21.92 and webkitgtk-2.13.2 worked without problems
Comment 1 Michael Catanzaro 2016-09-23 13:27:06 UTC
I can't reproduce it. We need a stacktrace please, using 'bt full' in gdb. Canned reply:

Thanks for taking the time to report this.
Without a stack trace from the crash it's very hard to determine what caused it.
Can you get us a stack trace? Please see https://wiki.gnome.org/Community/GettingInTouch/Bugzilla/GettingTraces for more information on how to do so. When pasting a stack trace in this bug report, please reset the status of this bug report from NEEDINFO to its previous status. Thanks in advance!
Comment 2 john.frankish@outlook.com 2016-09-23 14:13:51 UTC
To use glibc with debug symbols would be awkward.

If I recompile cairo, epiphany glib2, gtk3 and webkitgtk with debug symbols is that enough?

(gdb) bt full
  • #0 raise
    from /lib/libc.so.6
  • #1 abort
    from /lib/libc.so.6
  • #2 ??
    from /lib/libc.so.6
  • #3 __assert_fail
    from /lib/libc.so.6
  • #4 cairo_surface_mark_dirty_rectangle
    from /usr/local/lib/libcairo.so.2
  • #5 cairo_surface_mark_dirty
    from /usr/local/lib/libcairo.so.2
  • #6 ??
    from /usr/local/lib/libwebkit2gtk-4.0.so.37
  • #7 ??
    from /usr/local/lib/libwebkit2gtk-4.0.so.37
  • #8 ??
    from /usr/local/lib/libgtk-3.so.0
  • #9 gtk_container_propagate_draw
    from /usr/local/lib/libgtk-3.so.0
  • #10 ??
    from /usr/local/lib/libgtk-3.so.0
  • #11 ??
    from /usr/local/lib/libgtk-3.so.0
  • #12 gtk_container_propagate_draw
    from /usr/local/lib/libgtk-3.so.0
  • #13 ??
    from /usr/local/lib/libgtk-3.so.0
  • #14 ??
    from /usr/local/lib/libgtk-3.so.0
  • #15 ??
    from /usr/local/lib/libgtk-3.so.0
  • #16 ??
    from /usr/local/lib/libgtk-3.so.0
  • #17 ??
    from /usr/local/lib/libgtk-3.so.0
  • #18 gtk_container_propagate_draw
    from /usr/local/lib/libgtk-3.so.0
  • #19 ??
    from /usr/local/lib/libgtk-3.so.0
  • #20 ??
    from /usr/local/lib/libgtk-3.so.0
  • #21 ??
    from /usr/local/lib/libgtk-3.so.0
  • #22 ??
    from /usr/local/lib/libgtk-3.so.0
  • #23 ??
    from /usr/local/lib/libgtk-3.so.0
  • #24 ??
    from /usr/local/lib/libgtk-3.so.0
  • #25 gtk_container_propagate_draw
    from /usr/local/lib/libgtk-3.so.0
  • #26 ??
    from /usr/local/lib/libgtk-3.so.0
  • #27 ??
    from /usr/local/lib/libgtk-3.so.0
  • #28 ??
    from /usr/local/lib/libgtk-3.so.0
  • #29 ??
    from /usr/local/lib/libgtk-3.so.0
  • #30 ??
    from /usr/local/lib/libgtk-3.so.0
  • #31 ??
    from /usr/local/lib/libgtk-3.so.0
  • #32 ??
    from /usr/local/lib/libgtk-3.so.0
  • #33 gtk_container_propagate_draw
    from /usr/local/lib/libgtk-3.so.0
  • #34 ??
    from /usr/local/lib/libgtk-3.so.0
  • #35 ??
    from /usr/local/lib/libgtk-3.so.0
  • #36 ??
    from /usr/local/lib/libgtk-3.so.0
  • #37 ??
    from /usr/local/lib/libgtk-3.so.0
  • #38 gtk_main_do_event
    from /usr/local/lib/libgtk-3.so.0
  • #39 ??
    from /usr/local/lib/libgdk-3.so.0
  • #40 ??
    from /usr/local/lib/libgdk-3.so.0
  • #41 ??
    from /usr/local/lib/libgdk-3.so.0
  • #42 ??
    from /usr/local/lib/libgdk-3.so.0
  • #43 g_closure_invoke
    from /usr/local/lib/libgobject-2.0.so.0
  • #44 ??
    from /usr/local/lib/libgobject-2.0.so.0
  • #45 g_signal_emit_valist
    from /usr/local/lib/libgobject-2.0.so.0
  • #46 g_signal_emit
    from /usr/local/lib/libgobject-2.0.so.0
  • #47 ??
    from /usr/local/lib/libgdk-3.so.0
  • #48 ??
    from /usr/local/lib/libgdk-3.so.0
  • #49 ??
    from /usr/local/lib/libglib-2.0.so.0
  • #50 g_main_context_dispatch
    from /usr/local/lib/libglib-2.0.so.0
  • #51 ??
    from /usr/local/lib/libglib-2.0.so.0
  • #52 g_main_context_iteration
    from /usr/local/lib/libglib-2.0.so.0
  • #53 g_application_run
    from /usr/local/lib/libgio-2.0.so.0
  • #54 main
(gdb)
Comment 3 Michael Catanzaro 2016-09-23 15:03:35 UTC
(In reply to john.frankish@outlook.com from comment #2)
> To use glibc with debug symbols would be awkward.
> 
> If I recompile cairo, epiphany glib2, gtk3 and webkitgtk with debug symbols
> is that enough?

Yeah, that'd be fine
Comment 4 john.frankish@outlook.com 2016-09-23 15:16:07 UTC
Here it is:

Program received signal SIGABRT, Aborted.
0x00007fffeb26b7c1 in raise () from /lib/libc.so.6
(gdb) bt full
  • #0 raise
  • #1 abort
  • #2 __assert_fail
  • #3 __assert_perror_fail
  • #4 cairo_surface_mark_dirty_rectangle
  • #5 cairo_surface_mark_dirty
  • #6 WebKit::AcceleratedBackingStoreX11::paint(_cairo*, WebCore::IntRect const&)
  • #7 webkitWebViewBaseDraw(_GtkWidget*, _cairo*)
  • #8 gtk_widget_draw_internal
  • #9 gtk_container_propagate_draw
  • #10 gtk_container_draw
  • #11 gtk_widget_draw_internal
  • #12 gtk_container_propagate_draw
  • #13 gtk_paned_render
  • #14 gtk_css_custom_gadget_draw
  • #15 gtk_css_gadget_draw
  • #16 gtk_paned_draw
  • #17 gtk_widget_draw_internal
  • #18 gtk_container_propagate_draw
  • #19 gtk_container_draw
  • #20 gtk_box_draw_contents
  • #21 gtk_css_custom_gadget_draw
  • #22 gtk_css_gadget_draw
  • #23 gtk_box_draw
  • #24 gtk_widget_draw_internal
  • #25 gtk_container_propagate_draw
  • #26 gtk_notebook_draw_stack
  • #27 gtk_css_custom_gadget_draw
  • #28 gtk_css_gadget_draw
  • #29 gtk_box_gadget_draw
  • #30 gtk_css_gadget_draw
  • #31 gtk_notebook_draw
  • #32 gtk_widget_draw_internal
  • #33 gtk_container_propagate_draw
  • #34 gtk_container_draw
  • #35 gtk_window_draw.lto_priv
  • #36 gtk_widget_draw_internal
  • #37 gtk_widget_render
  • #38 gtk_main_do_event
  • #39 _gdk_event_emit
  • #40 _gdk_window_process_updates_recurse_helper.lto_priv.323
  • #41 gdk_window_process_updates_internal
  • #42 gdk_window_process_updates_with_mode.lto_priv
  • #43 g_closure_invoke
  • #44 signal_emit_unlocked_R.lto_priv.242
  • #45 g_signal_emit_valist
  • #46 g_signal_emit
  • #47 gdk_frame_clock_paint_idle
  • #48 gdk_threads_dispatch
  • #49 g_timeout_dispatch
  • #50 g_main_context_dispatch
  • #51 g_main_context_iterate.isra.42.lto_priv
  • #52 g_main_context_iteration
  • #53 g_application_run
  • #54 main

Comment 5 Michael Catanzaro 2016-09-23 17:06:46 UTC
It looks like a regression in WebKitGTK+ 2.14. I'll ask you to report this to bugs.webkit.org, but first it's important to get a better backtrace; we need to see local variables. Can you please take the backtrace with 'bt full' instead of just 'bt'? Once you have a backtrace showing local variables, then we can file a WebKit bug. Canned reply:

Thanks for taking the time to report this.
This issue is most likely a bug in WebKit. Please report the bug to https://bugs.webkit.org/ including a link to this bug report and noting the version of WebKitGTK+ that you have installed. When reporting the WebKit bug, be sure to include the prefix '[GTK]' in the bug summary and select the 'WebKit Gtk' component.
Comment 6 john.frankish@outlook.com 2016-09-23 17:25:38 UTC
that was "bt full"...
Comment 7 john.frankish@outlook.com 2016-09-23 17:32:16 UTC
https://bugs.webkit.org/show_bug.cgi?id=162497
Comment 8 john.frankish@outlook.com 2016-09-24 07:55:16 UTC
just for the record, both epiphany 3.21.92 and 3.22.0 work with webkitgtk-2.13.2, so it does seem to be a webkitgtk issue

note however that at least one of the gnome-*-3.22.0 packages requires webkitgtk-2.23.92, which creates a problem to revert to webkitgtk-2.13.2