Bug 454361 - (SIGFPE) kwin_wayland crashed in KWin::X11Window::constrainClientSize
Summary: (SIGFPE) kwin_wayland crashed in KWin::X11Window::constrainClientSize
Status: RESOLVED NOT A BUG
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (other bugs)
Version First Reported In: git master
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: wayland-only
Depends on:
Blocks:
 
Reported: 2022-05-24 20:20 UTC by postix
Modified: 2022-05-25 08:11 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
bt full (21.09 KB, text/plain)
2022-05-24 20:20 UTC, postix
Details
kWin Support Info (6.83 KB, text/plain)
2022-05-24 20:22 UTC, postix
Details

Note You need to log in before you can comment on or make changes to this bug.
Description postix 2022-05-24 20:20:47 UTC
Created attachment 149184 [details]
bt full

SUMMARY

checkout MR https://invent.kde.org/plasma/kwin/-/merge_requests/2288

```
echo Xft.dpi: 192 | xrdb -merge
QT_AUTO_SCREEN_SCALE_FACTOR=0 QT_SCREEN_SCALE_FACTORS=2 /usr/bin/vlc
```

```
#0  0x00007fcfd96ad80c in KWin::X11Window::constrainClientSize(QSize const&, KWin::Window::SizeMode) const (this=0x2362800, size=..., mode=KWin::Window::SizeModeAny) at /home/mh/Development/kde/src/kde/workspace/kwin/src/x11window.cpp:3581
#1  0x00007fcfd96a0c9a in KWin::X11Window::manage(unsigned int, bool) (this=0x2362800, w=20971526, isMapped=false) at /home/mh/Development/kde/src/kde/workspace/kwin/src/x11window.cpp:694
#2  0x00007fcfd967e30d in KWin::Workspace::createX11Window(unsigned int, bool) (this=0x137ea20, windowId=20971526, is_mapped=false) at /home/mh/Development/kde/src/kde/workspace/kwin/src/workspace.cpp:655
#3  0x00007fcfd94e180d in KWin::Workspace::workspaceEvent(xcb_generic_event_t*) (this=0x137ea20, e=0x7fcfcc01f850) at /home/mh/Development/kde/src/kde/workspace/kwin/src/events.cpp:219
#4  0x00007fcfd955326b in KWin::Application::dispatchEvent(xcb_generic_event_t*) (this=0x7fff903e2cb0, event=0x7fcfcc01f850) at /home/mh/Development/kde/src/kde/workspace/kwin/src/main.cpp:488
#5  0x00007fcfd9553409 in KWin::XcbEventFilter::nativeEventFilter(QByteArray const&, void*, long*) (this=0xe6a740, eventType=..., message=0x7fcfcc01f850, result=0x7fff903e2628) at /home/mh/Development/kde/src/kde/workspace/kwin/src/main.cpp:576
#6  0x00007fcfd78d8eff in QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long*) (this=<optimized out>, eventType=..., message=0x7fcfcc01f850, result=0x7fff903e2628) at kernel/qabstracteventdispatcher.cpp:495
#7  0x00000000004708c0 in KWin::Xwl::Xwayland::dispatchEvents() (this=0x187c280) at /home/mh/Development/kde/src/kde/workspace/kwin/src/xwayland/xwayland.cpp:123
#8  0x0000000000472f5f in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KWin::Xwl::Xwayland::*)()>::call(void (KWin::Xwl::Xwayland::*)(), KWin::Xwl::Xwayland*, void**) (f=(void (KWin::Xwl::Xwayland::*)(KWin::Xwl::Xwayland * const)) 0x470722 <KWin::Xwl::Xwayland::dispatchEvents()>, o=0x187c280, arg=0x7fff903e2860) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:152
#9  0x0000000000472d7a in QtPrivate::FunctionPointer<void (KWin::Xwl::Xwayland::*)()>::call<QtPrivate::List<>, void>(void (KWin::Xwl::Xwayland::*)(), KWin::Xwl::Xwayland*, void**) (f=(void (KWin::Xwl::Xwayland::*)(KWin::Xwl::Xwayland * const)) 0x470722 <KWin::Xwl::Xwayland::dispatchEvents()>, o=0x187c280, arg=0x7fff903e2860) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:185
#10 0x0000000000472acd in QtPrivate::QSlotObject<void (KWin::Xwl::Xwayland::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x2180b70, r=0x187c280, a=0x7fff903e2860, ret=0x0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:418
#11 0x00007fcfd7912def in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fff903e2860, r=0x187c280, this=0x2180b70) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#12 doActivate<false>(QObject*, int, void**) (sender=0x10197c0, signal_index=3, argv=0x7fff903e2860) at kernel/qobject.cpp:3886
#13 0x00007fcfd790c0cf in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x10197c0, m=m@entry=0x7fcfd7baf880 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff903e2860) at kernel/qobject.cpp:3946
#14 0x00007fcfd791612f in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) (this=this@entry=0x10197c0, _t1=..., _t2=<optimized out>, _t3=...) at .moc/moc_qsocketnotifier.cpp:178
#15 0x00007fcfd7916935 in QSocketNotifier::event(QEvent*) (this=0x10197c0, e=<optimized out>) at kernel/qsocketnotifier.cpp:302
#16 0x00007fcfd644137e in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x10197c0, e=0x7fff903e2960) at kernel/qapplication.cpp:3632
#17 0x00007fcfd78db988 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x10197c0, event=0x7fff903e2960) at kernel/qcoreapplication.cpp:1064
#18 0x00007fcfd79309e3 in QEventDispatcherUNIXPrivate::activateSocketNotifiers() (this=0xe331b0) at kernel/qeventdispatcher_unix.cpp:304
#19 0x00007fcfd7930ea7 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:511
#20 0x000000000058805d in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at qunixeventdispatcher.cpp:63
#21 0x00007fcfd78da3fb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff903e2af0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#22 0x00007fcfd78e2566 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#23 0x000000000044ae14 in main(int, char**) (argc=14, argv=0x7fff903e34f8) at /home/mh/Development/kde/src/kde/workspace/kwin/src/main_wayland.cpp:643
```
Comment 1 postix 2022-05-24 20:22:00 UTC
Created attachment 149185 [details]
kWin Support Info
Comment 2 postix 2022-05-24 20:24:41 UTC
It does _not_ crash for me executing

```
QT_AUTO_SCREEN_SCALE_FACTOR=0 QT_SCREEN_SCALE_FACTORS=0 /usr/bin/vlc
QT_AUTO_SCREEN_SCALE_FACTOR=0 QT_SCREEN_SCALE_FACTORS=1 /usr/bin/vlc
```
Comment 3 postix 2022-05-24 20:58:57 UTC
The line 
```
echo Xft.dpi: 192 | xrdb -merge
``` 
mentioned in the OT is not required to trigger the crash.
Comment 4 postix 2022-05-24 21:00:03 UTC
It does not crash w/o MR 2288.
Comment 5 Aleix Pol 2022-05-24 22:42:54 UTC
I cannot reproduce the crash.
Comment 6 Vlad Zahorodnii 2022-05-25 08:11:28 UTC
Bugs in WIP patches have to be discussed on GitLab.