Bug 441577 - KWin crashes on X11 when manually rotating the screen
Summary: KWin crashes on X11 when manually rotating the screen
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2021-08-26 15:23 UTC by Nate Graham
Modified: 2021-08-27 09:13 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 5.23


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nate Graham 2021-08-26 15:23:12 UTC
Application: kwin_x11 (5.22.80)
 (Compiled from sources)
Qt Version: 5.15.2
Frameworks Version: 5.86.0
Operating System: Linux 5.13.12-200.fc34.x86_64 x86_64
Windowing System: X11
Distribution: "Fedora release 34 (Thirty Four)"
DrKonqi: 5.22.80 [KCrashBackend]

-- Information about the crash:
Current git master everything. kwin_x11 crashes reproducibly when I rotate the screen in the KScreen KCM on X11. Crash did not occur on Wayland yesterday with yesterday's git master.

The crash can be reproduced every time.

-- Backtrace:
Application: KWin (kwin_x11), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = 0x0}
[KCrash Handler]
#5  0x00007fa7601a9558 in KWin::Workspace::clientArea(KWin::clientAreaOption, KWin::AbstractOutput const*, KWin::VirtualDesktop const*) const (this=this@entry=0x25742a0, opt=opt@entry=KWin::ScreenArea, output=<optimized out>, desktop=<optimized out>) at /home/nate/kde/src/kwin/src/workspace.cpp:2289
#6  0x00007fa7601a9847 in KWin::Workspace::clientArea(KWin::clientAreaOption, int, int) const (this=this@entry=0x25742a0, opt=opt@entry=KWin::ScreenArea, screen=<optimized out>, desktop=<optimized out>) at /home/nate/kde/src/kwin/src/workspace.cpp:2341
#7  0x00007fa7601a9899 in KWin::Workspace::clientArea(KWin::clientAreaOption, QPoint const&, int) const (this=this@entry=0x25742a0, opt=opt@entry=KWin::ScreenArea, p=..., desktop=<optimized out>) at /home/nate/kde/src/kwin/src/workspace.cpp:2346
#8  0x00007fa7601a990b in KWin::Workspace::clientArea(KWin::clientAreaOption, KWin::AbstractClient const*) const (this=this@entry=0x25742a0, opt=opt@entry=KWin::ScreenArea, c=c@entry=0x2804f50) at /home/nate/kde/src/kwin/src/workspace.cpp:2351
#9  0x00007fa7601a99e0 in KWin::Workspace::adjustClientArea(KWin::AbstractClient*, QRect const&) const (this=this@entry=0x25742a0, client=client@entry=0x2804f50, area=...) at /home/nate/kde/src/kwin/src/workspace.cpp:2119
#10 0x00007fa7601ac05d in KWin::Workspace::updateClientArea() (this=this@entry=0x25742a0) at /home/nate/kde/src/kwin/src/workspace.cpp:2197
#11 0x00007fa7601aed16 in KWin::Workspace::desktopResized() (this=0x25742a0) at /home/nate/kde/src/kwin/src/workspace.cpp:2067
#12 0x00007fa75df08c99 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffc6765d690, r=<optimized out>, this=0x269af80) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#13 doActivate<false>(QObject*, int, void**) (sender=0x251cde0, signal_index=8, argv=0x7ffc6765d690) at kernel/qobject.cpp:3886
#14 0x00007fa75df03c27 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x251cde0, m=m@entry=0x7fa7602d6160 <KWin::Platform::staticMetaObject>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7ffc6765d690) at kernel/qobject.cpp:3946
#15 0x00007fa76003ea52 in KWin::Platform::outputDisabled(KWin::AbstractOutput*) (this=this@entry=0x251cde0, _t1=<optimized out>, _t1@entry=0x2564b60) at /home/nate/kde/build/kwin/src/kwin_autogen/EWIEGA46WW/moc_platform.cpp:387
#16 0x00007fa7481b76d7 in KWin::X11StandalonePlatform::doUpdateOutputs<KWin::Xcb::RandR::CurrentResources>() (this=0x251cde0) at /home/nate/kde/src/kwin/src/plugins/platforms/x11/standalone/x11_platform.cpp:476
#17 0x00007fa7481b36e9 in KWin::X11StandalonePlatform::updateOutputs() (this=0x251cde0) at /home/nate/kde/src/kwin/src/plugins/platforms/x11/standalone/x11_platform.cpp:457
#18 0x00007fa75df08c99 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffc6765d920, r=<optimized out>, this=0x2510d00) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#19 doActivate<false>(QObject*, int, void**) (sender=0x2528c30, signal_index=3, argv=0x7ffc6765d920) at kernel/qobject.cpp:3886
#20 0x00007fa75df03c27 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=m@entry=0x7fa75e1a8580 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc6765d920) at kernel/qobject.cpp:3946
#21 0x00007fa75df0bf3e in QTimer::timeout(QTimer::QPrivateSignal) (this=<optimized out>, _t1=...) at .moc/moc_qtimer.cpp:205
#22 0x00007fa75deff79f in QObject::event(QEvent*) (this=0x2528c30, e=0x7ffc6765da80) at kernel/qobject.cpp:1336
#23 0x00007fa75d2bb423 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x2528c30, e=0x7ffc6765da80) at kernel/qapplication.cpp:3632
#24 0x00007fa75ded5098 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x2528c30, event=0x7ffc6765da80) at kernel/qcoreapplication.cpp:1063
#25 0x00007fa75df25983 in QTimerInfoList::activateTimers() (this=this@entry=0x2179e78) at kernel/qtimerinfo_unix.cpp:643
#26 0x00007fa75df23140 in QEventDispatcherUNIXPrivate::activateTimers() (this=this@entry=0x2179df0) at kernel/qeventdispatcher_unix.cpp:249
#27 0x00007fa75df23f50 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x2274f90, flags=...) at kernel/qeventdispatcher_unix.cpp:516
#28 0x00007fa74b6df512 in QXcbUnixEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x2274f90, flags=...) at qxcbeventdispatcher.cpp:60
#29 0x00007fa75ded3ab2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffc6765dc00, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#30 0x00007fa75dedbfe4 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#31 0x00007fa75e317c60 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1860
#32 0x00007fa75d2bb399 in QApplication::exec() () at kernel/qapplication.cpp:2824
#33 0x0000000000407f92 in main(int, char**) (argc=<optimized out>, argv=0x7ffc6765dea8) at /home/nate/kde/src/kwin/src/main_x11.cpp:483
[Inferior 1 (process 344863) detached]

Possible duplicates by query: bug 414317, bug 409838, bug 406639, bug 406452, bug 404125.

Reported using DrKonqi
Comment 1 Nate Graham 2021-08-26 15:27:52 UTC
Update: the same crash is also seen if I change the screen resolution.

(These are things I'm doing while testing https://invent.kde.org/plasma/kscreen/-/merge_requests/35)
Comment 2 Vlad Zahorodnii 2021-08-26 15:29:02 UTC
It's a quite recent regression, there are patches to fix it (either try https://invent.kde.org/plasma/kwin/-/merge_requests/1301 or https://invent.kde.org/plasma/kwin/-/merge_requests/1311).
Comment 3 Nate Graham 2021-08-26 15:53:27 UTC
Both of them fix the crash for me!
Comment 4 Vlad Zahorodnii 2021-08-27 08:24:09 UTC
!1303 landed