Bug 473707 - kwin_x11 crashed on logout at KWin::GLRenderTimeQuery::~GLRenderTimeQuery()
Summary: kwin_x11 crashed on logout at KWin::GLRenderTimeQuery::~GLRenderTimeQuery()
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: compositing (show other bugs)
Version: master
Platform: Arch Linux Other
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: qt6, regression
Depends on:
Blocks:
 
Reported: 2023-08-24 01:17 UTC by Fushan Wen
Modified: 2023-08-24 14:25 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:
qydwhotmail: X11+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Fushan Wen 2023-08-24 01:17:18 UTC
SUMMARY
There is an unknown crash in kwin_x11. The crash usually happened on logout.


STEPS TO REPRODUCE
1. Logout from X11
2. Watch coredumpctl
3. 

OBSERVED RESULT
A new kwin_x11 crash

EXPECTED RESULT


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: kwin at 75275bbc8f04e4de699eebe790ba851db8f79b56
KDE Frameworks Version: 
Qt Version: 6.5.2

ADDITIONAL INFORMATION
(gdb) bt
#0  0x00007fa609e8e83c in  () at /usr/lib/libc.so.6
#1  0x00007fa609e3e668 in raise () at /usr/lib/libc.so.6
#2  0x00007fa60ebe8d5f in KCrash::defaultCrashHandler(int) (sig=6) at /home/qydw/kde/src/kcrash/src/kcrash.cpp:612
#3  0x00007fa609e3e710 in <signal handler called> () at /usr/lib/libc.so.6
#4  0x00007fa609e8e83c in  () at /usr/lib/libc.so.6
#5  0x00007fa609e3e668 in raise () at /usr/lib/libc.so.6
#6  0x00007fa609e264b8 in abort () at /usr/lib/libc.so.6
#7  0x00007fa609e263dc in  () at /usr/lib/libc.so.6
#8  0x00007fa609e36d26 in  () at /usr/lib/libc.so.6
#9  0x00007fa60c7d2720 in  () at /usr/lib/libepoxy.so.0
#10 0x00007fa60c7809ca in  () at /usr/lib/libepoxy.so.0
#11 0x00007fa60e51f8ee in KWin::GLRenderTimeQuery::~GLRenderTimeQuery() (this=0x559a20de72c0, __in_chrg=<optimized out>)
    at /home/qydw/kde/src/kwin/src/platformsupport/scenes/opengl/glrendertimequery.cpp:25
#12 0x0000559a1fd7d1e6 in std::default_delete<KWin::GLRenderTimeQuery>::operator()(KWin::GLRenderTimeQuery*) const
    (this=0x559a20e272f8, __ptr=0x559a20de72c0) at /usr/include/c++/13.2.1/bits/unique_ptr.h:99
#13 0x0000559a1fd7bc26 in std::unique_ptr<KWin::GLRenderTimeQuery, std::default_delete<KWin::GLRenderTimeQuery> >::~unique_ptr()
    (this=0x559a20e272f8, __in_chrg=<optimized out>) at /usr/include/c++/13.2.1/bits/unique_ptr.h:404
#14 0x0000559a1fd8f1f0 in KWin::GlxBackend::~GlxBackend() (this=0x559a20e27230, __in_chrg=<optimized out>)
    at /home/qydw/kde/src/kwin/src/backends/x11/standalone/x11_standalone_glx_backend.cpp:177
#15 0x0000559a1fd8f2b4 in KWin::GlxBackend::~GlxBackend() (this=0x559a20e27230, __in_chrg=<optimized out>)
    at /home/qydw/kde/src/kwin/src/backends/x11/standalone/x11_standalone_glx_backend.cpp:177
#16 0x00007fa60dfb3918 in std::default_delete<KWin::RenderBackend>::operator()(KWin::RenderBackend*) const
    (this=0x559a20e47d78, __ptr=0x559a20e27230) at /usr/include/c++/13.2.1/bits/unique_ptr.h:99
#17 0x00007fa60dfb5954 in std::__uniq_ptr_impl<KWin::RenderBackend, std::default_delete<KWin::RenderBackend> >::reset(KWin::RenderBackend*) (this=0x559a20e47d78, __p=0x0) at /usr/include/c++/13.2.1/bits/unique_ptr.h:211
#18 0x00007fa60dfb1b63 in std::unique_ptr<KWin::RenderBackend, std::default_delete<KWin::RenderBackend> >::reset(KWin::RenderBackend*)
    (this=0x559a20e47d78, __p=0x0) at /usr/include/c++/13.2.1/bits/unique_ptr.h:509
#19 0x00007fa60dfa8f8e in KWin::Compositor::stop() (this=0x559a20e47d10) at /home/qydw/kde/src/kwin/src/composite.cpp:524
#20 0x00007fa60dfaae13 in KWin::X11Compositor::stop() (this=0x559a20e47d10) at /home/qydw/kde/src/kwin/src/composite.cpp:893
#21 0x00007fa60dfaa513 in KWin::X11Compositor::~X11Compositor() (this=0x559a20e47d10, __in_chrg=<optimized out>)
    at /home/qydw/kde/src/kwin/src/composite.cpp:798
#22 0x00007fa60dfaa586 in KWin::X11Compositor::~X11Compositor() (this=0x559a20e47d10, __in_chrg=<optimized out>)
    at /home/qydw/kde/src/kwin/src/composite.cpp:799
#23 0x00007fa60e16b467 in KWin::Application::destroyCompositor() (this=0x7ffe4651c8c0) at /home/qydw/kde/src/kwin/src/main.cpp:315
#24 0x0000559a1fdaeffc in KWin::ApplicationX11::~ApplicationX11() (this=0x7ffe4651c8c0, __in_chrg=<optimized out>)
    at /home/qydw/kde/src/kwin/src/main_x11.cpp:184
#25 0x0000559a1fdb0962 in main(int, char**) (argc=2, argv=0x7ffe4651caf8) at /home/qydw/kde/src/kwin/src/main_x11.cpp:450
Comment 1 Bug Janitor Service 2023-08-24 07:54:24 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/4361
Comment 2 Vlad Zahorodnii 2023-08-24 14:25:31 UTC
Git commit 43669cebda77a5e4540923d944e19686d268b45f by Vlad Zahorodnii.
Committed on 24/08/2023 at 16:17.
Pushed by vladz into branch 'master'.

backends/x11: Destroy GLRenderTimeQuery while ctx is valid

M  +2    -0    src/backends/x11/standalone/x11_standalone_egl_backend.cpp
M  +2    -0    src/backends/x11/standalone/x11_standalone_glx_backend.cpp

https://invent.kde.org/plasma/kwin/-/commit/43669cebda77a5e4540923d944e19686d268b45f