Bug 189179
Summary: | [GTK] GLContextGLX::createWindowContext should cope when no config is found | ||
---|---|---|---|
Product: | WebKit | Reporter: | Daniel Drake <drake> |
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED INVALID | ||
Severity: | Normal | CC: | bugs-noreply, magomez, mcatanzaro |
Priority: | P2 | ||
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Daniel Drake
We are seeing a crash on Intel GeminiLake platforms where the web process crashes with:
(WebKitWebProcess:5058): Gdk-ERROR **: The program 'WebKitWebProcess' received an X Window System error.
This probably reflects a bug in the program.
The error was 'GLXBadFBConfig'.
(Details: serial 202 error_code 178 request_code 155 (GLX) minor_code 34)
(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.)
Tracing through, this happens because WebKit is calling glXCreateContextAttribsARB() with a NULL GLXFBConfig. This causes glvnd to raise an X error.
Why was GLContextGLX::createWindowContext unable to find a usable FBConfig? I don't fully understand the situation; I've provided some detail on it here:
https://lists.freedesktop.org/archives/xorg-devel/2018-August/057477.html
Regardless of that, it seems like webkit should probably do something better than it currently does (crash) when no config is found, e.g. fall back on non-composited gfx codepath?
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Daniel Drake
Actually according to Jasper, webkit crashing is appropriate here, since the lack of appropriate FBConfig implies something wrong at the system level.
https://lists.freedesktop.org/archives/xorg-devel/2018-September/057535.html
Feel free to close as invalid if you agree!
Michael Catanzaro
Oh, so Jasper is still around.
OK then!