WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
162497
[GTK] _cairo_surface_has_snapshots (surface)' failed in AcceleratedBackingStoreX11::paint
https://bugs.webkit.org/show_bug.cgi?id=162497
Summary
[GTK] _cairo_surface_has_snapshots (surface)' failed in AcceleratedBackingSto...
john.frankish
Reported
2016-09-23 10:34:13 PDT
Ref:
https://bugzilla.gnome.org/show_bug.cgi?id=771872
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 Program received signal SIGABRT, Aborted. 0x00007fffeb26b7c1 in raise () from /lib/libc.so.6 (gdb) bt full #0 0x00007fffeb26b7c1 in raise () at /lib/libc.so.6 #1 0x00007fffeb26c6e2 in abort () at /lib/libc.so.6 #2 0x00007fffeb265e83 in __assert_fail () at /lib/libc.so.6 #3 0x00007fffeb265ec7 in __assert_perror_fail () at /lib/libc.so.6 #4 0x00007ffff279c8cb in cairo_surface_mark_dirty_rectangle () at /usr/local/lib/libcairo.so.2 #5 0x00007ffff279d591 in cairo_surface_mark_dirty () at /usr/local/lib/libcairo.so.2 #6 0x00007ffff64c5b7a in WebKit::AcceleratedBackingStoreX11::paint(_cairo*, WebCore::IntRect const&) () at /usr/local/lib/libwebkit2gtk-4.0.so.37 #7 0x00007ffff64b6921 in webkitWebViewBaseDraw(_GtkWidget*, _cairo*) () at /usr/local/lib/libwebkit2gtk-4.0.so.37 #8 0x00007ffff381c701 in gtk_widget_draw_internal () at /usr/local/lib/libgtk-3.so.0 #9 0x00007ffff39d91be in gtk_container_propagate_draw () at /usr/local/lib/libgtk-3.so.0 #10 0x00007ffff39da166 in gtk_container_draw () at /usr/local/lib/libgtk-3.so.0 #11 0x00007ffff381c701 in gtk_widget_draw_internal () at /usr/local/lib/libgtk-3.so.0 #12 0x00007ffff39d91be in gtk_container_propagate_draw () at /usr/local/lib/libgtk-3.so.0 #13 0x00007ffff388a509 in gtk_paned_render () at /usr/local/lib/libgtk-3.so.0 #14 0x00007ffff3981b85 in gtk_css_custom_gadget_draw () at /usr/local/lib/libgtk-3.so.0 #15 0x00007ffff3994963 in gtk_css_gadget_draw () at /usr/local/lib/libgtk-3.so.0 #16 0x00007ffff387c78e in gtk_paned_draw () at /usr/local/lib/libgtk-3.so.0 #17 0x00007ffff381c701 in gtk_widget_draw_internal () at /usr/local/lib/libgtk-3.so.0 #18 0x00007ffff39d91be in gtk_container_propagate_draw () at /usr/local/lib/libgtk-3.so.0 #19 0x00007ffff39da166 in gtk_container_draw () at /usr/local/lib/libgtk-3.so.0 #20 0x00007ffff39be74e in gtk_box_draw_contents () at /usr/local/lib/libgtk-3.so.0 #21 0x00007ffff3981b85 in gtk_css_custom_gadget_draw () at /usr/local/lib/libgtk-3.so.0 ---Type <return> to continue, or q <return> to quit--- #22 0x00007ffff3994963 in gtk_css_gadget_draw () at /usr/local/lib/libgtk-3.so.0 #23 0x00007ffff39bf1f2 in gtk_box_draw () at /usr/local/lib/libgtk-3.so.0 #24 0x00007ffff381c701 in gtk_widget_draw_internal () at /usr/local/lib/libgtk-3.so.0 #25 0x00007ffff39d91be in gtk_container_propagate_draw () at /usr/local/lib/libgtk-3.so.0 #26 0x00007ffff38ab7cf in gtk_notebook_draw_stack () at /usr/local/lib/libgtk-3.so.0 #27 0x00007ffff3981b85 in gtk_css_custom_gadget_draw () at /usr/local/lib/libgtk-3.so.0 #28 0x00007ffff3994963 in gtk_css_gadget_draw () at /usr/local/lib/libgtk-3.so.0 #29 0x00007ffff39c280a in gtk_box_gadget_draw () at /usr/local/lib/libgtk-3.so.0 #30 0x00007ffff3994963 in gtk_css_gadget_draw () at /usr/local/lib/libgtk-3.so.0 #31 0x00007ffff38ae55b in gtk_notebook_draw () at /usr/local/lib/libgtk-3.so.0 #32 0x00007ffff381c701 in gtk_widget_draw_internal () at /usr/local/lib/libgtk-3.so.0 #33 0x00007ffff39d91be in gtk_container_propagate_draw () at /usr/local/lib/libgtk-3.so.0 #34 0x00007ffff39da166 in gtk_container_draw () at /usr/local/lib/libgtk-3.so.0 #35 0x00007ffff380772d in gtk_window_draw.lto_priv () at /usr/local/lib/libgtk-3.so.0 #36 0x00007ffff381c701 in gtk_widget_draw_internal () at /usr/local/lib/libgtk-3.so.0 #37 0x00007ffff381d2c9 in gtk_widget_render () at /usr/local/lib/libgtk-3.so.0 #38 0x00007ffff38ce1bb in gtk_main_do_event () at /usr/local/lib/libgtk-3.so.0 #39 0x00007ffff34fd8b7 in _gdk_event_emit () at /usr/local/lib/libgdk-3.so.0 #40 0x00007ffff3507c2b in _gdk_window_process_updates_recurse_helper.lto_priv.323 () at /usr/local/lib/libgdk-3.so.0 #41 0x00007ffff350c266 in gdk_window_process_updates_internal () at /usr/local/lib/libgdk-3.so.0 #42 0x00007ffff350c3ba in gdk_window_process_updates_with_mode.lto_priv () at /usr/local/lib/libgdk-3.so.0 #43 0x00007fffecd775eb in g_closure_invoke () at /usr/local/lib/libgobject-2.0.so.0 #44 0x00007fffecd7b931 in signal_emit_unlocked_R.lto_priv.242 () at /usr/local/lib/libgobject-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #45 0x00007fffecd63201 in g_signal_emit_valist () at /usr/local/lib/libgobject-2.0.so.0 #46 0x00007fffecd7bda9 in g_signal_emit () at /usr/local/lib/libgobject-2.0.so.0 #47 0x00007ffff350606a in gdk_frame_clock_paint_idle () at /usr/local/lib/libgdk-3.so.0 #48 0x00007ffff351e046 in gdk_threads_dispatch () at /usr/local/lib/libgdk-3.so.0 #49 0x00007fffec69cbec in g_timeout_dispatch () at /usr/local/lib/libglib-2.0.so.0 #50 0x00007fffec69e52b in g_main_context_dispatch () at /usr/local/lib/libglib-2.0.so.0 #51 0x00007fffec6ae60e in g_main_context_iterate.isra.42.lto_priv () at /usr/local/lib/libglib-2.0.so.0 #52 0x00007fffec69cd7a in g_main_context_iteration () at /usr/local/lib/libglib-2.0.so.0 #53 0x00007fffedcd93ff in g_application_run () at /usr/local/lib/libgio-2.0.so.0 #54 0x0000000000432fb5 in main () (gdb)
Attachments
CMakeError.log
(863 bytes, application/octet-stream)
2016-11-30 20:27 PST
,
john.frankish
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Michael Catanzaro
Comment 1
2016-11-28 04:42:08 PST
It would be useful to have a better-quality backtrace here. I guess you're building WebKit manually as I see it's installed into /usr/local. You can pass -DCMAKE_BUILD_TYPE=RelWithDebInfo to get debug info.
john.frankish
Comment 2
2016-11-28 09:33:15 PST
I tried, but the build fails with: [ 97%] Linking CXX shared library ../../lib/libwebkit2gtk-4.0.so collect2: error: ld returned 1 exit status make[2]: *** [Source/WebKit2/CMakeFiles/WebKit2.dir/build.make:19448: lib/libwebkit2gtk-4.0.so.37.14.9] Error 1 make[1]: *** [CMakeFiles/Makefile2:1534: Source/WebKit2/CMakeFiles/WebKit2.dir/all] Error 2 make: *** [Makefile:150: all] Error 2 Command exited with non-zero status 2 Using: cmake -DCMAKE_C_FLAGS="-mtune=generic -Os -pipe" -DCMAKE_CXX_FLAGS="-mtune=generic -Os -pipe" -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_INSTALL_LIBEXECDIR=/usr/local/lib -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_SKIP_RPATH=ON -DENABLE_ACCELERATED_2D_CANVAS=OFF -DUSE_LD_GOLD=OFF -DENABLE_MINIBROWSER=ON -DUSE_LIBHYPHEN=OFF -DPORT=GTK -Wno-dev ../ find . -name CMakeCache.txt -type f -exec sed -i 's/-O2//g' {} \; find . -name CMakeCache.txt -type f -exec sed -i 's/-O3//g' {} \; CC="gcc -flto -fuse-linker-plugin" CXX="g++ -flto -fuse-linker-plugin" -j5 Note that the same thing, but with -DCMAKE_BUILD_TYPE=Release works
john.frankish
Comment 3
2016-11-29 20:10:42 PST
How do you make the wegkitgtk build show more detailed error messages? Is a file produced containing the error details?
john.frankish
Comment 4
2016-11-30 00:58:36 PST
I got webkitgtk to compile with "-DCMAKE_BUILD_TYPE=RelWithDebInfo", but the gdb backtrace is the same...
Michael Catanzaro
Comment 5
2016-11-30 09:50:34 PST
(In reply to
comment #3
)
> How do you make the wegkitgtk build show more detailed error messages? > > Is a file produced containing the error details?
The detail we need is just a better stacktrace for this crash. (In reply to
comment #4
)
> I got webkitgtk to compile with "-DCMAKE_BUILD_TYPE=RelWithDebInfo", but the > gdb backtrace is the same...
You don't see any debuginfo when you run 'bt full', really? I don't know why that would be. Are you sure you didn't accidentally run 'bt' without the 'full'?
john.frankish
Comment 6
2016-11-30 20:27:38 PST
Created
attachment 295813
[details]
CMakeError.log
john.frankish
Comment 7
2016-11-30 20:28:23 PST
I double-checked and found that with "bt full" I got this: (gdb) bt full #0 0x00007fffeae1fbb4 in raise () from /lib/libc.so.6 No symbol table info available. I usually compile with "-g" removed and -flto, but if I leave "-g" in place and compile webkitgtk with "-DCMAKE_BUILD_TYPE=RelWithDebInfo", it fails with this the error below (see also CMakeError.log attached) If I remove "-g" then webkitgtk compiles with "-DCMAKE_BUILD_TYPE=RelWithDebInfo" without problems, but I guess I need "-g" to get the symbol table info. ---------- cmake -DCMAKE_C_FLAGS="-mtune=generic -Os -pipe" -DCMAKE_CXX_FLAGS="-mtune=generic -Os -pipe" -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=/usr/local/lib -DCMAKE_INSTALL_LIBEXECDIR=/usr/local/lib -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_SKIP_RPATH=ON -DENABLE_ACCELERATED_2D_CANVAS=OFF -DUSE_LD_GOLD=OFF -DENABLE_MINIBROWSER=ON -DUSE_LIBHYPHEN=OFF -DPORT=GTK -DUSE_SYSTEM_MALLOC=ON -DENABLE_GLES2=ON -Wno-dev ../ find . -name CMakeCache.txt -type f -exec sed -i 's/-O2//g' {} \; find . -name CMakeCache.txt -type f -exec sed -i 's/-O3//g' {} \; time make CC="gcc -flto -fuse-linker-plugin" CXX="g++ -flto -fuse-linker-plugin" -j5 ... collect2: error: ld returned 1 exit status make[2]: *** [Source/WebKit2/CMakeFiles/WebKit2.dir/build.make:19447: lib/libwebkit2gtk-4.0.so.37.14.9] Error 1 make[2]: Leaving directory '/usr/src/webkitgtk-2.14.2/build' make[1]: *** [CMakeFiles/Makefile2:1460: Source/WebKit2/CMakeFiles/WebKit2.dir/all] Error 2 make[1]: Leaving directory '/usr/src/webkitgtk-2.14.2/build' make: *** [Makefile:150: all] Error 2 Command exited with non-zero status 2
Michael Catanzaro
Comment 8
2016-12-01 05:41:44 PST
Yes, if you remove -g then of course there will be no debuginfo at all. Don't do that. :) I suspect your build is failing because of one of your custom flags, try getting rid of all the custom stuff and just running a nice simple: cmake -DPORT=GTK -DCMAKE_BUILD_TYPE=RelWithDebInfo time make -j5 That might also "fix" this bug, who knows....
john.frankish
Comment 9
2016-12-02 07:01:28 PST
hopefully this is enough: #4 0x00007ffff14548cb in cairo_surface_mark_dirty_rectangle () from /usr/local/lib/libcairo.so.2 No symbol table info available. #5 0x00007ffff1455591 in cairo_surface_mark_dirty () from /usr/local/lib/libcairo.so.2 No symbol table info available. #6 0x00007ffff57c74a8 in WebKit::AcceleratedBackingStoreX11::paint (this=this@entry=0xae6bf0, cr=cr@entry=0xb4fc00, clipRect=...) at /mnt/sdc8/usr/src/webkitgtk-2.14.2/Source/WebKit2/UIProcess/gtk/AcceleratedBackingStoreX11.cpp:178 No locals. #7 0x00007ffff57ad7ed in webkitWebViewBaseDraw (widget=0xacac10, cr=0xb4fc00) at /mnt/sdc8/usr/src/webkitgtk-2.14.2/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:543 ---Type <return> to continue, or q <return> to quit--- webViewBase = <optimized out> clipRect = {x = 0, y = 0, width = 1366, height = 694} #8 0x00007ffff24d5701 in ?? () from /usr/local/lib/libgtk-3.so.0 No symbol table info available.
Michael Catanzaro
Comment 10
2016-12-02 08:21:11 PST
No, please post the full backtrace showing local variables for the entire stack, same as we expect from all other bug reports.
john.frankish
Comment 11
2016-12-02 09:03:35 PST
The full read out is at the start of the bug report. How do you show the local variables?
Michael Catanzaro
Comment 12
2016-12-02 09:26:46 PST
(In reply to
comment #11
)
> The full read out is at the start of the bug report. > > How do you show the local variables?
'bt full' just like you showed there... in the first comment you have a backtrace without any line numbers or local variables, in this last comment you have a partial backtrace with local variables Maybe it would be better to show you what we expect. Something like this:
https://bugzilla.redhat.com/attachment.cgi?id=1219931
We don't usually need all threads, just one is usually enough, and we don't need all the library state at the bottom, just the output of 'bt full'. But that needs to be a complete stacktrace of the crashing thread from the top frame down to the bottom one. You need this every time you report a C/C++ crash to the developers of any application; there's nothing WebKit-specific about this. Most distros make this easy; in Fedora gdb tells you run a 'dnf debuginfo-install' command, you wait two minutes for the debuginfo to be installed, and then you get the stacktrace again. If you're building everything yourself in /usr/local with no debuginfo then consequently you've got to rebuild everything in the stack with -g to get the debuginfo.
john.frankish
Comment 13
2016-12-03 00:23:10 PST
So, after recompiling glibc-2.24, glib-2.50.0, cairo-1.14.2 and gtk+-3.22.0 epiphany: cairo-surface.c:1652: cairo_surface_mark_dirty_rectangle: Assertion `! _cairo_surface_has_snapshots (surface)' failed. Thread 1 "epiphany" received signal SIGABRT, Aborted. __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:58 58 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt full #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:58 set = {__val = {0, 140737117909758, 140737488344104, 140737117070549, 140737415839744, 12925552, 12925653, 12925552, 12925552, 12925681, 12925852, 12925552, 12925852, 0, 0, 0}} pid = <optimized out> tid = <optimized out> ret = 0 #1 0x00007fffe9dbcaac in __GI_abort () at abort.c:89 save_stage = 2 act = {__sigaction_handler = {sa_handler = 0x674, sa_sigaction = 0x674}, sa_mask = {__val = { 140737488344080, 47244640256, 140737488344128, 0, 4, 1056, 21474836480, 140737117909758, 140737117935504, 140737117909747, 0, 0, 140737117909747, 140737354002432, 140737240800308, 140737240799872}}, sa_flags = 510, sa_restorer = 0x0} sigs = {__val = {32, 0 <repeats 15 times>}} #2 0x00007fffe9db6205 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x7ffff13e9a80 "! _cairo_surface_has_snapshots (surface)", file=file@entry=0x7ffff13e9c34 "cairo-surface.c", line=line@entry=1652, function=function@entry=0x7ffff13e9f40 <__PRETTY_FUNCTION__.11221> "cairo_surface_mark_dirty_rectangle") at assert.c:92 str = 0xc53bb0 "epiphany: cairo-surface.c:1652: cairo_surface_mark_dirty_rectangle: Assertion `! _cairo_surface_has_snapshots (surface)' failed.\n" total = 4096 #3 0x00007fffe9db6249 in __GI___assert_fail ( assertion=0x7ffff13e9a80 "! _cairo_surface_has_snapshots (surface)", file=0x7ffff13e9c34 "cairo-surface.c", line=1652, function=0x7ffff13e9f40 <__PRETTY_FUNCTION__.11221> "cairo_surface_mark_dirty_rectangle") at assert.c:101 No locals. #4 0x00007ffff136ccd9 in cairo_surface_mark_dirty_rectangle () from /usr/local/lib/libcairo.so.2 No symbol table info available. #5 0x00007ffff136cd15 in cairo_surface_mark_dirty () from /usr/local/lib/libcairo.so.2 No symbol table info available. #6 0x00007ffff57c74a8 in WebKit::AcceleratedBackingStoreX11::paint (this=this@entry=0xab5500, cr=cr@entry=0xb09900, clipRect=...) at /mnt/sdc8/usr/src/webkitgtk-2.14.2/Source/WebKit2/UIProcess/gtk/AcceleratedBackingStoreX11.cpp:178 No locals. #7 0x00007ffff57ad7ed in webkitWebViewBaseDraw (widget=0xa9a7f0, cr=0xb09900) at /mnt/sdc8/usr/src/webkitgtk-2.14.2/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:543 webViewBase = <optimized out> clipRect = {x = 0, y = 0, width = 610, height = 510} #8 0x00007ffff244be3c in gtk_widget_draw_internal (widget=<optimized out>, cr=<optimized out>, clip_to_size=<optimized out>, cr=<optimized out>, widget=<optimized out>) at gtkwidget.c:7015 event_window = <optimized out> result = 1072693248 push_group = <optimized out> cr = 0xb09900 widget = 0xa9a7f0 __func__ = "gtk_widget_draw_internal" #9 0x00007ffff2658068 in gtk_container_propagate_draw (container=container@entry=0xa0b2a0, child=0xa9a7f0, cr=cr@entry=0xb09900) at gtkcontainer.c:3838 allocation = <optimized out> w = 0xb494c0 x = 0 y = 0 __func__ = "gtk_container_propagate_draw" #10 0x00007ffff265944a in gtk_container_draw (widget=0xa0b2a0, cr=0xb09900) at gtkcontainer.c:3658 container = 0xa0b2a0 child_infos = 0xc4a980 i = 0 child_info = <optimized out> data = {container = 0xa0b2a0, child_infos = 0xc4a980, cr = 0xb09900} #11 0x00007ffff244be3c in gtk_widget_draw_internal (widget=<optimized out>, cr=<optimized out>, clip_to_size=<optimized out>, cr=<optimized out>, widget=<optimized out>) at gtkwidget.c:7015 event_window = <optimized out> result = 1072693248 push_group = <optimized out> cr = 0xb09900 widget = 0xa0b2a0 __func__ = "gtk_widget_draw_internal" #12 0x00007ffff2658068 in gtk_container_propagate_draw (container=<optimized out>, child=0xa0b2a0, cr=0xb09900) at gtkcontainer.c:3838 allocation = <optimized out> w = 0x709340 x = 0 y = 0 __func__ = "gtk_container_propagate_draw" #13 0x00007ffff250f2d0 in gtk_paned_render (gadget=<optimized out>, cr=0xb09900, x=<optimized out>, y=<optimized out>, width=<optimized out>, height=<optimized out>, data=0x0) at gtkpaned.c:1818 priv = 0xabb050 widget_allocation = {x = 0, y = 46, width = 610, height = 510} window_x = 0 window_y = 46 #14 0x00007ffff265022d in gtk_css_custom_gadget_draw (gadget=<optimized out>, cr=<optimized out>, x=<optimized out>, y=<optimized out>, width=<optimized out>, height=<optimized out>, height=<optimized out>, width=<optimized out>, y=<optimized out>, x=<optimized out>, cr=<optimized out>, gadget=<optimized out>) at gtkcsscustomgadget.c:159 No locals. #15 0x00007ffff25ecff0 in gtk_css_gadget_draw (gadget=0xaa82a0, cr=0xb09900) at gtkcssgadget.c:877 margin = {left = 0, right = 0, top = 0, bottom = 0} border = {left = 0, right = 0, top = 0, bottom = 0} padding = {left = 0, right = 0, top = 0, bottom = 0} draw_focus = 0 x = 0 y = 0 width = 610 height = 510 contents_x = 0 contents_y = 0 contents_width = 610 contents_height = 510 margin_box = {x = 0, y = 0, width = 610, height = 510} __func__ = "gtk_css_gadget_draw" #16 0x00007ffff2501951 in gtk_paned_draw (widget=<optimized out>, cr=<optimized out>) at gtkpaned.c:1782 No locals. #17 0x00007ffff244be3c in gtk_widget_draw_internal (widget=<optimized out>, cr=<optimized out>, clip_to_size=<optimized out>, cr=<optimized out>, widget=<optimized out>) at gtkwidget.c:7015 event_window = <optimized out> result = 1072693248 push_group = <optimized out> cr = 0xb09900 widget = 0xabb200 __func__ = "gtk_widget_draw_internal" #18 0x00007ffff2658068 in gtk_container_propagate_draw (container=container@entry=0xa346a0, child=0xabb200, cr=cr@entry=0xb09900) at gtkcontainer.c:3838 allocation = <optimized out> w = 0x709340 x = 0 y = 0 __func__ = "gtk_container_propagate_draw" #19 0x00007ffff265944a in gtk_container_draw (widget=0xa346a0, cr=0xb09900) at gtkcontainer.c:3658 container = 0xa346a0 child_infos = 0xac5300 i = 2 child_info = <optimized out> data = {container = 0xa346a0, child_infos = 0xac5300, cr = 0xb09900} #20 0x00007ffff2607a7d in gtk_box_draw_contents (gadget=<optimized out>, cr=<optimized out>, x=<optimized out>, y=<optimized out>, width=<optimized out>, height=<optimized out>, unused=0x0) at gtkbox.c:448 No locals. #21 0x00007ffff265022d in gtk_css_custom_gadget_draw (gadget=<optimized out>, cr=<optimized out>, x=<optimized out>, y=<optimized out>, width=<optimized out>, height=<optimized out>, height=<optimized out>, width=<optimized out>, y=<optimized out>, x=<optimized out>, cr=<optimized out>, gadget=<optimized out>) at gtkcsscustomgadget.c:159 No locals. #22 0x00007ffff25ecff0 in gtk_css_gadget_draw (gadget=0xa9ce00, cr=0xb09900) at gtkcssgadget.c:877 margin = {left = 0, right = 0, top = 0, bottom = 0} border = {left = 0, right = 0, top = 0, bottom = 0} padding = {left = 0, right = 0, top = 0, bottom = 0} draw_focus = 0 x = 0 y = 0 width = 610 height = 510 contents_x = 0 contents_y = 0 contents_width = 610 contents_height = 510 margin_box = {x = 0, y = 0, width = 610, height = 510} __func__ = "gtk_css_gadget_draw" #23 0x00007ffff2608721 in gtk_box_draw (widget=<optimized out>, cr=<optimized out>) at gtkbox.c:457 No locals. #24 0x00007ffff244be3c in gtk_widget_draw_internal (widget=<optimized out>, cr=<optimized out>, clip_to_size=<optimized out>, cr=<optimized out>, widget=<optimized out>) at gtkwidget.c:7015 event_window = <optimized out> result = 1072693248 push_group = <optimized out> cr = 0xb09900 widget = 0xa346a0 __func__ = "gtk_widget_draw_internal" #25 0x00007ffff2658068 in gtk_container_propagate_draw (container=<optimized out>, child=0xa346a0, cr=0xb09900) at gtkcontainer.c:3838 allocation = <optimized out> w = 0x709340 x = 0 y = 0 __func__ = "gtk_container_propagate_draw" #26 0x00007ffff250f0f0 in gtk_notebook_draw_stack.lto_priv.1020 (gadget=<optimized out>, cr=0xb09900, x=<optimized out>, y=<optimized out>, width=<optimized out>, height=<optimized out>, unused=0x0) at gtknotebook.c:2511 priv = 0x928020 #27 0x00007ffff265022d in gtk_css_custom_gadget_draw (gadget=<optimized out>, cr=<optimized out>, x=<optimized out>, y=<optimized out>, width=<optimized out>, height=<optimized out>, height=<optimized out>, width=<optimized out>, y=<optimized out>, x=<optimized out>, cr=<optimized out>, gadget=<optimized out>) at gtkcsscustomgadget.c:159 No locals. #28 0x00007ffff25ecff0 in gtk_css_gadget_draw (gadget=0x79aae0, cr=0xb09900) at gtkcssgadget.c:877 margin = {left = 0, right = 0, top = 0, bottom = 0} border = {left = 0, right = 0, top = 0, bottom = 0} padding = {left = 0, right = 0, top = 0, bottom = 0} draw_focus = 0 x = 0 y = 0 width = 610 height = 510 contents_x = 0 contents_y = 0 contents_width = 610 contents_height = 510 margin_box = {x = 0, y = 0, width = 610, height = 510} __func__ = "gtk_css_gadget_draw" #29 0x00007ffff260cb44 in gtk_box_gadget_draw (gadget=<optimized out>, cr=0xb09900, x=<optimized out>, y=<optimized out>, width=<optimized out>, height=<optimized out>) at gtkboxgadget.c:512 draw_index = <optimized out> child = <optimized out> i = 0 #30 0x00007ffff25ecff0 in gtk_css_gadget_draw (gadget=0x983a80, cr=0xb09900) at gtkcssgadget.c:877 margin = {left = 0, right = 0, top = 0, bottom = 0} border = {left = 0, right = 0, top = 0, bottom = 0} padding = {left = 0, right = 0, top = 0, bottom = 0} draw_focus = 0 x = 0 y = 0 width = 610 height = 510 contents_x = 0 contents_y = 0 contents_width = 610 contents_height = 510 margin_box = {x = 0, y = 0, width = 610, height = 510} __func__ = "gtk_css_gadget_draw" #31 0x00007ffff250f35c in gtk_notebook_draw.lto_priv.1029 (widget=<optimized out>, cr=0xb09900) at gtknotebook.c:2526 notebook = <optimized out> priv = 0x928020 #32 0x00007ffff244be3c in gtk_widget_draw_internal (widget=<optimized out>, cr=<optimized out>, clip_to_size=<optimized out>, cr=<optimized out>, widget=<optimized out>) at gtkwidget.c:7015 event_window = <optimized out> result = 1072693248 push_group = <optimized out> cr = 0xb09900 widget = 0x928220 __func__ = "gtk_widget_draw_internal" #33 0x00007ffff2658068 in gtk_container_propagate_draw (container=container@entry=0x91e340, child=0x928220, cr=cr@entry=0xb09900) at gtkcontainer.c:3838 allocation = <optimized out> w = 0x709340 x = 0 y = 46 __func__ = "gtk_container_propagate_draw" #34 0x00007ffff265944a in gtk_container_draw (widget=0x91e340, cr=0xb09900) at gtkcontainer.c:3658 container = 0x91e340 child_infos = 0xc4acc0 i = 0 child_info = <optimized out> data = {container = 0x91e340, child_infos = 0xc4acc0, cr = 0xb09900} #35 0x00007ffff24161b1 in gtk_window_draw.lto_priv.422 (widget=0x91e340, cr=0xb09900) at gtkwindow.c:10225 priv = <optimized out> context = 0x9b2540 ret = 0 allocation = <optimized out> window_border = {left = 0, right = 0, top = 0, bottom = 0} title_height = <optimized out> #36 0x00007ffff244be3c in gtk_widget_draw_internal (widget=<optimized out>, cr=<optimized out>, clip_to_size=<optimized out>, cr=<optimized out>, widget=<optimized out>) at gtkwidget.c:7015 event_window = <optimized out> result = 1072693248 push_group = <optimized out> cr = 0xb09900 widget = 0x91e340 __func__ = "gtk_widget_draw_internal" #37 0x00007ffff244c2e3 in gtk_widget_render (widget=0x91e340, window=0x709340, region=<optimized out>) at gtkwidget.c:17499 context = 0xc4a8c0 do_clip = 1 cr = 0xb09900 x = 0 y = 0 is_double_buffered = <optimized out> #38 0x00007ffff2545134 in gtk_main_do_event (event=<optimized out>) at gtkmain.c:1807 event_widget = 0x91e340 grab_widget = 0x91e340 topmost_widget = <optimized out> window_group = 0x7e1310 rewritten_event = <optimized out> device = 0x0 tmp_list = <optimized out> __func__ = "gtk_main_do_event" #39 0x00007ffff2108e93 in _gdk_event_emit (event=<optimized out>, event=<optimized out>) at gdkevents.c:73 event = 0x7fffffffe320 #40 0x00007ffff2105ce1 in _gdk_window_process_updates_recurse_helper.lto_priv.314 (window=0x709340, expose_region=<optimized out>) at gdkwindow.c:3829 event = {type = GDK_EXPOSE, any = {type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000'}, expose = {type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', area = {x = 0, y = 0, width = 610, height = 556}, region = 0xb4d8e0, count = 0}, visibility = {type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', state = GDK_VISIBILITY_UNOBSCURED}, motion = { type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', time = 0, x = 1.2944174324888161e-311, y = 2.7470049908773308e-321, axes = 0xb4d8e0, state = 0, is_hint = 0, device = 0x7ffff2126c00 <gdk_x11_window_invalidate_for_new_frame+32>, x_root = 6.9533558075006207e-310, y_root = 6.9533374656630703e-310}, button = {type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', time = 0, x = 1.2944174324888161e-311, y = 2.7470049908773308e-321, axes = 0xb4d8e0, state = 0, button = 0, device = 0x7ffff2126c00 <gdk_x11_window_invalidate_for_new_frame+32>, x_root = 6.9533558075006207e-310, y_root = 6.9533374656630703e-310}, touch = {type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', time = 0, x = 1.2944174324888161e-311, y = 2.7470049908773308e-321, axes = 0xb4d8e0, state = 0, sequence = 0x7ffff2126c00 <gdk_x11_window_invalidate_for_new_frame+32>, emulating_pointer = -6768, device = 0x7fffe9df2de3 <__GI___libc_malloc+133>, x_root = 5.6377158917666299e-317, y_root = 0}, scroll = {type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', time = 0, x = 1.2944174324888161e-311, y = 2.7470049908773308e-321, state = 11852000, direction = GDK_SCROLL_UP, device = 0x0, x_root = 6.9533442628188703e-310, y_root = 6.9533558075006207e-310, delta_x = 6.9533374656630703e-310, delta_y = 5.6377158917666299e-317, is_stop = 0}, key = {type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', time = 0, state = 0, keyval = 610, length = 556, string = 0xb4d8e0 "\002", hardware_keycode = 0, group = 0 '\000', is_modifier = 0}, crossing = {type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', subwindow = 0x26200000000, time = 556, x = 5.855666034510454e-317, y = 0, x_root = 6.9533442628188703e-310, y_root = 6.9533558075006207e-310, mode = 3923717603, detail = 32767, focus = 11410864, state = 0}, focus_change = {type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', in = 111}, configure = { type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', x = 0, y = 0, width = 610, height = 556}, property = {type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', atom = 0x26200000000, time = 556, state = 0}, selection = {type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', selection = 0x26200000000, target = 0x22c, property = 0xb4d8e0, time = 0, requestor = 0x7ffff2126c00 <gdk_x11_window_invalidate_for_new_frame+32>}, owner_change = { type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', owner = 0x26200000000, reason = (unknown: 556), selection = 0xb4d8e0, time = 0, selection_time = 0}, proximity = { type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', time = 0, device = 0x26200000000}, dnd = {type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', context = 0x26200000000, time = 556, x_root = 0, y_root = 0}, window_state = {type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', changed_mask = (unknown: 0), new_window_state = (unknown: 0)}, setting = { type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', action = GDK_SETTING_ACTION_NEW, name = 0x26200000000 <error: Cannot access memory at address 0x26200000000>}, grab_broken = { type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', keyboard = 0, implicit = 0, grab_window = 0x22c}, touchpad_swipe = {type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', phase = 114 'r', n_fingers = 111 'o', time = 0, x = 1.2944174324888161e-311, y = 2.7470049908773308e-321, dx = 5.855666034510454e-317, dy = 0, x_root = 6.9533442628188703e-310, y_root = 6.9533558075006207e-310, state = 3923717603}, touchpad_pinch = {type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', phase = 114 'r', n_fingers = 111 'o', time = 0, x = 1.2944174324888161e-311, y = 2.7470049908773308e-321, dx = 5.855666034510454e-317, dy = 0, angle_delta = 6.9533442628188703e-310, scale = 6.9533558075006207e-310, x_root = 6.9533374656630703e-310, y_root = 5.6377158917666299e-317, state = 0}, pad_button = {type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', time = 0, group = 0, button = 610, mode = 556}, pad_axis = { type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', time = 0, group = 0, index = 610, mode = 556, value = 5.855666034510454e-317}, pad_group_mode = {type = GDK_EXPOSE, window = 0x709340, send_event = 0 '\000', time = 0, group = 0, mode = 610}} child = <optimized out> clipped_expose_region = 0xb4d8e0 children = <optimized out> i = <optimized out> n_children = <optimized out> l = <optimized out> last_link = <optimized out> #41 0x00007ffff2107c06 in gdk_window_process_updates_internal (window=0x709340) at gdkwindow.c:3975 expose_region = 0xae1db0 impl_class = 0x703070 toplevel = <optimized out> display = <optimized out> __func__ = "gdk_window_process_updates_internal" #42 0x00007ffff2107e0c in gdk_window_process_updates_with_mode.lto_priv.315 (window=<optimized out>, recurse_mode=<optimized out>) at gdkwindow.c:4172 impl_window = 0x709340 list = 0x85dcc0 i = <optimized out> __func__ = "gdk_window_process_updates_with_mode" #43 0x00007fffeb4e4cf5 in g_closure_invoke (closure=0xb41870, return_value=0x0, n_param_values=1, param_values=0x7fffffffe5f0, invocation_hint=0x7fffffffe590) at gclosure.c:804 marshal = <optimized out> marshal_data = <optimized out> in_marshal = 0 real_closure = 0xb41850 __func__ = "g_closure_invoke" #44 0x00007fffeb4d6e12 in signal_emit_unlocked_R.lto_priv.226 (node=<optimized out>, detail=0, instance=0x720230, emission_return=0x0, instance_and_params=0x7fffffffe5f0) at gsignal.c:3635 tmp = <optimized out> handler = 0xb19ac0 accumulator = 0x0 emission = {next = 0x0, instance = 0x720230, ihint = {signal_id = 32, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 4} handler_list = 0xb19ac0 return_accu = 0x0 accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}} signal_id = 32 max_sequential_handler_number = 2443 return_value_altered = 0 #45 0x00007fffeb4df0ea in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=<optimized out>) at gsignal.c:3391 instance_and_params = 0x7fffffffe5f0 signal_return_type = <optimized out> param_values = 0x7fffffffe608 i = <optimized out> n_params = <optimized out> __func__ = "g_signal_emit_valist" #46 0x00007fffeb4fab0f in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3447 var_args = <error reading variable var_args (Attempt to dereference a generic pointer.)> #47 0x00007ffff210d75b in _gdk_frame_clock_emit_paint (frame_clock=0x720230) at gdkframeclock.c:640 No locals. #48 gdk_frame_clock_paint_idle (data=0x720230) at gdkframeclockidle.c:430 clock = 0x720230 clock_idle = 0x720230 priv = 0x720150 skip_to_resume_events = 0 timings = 0xb12e40 __func__ = "gdk_frame_clock_paint_idle" #49 0x00007ffff21286b8 in gdk_threads_dispatch (data=0x857cc0, data@entry=<error reading variable: value has been optimized out>) at gdk.c:743 dispatch = 0x857cc0 ret = 0 #50 0x00007fffeb017ef3 in g_timeout_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at gmain.c:4672 timeout_source = 0xae1c50 again = <optimized out> #51 0x00007fffeb01a1f2 in g_main_dispatch (context=0x717000) at gmain.c:3201 dispatch = 0x7fffeb017ee0 <g_timeout_dispatch> prev_source = 0x0 was_in_call = 0 user_data = 0x857cc0 callback = 0x7ffff2128690 <gdk_threads_dispatch> cb_funcs = <optimized out> cb_data = 0xc51ea0 need_destroy = <optimized out> source = 0xae1c50 current = 0x750b20 i = 0 #52 g_main_context_dispatch (context=0x717000) at gmain.c:3854 No locals. #53 0x00007fffeb00e4e8 in g_main_context_iterate.isra.42.lto_priv.118 (context=0x717000, block=<optimized out>, dispatch=1) at gmain.c:3927 max_priority = 2147483647 timeout = 13 some_ready = 1 nfds = 5 allocated_nfds = 5 fds = <optimized out> #54 0x00007fffeb01812c in g_main_context_iteration (context=0x717000, may_block=1) at gmain.c:3988 retval = <optimized out> #55 0x00007fffec47b0fd in g_application_run (application=0x755210, argc=<optimized out>, argv=0x7fffffffeb58) at gapplication.c:2381 arguments = 0x751ca0 status = 0 context = 0x717000 acquired_context = <optimized out> __func__ = "g_application_run" #56 0x0000000000432d58 in main () No symbol table info available.
Michael Catanzaro
Comment 14
2016-12-03 08:19:59 PST
OK much better, but that looks almost perfect, except... except for the most important part, we still can't see what's going on in cairo where the crash actually occurs. Can you try recompiling cairo with debuginfo again? In particular, these two frames here: #4 0x00007ffff136ccd9 in cairo_surface_mark_dirty_rectangle () from /usr/local/lib/libcairo.so.2 No symbol table info available. #5 0x00007ffff136cd15 in cairo_surface_mark_dirty () from /usr/local/lib/libcairo.so.2 No symbol table info available. Again, we need line numbers and local variables.
john.frankish
Comment 15
2016-12-03 22:28:40 PST
'seems like cairo needs to be compiled with "--enable-symbol-lookup" and libiberty.h copied from the gcc file tree to /usr/local/include #3 0x00007fffe9da1249 in __GI___assert_fail (assertion=assertion@entry=0x7ffff13e6060 "! _cairo_surface_has_snapshots (surface)", file=file@entry=0x7ffff13e5f00 "cairo-surface.c", line=line@entry=1652, function=function@entry=0x7ffff13e63a0 <__PRETTY_FUNCTION__.11398> "cairo_surface_mark_dirty_rectangle") at assert.c:101 No locals. #4 0x00007ffff137cf19 in INT_cairo_surface_mark_dirty_rectangle (surface=surface@entry=0xc98a60, x=0, y=0, width=610, height=510) at cairo-surface.c:1652 status = <optimized out> __PRETTY_FUNCTION__ = "cairo_surface_mark_dirty_rectangle" #5 0x00007ffff137deb5 in INT_cairo_surface_mark_dirty (surface=0xc98a60) at cairo-surface.c:1606 extents = {x = 0, y = 0, width = 610, height = 510} #6 0x00007ffff57c74a8 in WebKit::AcceleratedBackingStoreX11::paint (this=this@entry=0xb03b40, cr=cr@entry=0xb6e800, clipRect=...) at /mnt/sdc8/usr/src/webkitgtk-2.14.2/Source/WebKit2/UIProcess/gtk/AcceleratedBackingStoreX11.cpp:178 No locals. #7 0x00007ffff57ad7ed in webkitWebViewBaseDraw (widget=0xae8970, cr=0xb6e800) at /mnt/sdc8/usr/src/webkitgtk-2.14.2/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:543 webViewBase = <optimized out> clipRect = {x = 0, y = 0, width = 610, height = 510}
Michael Catanzaro
Comment 16
2016-12-04 08:09:55 PST
OK great, now we've got a proper crash report. :)
john.frankish
Comment 17
2017-01-11 00:17:54 PST
Any update on this - it would be nice to be able to use epiphany :)
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