Bug 149568

Summary: [GTK] Crash in WebCore::GLContextGLX::defaultFrameBufferSize
Product: WebKit Reporter: Michael Catanzaro <mcatanzaro>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: agomez, bugs-noreply, cgarcia, changseok, mcatanzaro, mrobinson, ygrex, yoon, zan
Priority: P2    
Version: Other   
Hardware: PC   
OS: Linux   
See Also: https://bugzilla.redhat.com/show_bug.cgi?id=1252972
https://bugzilla.redhat.com/show_bug.cgi?id=1258116
https://bugs.webkit.org/show_bug.cgi?id=150717
https://bugzilla.redhat.com/show_bug.cgi?id=1363927
Attachments:
Description Flags
BT from gdb none

Description Michael Catanzaro 2015-09-25 14:06:09 PDT
Full backtrace downstream. Notable:

        msg = 0x55dfb73b3690 "The program 'WebKitWebProcess' received an X Window System error.\nThis probably reflects a bug in the program.\nThe error was 'BadDrawable (invalid Pixmap or Window parameter)'.\n  (Details: serial 581 "...

So the rest of this backtrace is surely irrelevant, but I'll post it anyway....

Truncated backtrace:
Thread no. 1 (10 frames)
 #0 _g_log_abort at gmessages.c:316
 #8 XGetGeometry at GetGeom.c:47
 #9 WebCore::GLContextGLX::defaultFrameBufferSize at /usr/src/debug/webkitgtk-2.9.5/Source/WebCore/platform/graphics/glx/GLContextGLX.cpp:189
 #10 WebKit::LayerTreeHostGtk::compositeLayersToContext at /usr/src/debug/webkitgtk-2.9.5/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:285
 #11 WebKit::LayerTreeHostGtk::flushAndRenderLayers at /usr/src/debug/webkitgtk-2.9.5/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:318
 #12 WebKit::LayerTreeHostGtk::layerFlushTimerFired at /usr/src/debug/webkitgtk-2.9.5/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:237
 #13 std::function<void ()>::operator()() const at /usr/include/c++/5.1.1/functional:2271
 #14 WTF::GMainLoopSource::voidCallback at /usr/src/debug/webkitgtk-2.9.5/Source/WTF/wtf/glib/GMainLoopSource.cpp:365
 #15 WTF::GMainLoopSource::voidSourceCallback at /usr/src/debug/webkitgtk-2.9.5/Source/WTF/wtf/glib/GMainLoopSource.cpp:456
 #20 WTF::RunLoop::run at /usr/src/debug/webkitgtk-2.9.5/Source/WTF/wtf/glib/RunLoopGLib.cpp:67
Comment 1 Michael Catanzaro 2016-01-27 15:26:13 PST
I can reproduce this 100% with 2.10.4 by dragging a tab containing a YouTube video (does not need to be playing) to another window.
Comment 2 ygrex 2016-07-15 04:02:09 PDT
with 2.12.3-1 it seems to be the same, but I cannot reproduce it by will:

(WebKitWebProcess:4593): Gdk-ERROR **: The program 'WebKitWebProcess' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadDrawable (invalid Pixmap or Window parameter)'.
  (Details: serial 31859 error_code 9 request_code 153 (DRI2) minor_code 7)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
Comment 3 Michael Catanzaro 2016-07-20 13:21:49 PDT
(In reply to comment #1)
> I can reproduce this 100% with 2.10.4 by dragging a tab containing a YouTube
> video (does not need to be playing) to another window.

I think it crashes if you try to drag any tab if AC mode is in use.
Comment 4 Andres Gomez Garcia 2016-09-12 05:35:02 PDT
Created attachment 288569 [details]
BT from gdb

I'm using WebKitGtk+ with my own JHBuild setting:
https://github.com/tanty/jhbuild-epiphany/tree/wkgtk-devel

MiniBrowser from WebKit 2.12.5

The compilation was done with CMake args:

"-DPORT=GTK -DCMAKE_BUILD_TYPE=Debug -DDEVELOPER_MODE=ON -DCMAKE_C_FLAGS_DEBUG=-g1 -DCMAKE_CXX_FLAGS_DEBUG=-g1"

When visiting several pages, eventually, WebKitWebProcess crashes.

This bug is not reproducible in a predictable way.

---

The action that triggered the crash was deattaching a tab from a window to create a new 1 tab window.
Comment 5 Michael Catanzaro 2016-11-18 09:38:53 PST
*** Bug 150717 has been marked as a duplicate of this bug. ***
Comment 6 Michael Catanzaro 2016-11-18 09:41:36 PST
I don't think I have any reports of this since 2.12, and the YouTube reproducer does not work anymore in 2.14.1. Also, Andres hasn't complained since 2.10.