https://bugs.kde.org/show_bug.cgi?id=461316

Vlad Zahorodnii <vlad.zahorod...@kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REPORTED                    |CONFIRMED
     Ever confirmed|0                           |1

--- Comment #48 from Vlad Zahorodnii <vlad.zahorod...@kde.org> ---
I can reproduce the issue with the attached test app. Thank you, Oleg, for
providing it and also bisecting mesa. :)

kwin 5.26 didn't have any significant X11 changes besides one fix to prevent
frozen windows due to xcb_generate_id() returning a bad id, however this bug is
reproducible even after reverting those changes, so I think that we can rule
out kwin.

One peculiar thing about this bug is that if compositing is disabled,
reproducer v3 can "hang" xorg. That's it, at some point, notification windows
will stop popping up and other X11 connections will hang in general. Restarting
plasmashell helps to fix that.

kwin gets killed when it repaints the screen, specifically binds the window
texture

Thread 1 "kwin_x11" received signal SIGTERM, Terminated.
0x00007fc511503120 in ?? () from /usr/lib/libqaccessibilityclient-qt5.so.0
(gdb) bt
#0  0x00007fc511503120 in  () at /usr/lib/libqaccessibilityclient-qt5.so.0
#1  0x00007fc51168eaae in  () at /lib64/ld-linux-x86-64.so.2
#2  0x00007fc50de53fa5 in  () at /usr/lib/libc.so.6
#3  0x00007fc50de54120 in  () at /usr/lib/libc.so.6
#4  0x00007fc50ec05be6 in _XDefaultIOError () at /usr/lib/libX11.so.6
#5  0x00007fc50ec08eb3 in _XIOError () at /usr/lib/libX11.so.6
#6  0x00007fc50ec0c5c9 in _XFlush () at /usr/lib/libX11.so.6
#7  0x00007fc50ec0c85e in _XGetRequest () at /usr/lib/libX11.so.6
#8  0x00007fc50ec010ee in XSync () at /usr/lib/libX11.so.6
#9  0x00007fc5082e00cd in  () at /usr/lib/libGLX_mesa.so.0
#10 0x00005577ad004ec4 in KWin::GlxPixmapTexturePrivate::onDamage()
(this=0x5577af38c5d0)
    at
/home/vlad/Workspace/kwin/src/backends/x11/standalone/x11_standalone_glx_backend.cpp:921
#11 0x00007fc50efb0b29 in KWin::GLTexture::bind() (this=<optimized out>) at
/home/vlad/Workspace/kwin/src/libkwineffects/kwingltexture.cpp:454
#12 0x00007fc511235a78 in KWin::SceneOpenGL::render(KWin::Item*, int, QRegion
const&, KWin::WindowPaintData const&)

so if plasmashell manages to "break" xorg, it sort of explains why kwin_x11
gets killed

I built mesa 22.1.7 and the issue is not reproducible there. I didn't bisect
mesa changes, but the ones mentioned in
https://gitlab.freedesktop.org/mesa/mesa/-/issues/7674 look like good
candidates.

It looks like glXMakeCurrent(Display, Window, GLXContext) got broken in Mesa
22.2. It's worth noting that Qt uses glXMakeCurrent(Display, Window,
GLXContext) rather than glXMakeCurrent(Display, GLXWindow, GLXContext). I made
a quick and dirty patch to test that theory
https://invent.kde.org/-/snippets/2423. I ran reproducer v3 a couple of times,
the bug doesn't seem to occur.

Regardless, glXMakeCurrent(Display, Window, GLXContext) is still a valid case
and it must work.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to