NEW289081
REGRESSION(2.42): GNU Emacs with gtk and xwidgets crashes with X protocol error: GLXBadWindow on protocol request
https://bugs.webkit.org/show_bug.cgi?id=289081
Summary REGRESSION(2.42): GNU Emacs with gtk and xwidgets crashes with X protocol err...
bitstreamout
Reported 2025-03-04 05:58:51 PST
Just tested what described in emacs-30.1/etc/PROBLEMS with emacs 29.4 (gtk port linked with libwebkit2gtk-4_1-0-2.46.4-2.1.x86_64) and indeed it crashes. From macs-30.1/etc/PROBLEMS ``` ** Emacs built with xwidgets aborts when displaying WebKit xwidgets This happens, for example, when 'M-x xwidget-webkit-browse-url' prompts for a URL and you type the URL at the prompt. The error message might look like this: X protocol error: GLXBadWindow on protocol request 151 Serial no: 4286 Failing resource ID (if any): 0x3c001c5 Minor code: 32 This happens because starting from version 2.42.1, the WebKitGTK developers discontinued support for off-screen windows, by presuming that every window holding a WebView widget is an X server window eligible for an OpenGL context. Emacs requires placing these widgets within offscreen windows managed by GTK, for each xwidget might be displayed in multiple distinct windows, and its contents must be captured and reproduced within all of them if that be the case. To put this another way, WebKitGTK doesn't support displaying a single widget more than once anymore. A possible workaround is to make sure xwidgets are not shown in more than one window. ``` just wonder if this had ever been reported ... beside this I'm not an GNU Emacs developer only a package maintainer for GNU emacs
Attachments
Michael Catanzaro
Comment 2 2025-03-04 10:55:14 PST
I think the next step here is to identify the change that introduced the regression. The title of your bug report says 2.41.92 is the first bad version, but your comment says 2.42.1. Which is it? Let's narrow this down as precisely as possible. Please test at least 2.41.91 and 2.42.0 to figure out for certain what is the last good version. Would you or somebody else be willing to bisect to find the exact change that broke Emacs? That would help a lot. > just wonder if this had ever been reported ... beside this I'm not an GNU Emacs developer only a package maintainer for GNU emacs I did a quick search and failed to find any duplicate bug reports, so I assume you're the first person to report this.
bitstreamout
Comment 3 2025-03-04 23:17:57 PST
(In reply to Michael Catanzaro from comment #2) > I think the next step here is to identify the change that introduced the > regression. The title of your bug report says 2.41.92 is the first bad > version, but your comment says 2.42.1. Which is it? Let's narrow this down > as precisely as possible. Please test at least 2.41.91 and 2.42.0 to figure > out for certain what is the last good version. > > Would you or somebody else be willing to bisect to find the exact change > that broke Emacs? That would help a lot. > > > just wonder if this had ever been reported ... beside this I'm not an GNU Emacs developer only a package maintainer for GNU emacs > > I did a quick search and failed to find any duplicate bug reports, so I > assume you're the first person to report this. This is what I can show from emacs-30.1/configure.ac ``` if test "$with_xwidgets" != "no"; then if test "$USE_GTK_TOOLKIT" = "GTK3" && test "$window_system" != "none"; then WEBKIT_REQUIRED=2.12 WEBKIT_BROKEN=2.41.92 WEBKIT_MODULES="webkit2gtk-4.1 >= $WEBKIT_REQUIRED webkit2gtk-4.1 < $WEBKIT_BROKEN" EMACS_CHECK_MODULES([WEBKIT], [$WEBKIT_MODULES]) if test "$HAVE_WEBKIT" = "no"; then WEBKIT_MODULES="webkit2gtk-4.0 >= $WEBKIT_REQUIRED webkit2gtk-4.0 < $WEBKIT_BROKEN" EMACS_CHECK_MODULES([WEBKIT], [$WEBKIT_MODULES]) fi [...] ``` and here is the discussion of the GNU Emacs developers https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66068 this also includes some backtraces and the tested versions of webkit2gtk
Michael Catanzaro
Comment 4 2025-03-05 04:45:30 PST
It's not clear that anybody tested 2.41.91 though, so looks like the regression could be anywhere between 2.40 and 2.41.92.
Note You need to log in before you can comment on or make changes to this bug.