Bug 176308 - [GTK] Crash in WebCore::GLContextGLX::makeContextCurrent
Summary: [GTK] Crash in WebCore::GLContextGLX::makeContextCurrent
Status: RESOLVED DUPLICATE of bug 175819
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: Other
Hardware: PC Linux
: P2 Normal
Assignee: Nobody
Depends on:
Reported: 2017-09-03 07:51 PDT by Michael Catanzaro
Modified: 2017-09-04 08:34 PDT (History)
4 users (show)

See Also:

Backtrace (190.27 KB, text/plain)
2017-09-03 07:51 PDT, Michael Catanzaro
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Catanzaro 2017-09-03 07:51:00 PDT
Created attachment 319781 [details]

I have 17 reports of this crash in WebCore::GLContextGLX::makeContextCurrent:

Truncated backtrace:
Thread no. 1 (10 frames)
 #0 _g_log_abort at gmessages.c:549
 #1 g_log_writer_default at gmessages.c:2613
 #2 g_log_structured_array at gmessages.c:1933
 #3 g_log_structured at gmessages.c:1760
 #7 __glXSendError at libglx.c:757
 #8 NotifyXError at libglx.c:773
 #9 CommonMakeCurrent at libglx.c:986
 #10 WebCore::GLContextGLX::makeContextCurrent at /usr/src/debug/webkitgtk-2.16.6/Source/WebCore/platform/graphics/glx/GLContextGLX.cpp:329
 #11 WebKit::ThreadedCompositor::renderLayerTree at /usr/src/debug/webkitgtk-2.16.6/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:187
 #12 std::function<void ()>::operator()() const at /usr/include/c++/7/bits/std_function.h:706

Better backtrace attached. Note in particular:

        message_allocated = 0x7fcb4429f560 "The program 'WebKitWebProcess' received an X Window System error.\nThis probably reflects a bug in the program.\nThe error was 'GLXBadContext'.\n  (Details: serial 6208 error_code 167 request_code 154 (G"...
Comment 1 Carlos Garcia Campos 2017-09-04 00:03:02 PDT
I guess at some point the pixmap is destroyed right before the compositing thread tries to make the context current. We could handle that error and return false from GLContextGLX::makeContextCurrent()
Comment 2 Carlos Garcia Campos 2017-09-04 00:28:13 PDT
Ah no, it's GLXBadContext, not BadDrawable. The main thread is running exit handlers, maybe this is the same as bug #175819?
Comment 3 Michael Catanzaro 2017-09-04 08:34:27 PDT
(In reply to Carlos Garcia Campos from comment #2)
> Ah no, it's GLXBadContext, not BadDrawable. The main thread is running exit
> handlers, maybe this is the same as bug #175819?

Maybe. I'm fine with assuming that for now. If it's not actually fixed, then Andres and I will both be reporting it again here eventually. ;)

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