Bug 167470 - [GTK][Stable] Crashes on X since 2.14.3
Summary: [GTK][Stable] Crashes on X since 2.14.3
Status: RESOLVED DUPLICATE of bug 167296
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: Other
Hardware: PC Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-01-26 15:35 PST by Jan
Modified: 2017-01-30 07:24 PST (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jan 2017-01-26 15:35:16 PST
Since the update to 2.14.3 rolled in to arch and fedora I received bug-reports of crashes of the webkit webview in my application.
I myself can't reproduce the issue with my AMD card with radeonSI-drivers, but other people on intel or nvidia seem to be affected.
Downgrading the package to 2.14.2 solves the issue for all of them. Also logging into a wayland-session makes everything work again.
https://github.com/jangernert/FeedReader/issues/327
Sadly I myself can't provide any more information, since everything is working fine on my end.
Comment 1 Carlos Alberto Lopez Perez 2017-01-26 16:09:56 PST
One workaround is to disable accelerated compositing mode.

You can do that at runtime by exporting the environment variable WEBKIT_DISABLE_COMPOSITING_MODE=1 before starting FeedReader.
Comment 2 Michael Catanzaro 2017-01-26 16:43:38 PST
I looked through the GitHub issue but I don't see a backtrace there. You need to post a backtrace of the crash with debug symbols for relevant stack frames for us to investigate the issue.
Comment 3 Jan 2017-01-27 03:14:07 PST
I'll try to convince someone who is experiencing the crashes to get a backtrace once more. But like I said, I myself am not affected.
Comment 4 Carlos Alberto Lopez Perez 2017-01-27 05:23:16 PST
(In reply to comment #3)
> I'll try to convince someone who is experiencing the crashes to get a
> backtrace once more. But like I said, I myself am not affected.

Question: are the users affected using the flatpak?

Then that would explain the issue, and it won't be a WebKitGTK+ bug but a flatpak one: https://github.com/flatpak/flatpak/issues/138

OpenGL-enabled applications only work inside a flatpak if the hosts uses the Mesa drivers. Machines with the Nvidia binary/proprietary driver won't be able to use any flatpack that requires OpenGL.... and WebKitGTK+ does require OpenGL by default (can't be disabled with that env var).
Comment 5 Carlos Alberto Lopez Perez 2017-01-27 05:24:18 PST
(In reply to comment #4)
> and WebKitGTK+ does require OpenGL by default (can't be disabled with that env var).
                                            I mean:  ^^^^^^^  can be disabled
Comment 6 Jan 2017-01-27 05:53:24 PST
No, at least some of them compiled directly from source on their machine. And most of them are on the intel mesa-driver. I can't speak for all of them, but at least I know it's not strictly related to flatpak and nvidia binary-driver.
Comment 7 Michael Catanzaro 2017-01-27 07:55:57 PST
So without a backtrace there's obviously not anything we can do, hence I'm going to close this, sorry. But if you can get a backtrace for this, please do comment or reopen and we'll definitely take a look. There are not so many commits between 2.12.2 and 2.12.3 so it should not be too hard to figure out what went wrong once we have a backtrace.
Comment 8 Jan 2017-01-29 09:56:25 PST
Okay, someone managed to get a back-trace of the crash with debugging symbols :)

#0  0x000000004117be01 in  ()
#1  0x00007fab7740e464 in  () at /usr/lib/libnvidia-glcore.so.375.26
#2  0x00007fab76fe73a8 in  () at /usr/lib/libnvidia-glcore.so.375.26
#3  0x00007fabf53f5787 in WebCore::GraphicsContext3D::drawArrays(unsigned int, int, int) (this=0x7fabe070f900, mode=mode@entry=6, first=first@entry=0, count=count@entry=4)
    at /home/user/aur/webkit2gtk-unstable/src/webkitgtk-2.14.3/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:713
#4  0x00007fabf53ae2eb in WebCore::TextureMapperGL::beginClip(WebCore::TransformationMatrix const&, WebCore::FloatRect const&) (this=0x7fabe07cb220, modelViewMatrix=..., targetRect=...)
    at /home/user/aur/webkit2gtk-unstable/src/webkitgtk-2.14.3/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:700
#5  0x00007fabf44533d2 in WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext(WebCore::TransformationMatrix const&, float, WebCore::FloatRect const&, WebCore::Color const&, bool, WebCore::FloatPoint const&, unsigned int) (this=0x7fabe07843f0, matrix=..., opacity=opacity@entry=1, clipRect=..., backgroundColor=..., drawsBackground=<optimized out>, contentPosition=..., PaintFlags=0)
    at /home/user/aur/webkit2gtk-unstable/src/webkitgtk-2.14.3/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:101
#6  0x00007fabf445c03b in WebKit::ThreadedCompositor::renderLayerTree() (this=0x7fabe076d9c0)
    at /home/user/aur/webkit2gtk-unstable/src/webkitgtk-2.14.3/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:201
#7  0x00007fabf4459945 in WTF::Function<void ()>::operator()() const (this=0x7fabe078beb0) at /home/user/aur/webkit2gtk-unstable/src/webkitgtk-2.14.3/Source/WTF/wtf/Function.h:50
#8  0x00007fabf4459945 in WebKit::CompositingRunLoop::<lambda()>::operator() (__closure=0x7fabe078bea8)
    at /home/user/aur/webkit2gtk-unstable/src/webkitgtk-2.14.3/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:136
#9  0x00007fabf4459945 in WTF::Function<void()>::CallableWrapper<WebKit::CompositingRunLoop::performTaskSync(WTF::Function<void()>&&)::<lambda()> >::call(void) (this=0x7fabe078bea0)
    at /home/user/aur/webkit2gtk-unstable/src/webkitgtk-2.14.3/Source/WTF/wtf/Function.h:101
#10 0x00007fabf13d72b5 in WTF::Function<void ()>::operator()() const (this=<synthetic pointer>) at /home/user/aur/webkit2gtk-unstable/src/webkitgtk-2.14.3/Source/WTF/wtf/Function.h:50
#11 0x00007fabf13d72b5 in WTF::RunLoop::performWork() (this=0x7fabe0785000) at /home/user/aur/webkit2gtk-unstable/src/webkitgtk-2.14.3/Source/WTF/wtf/RunLoop.cpp:105
#12 0x00007fabf140d599 in WTF::RunLoop::<lambda(gpointer)>::operator() (__closure=0x0, userData=<optimized out>)
    at /home/user/aur/webkit2gtk-unstable/src/webkitgtk-2.14.3/Source/WTF/wtf/glib/RunLoopGLib.cpp:66
#13 0x00007fabf140d599 in WTF::RunLoop::<lambda(gpointer)>::_FUN(gpointer) () at /home/user/aur/webkit2gtk-unstable/src/webkitgtk-2.14.3/Source/WTF/wtf/glib/RunLoopGLib.cpp:68
#14 0x00007fabf184b43a in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#15 0x00007fabf184b7f0 in  () at /usr/lib/libglib-2.0.so.0
#16 0x00007fabf184bb12 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#17 0x00007fabf140dea0 in WTF::RunLoop::run() () at /home/user/aur/webkit2gtk-unstable/src/webkitgtk-2.14.3/Source/WTF/wtf/glib/RunLoopGLib.cpp:94
#18 0x00007fabf140cade in WTF::WorkQueue::<lambda()>::operator() (__closure=0x7fab8d7fec40) at /home/user/aur/webkit2gtk-unstable/src/webkitgtk-2.14.3/Source/WTF/wtf/generic/WorkQueueGeneric.cpp:58
#19 0x00007fabf140cade in std::_Function_handler<void(), WTF::WorkQueue::platformInitialize(char const*, WTF::WorkQueue::Type, WTF::WorkQueue::QOS)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/6.3.1/functional:1731
#20 0x00007fabf13d8275 in std::function<void ()>::operator()() const (this=0x7fab8d7fec40) at /usr/include/c++/6.3.1/functional:2127
#21 0x00007fabf13d8275 in WTF::threadEntryPoint(void*) (contextData=0x7fabe07f43c0) at /home/user/aur/webkit2gtk-unstable/src/webkitgtk-2.14.3/Source/WTF/wtf/Threading.cpp:60
#22 0x00007fabf140affa in WTF::wtfThreadEntryPoint(void*) (param=0x7fabe07f95a0) at /home/user/aur/webkit2gtk-unstable/src/webkitgtk-2.14.3/Source/WTF/wtf/ThreadingPthreads.cpp:164
#23 0x00007fabefe60454 in start_thread () at /usr/lib/libpthread.so.0
#24 0x00007fabf39b77df in clone () at /usr/lib/libc.so.6
Comment 9 Michael Catanzaro 2017-01-29 12:31:07 PST
(In reply to comment #8)
> Okay, someone managed to get a back-trace of the crash with debugging
> symbols :)
> 
> #0  0x000000004117be01 in  ()
> #1  0x00007fab7740e464 in  () at /usr/lib/libnvidia-glcore.so.375.26
> #2  0x00007fab76fe73a8 in  () at /usr/lib/libnvidia-glcore.so.375.26
> #3  0x00007fabf53f5787 in WebCore::GraphicsContext3D::drawArrays(unsigned
> int, int, int) (this=0x7fabe070f900, mode=mode@entry=6, first=first@entry=0,
> count=count@entry=4)
>     at
> /home/user/aur/webkit2gtk-unstable/src/webkitgtk-2.14.3/Source/WebCore/
> platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:713

The missing stack frames at the top are discouraging, but I know there's not much you can do about that. If someone with a free software graphics driver is able to reproduce this crash, that would make this much more likely to be investigated.
Comment 10 Carlos Garcia Campos 2017-01-29 22:18:22 PST
Thanks for the bt. This was fixed in r211204, see bug #167296. I'll merge that in the stable branch before the next release.
Comment 11 Michael Catanzaro 2017-01-30 05:53:48 PST
Ah great! Let's close this then, so we don't forget to do so later. I've added it to the proposed merges for 2.14.4.
Comment 12 Michael Catanzaro 2017-01-30 07:24:01 PST

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