| Summary: | kwin git 9b7ab4d16 segfault-loops on X | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | Duncan <1i5t5.duncan> |
| Component: | core | Assignee: | KWin default assignee <kwin-bugs-null> |
| Status: | VERIFIED FIXED | ||
| Severity: | major | CC: | kde |
| Priority: | VHI | ||
| Version First Reported In: | git master | ||
| Target Milestone: | --- | ||
| Platform: | Gentoo Packages | ||
| OS: | Linux | ||
| Latest Commit: | https://commits.kde.org/kwin/754b90c72f8c73d8dcf7091fba82309d21aebbb5 | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
|
Description
Duncan
2020-03-24 11:56:26 UTC
Do you have a backtrace? Commit is: Author: Aleix Pol <aleixpol@kde.org> Date: Mon Mar 23 20:26:21 2020 +0100 Improve tests behaviour on set ups with high dpi I assume Screens::self()->size(0) seg faults if out of range. Can reproduce Thread 1 "kwin_x11" received signal SIGSEGV, Segmentation fault.
0x00007ffff7cfe393 in KWin::Screens::physicalDpiX (this=0x0, screen=0) at /home/david/projects/kde5/src/kde/workspace/kwin/screens.cpp:234
234 return size(screen).width() / physicalSize(screen).width() * qreal(25.4);
(gdb) bt
#0 0x00007ffff7cfe393 in KWin::Screens::physicalDpiX(int) const (this=0x0, screen=0) at /home/david/projects/kde5/src/kde/workspace/kwin/screens.cpp:234
#1 0x00007ffff7cef583 in KWin::ScreenEdges::ScreenEdges(QObject*) (this=0x555555634c00, parent=0x5555556c35f0)
at /home/david/projects/kde5/src/kde/workspace/kwin/screenedge.cpp:730
#2 0x00007ffff7cef434 in KWin::ScreenEdges::create(QObject*) (parent=0x5555556c35f0) at /home/david/projects/kde5/src/kde/workspace/kwin/screenedge.cpp:711
#3 0x00007ffff7da52a6 in KWin::Workspace::Workspace(QString const&) (this=0x5555556c35f0, sessionKey="")
at /home/david/projects/kde5/src/kde/workspace/kwin/workspace.cpp:162
#4 0x00007ffff7c8ae3e in KWin::Application::createWorkspace() (this=0x7fffffffde68) at /home/david/projects/kde5/src/kde/workspace/kwin/main.cpp:279
#5 0x0000555555560152 in KWin::ApplicationX11::performStartup()::$_1::operator()() const::{lambda()#1}::operator()() const (this=0x5555556c7430)
at /home/david/projects/kde5/src/kde/workspace/kwin/main_x11.cpp:252
#6 0x00005555555600f6 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KWin::ApplicationX11::performStartup()::$_1::operator()() const::{lambda()#1}>::call({lambda()#1}&, void**) (f=..., arg=0x7fffffffd360) at /opt/qt5/include/QtCore/qobjectdefs_impl.h:146
#7 0x00005555555600c1 in QtPrivate::Functor<KWin::ApplicationX11::performStartup()::$_1::operator()() const::{lambda()#1}, 0>::call<QtPrivate::List<>, void>({lambda()#1}&, void*, {lambda()#1}&*) (f=..., arg=0x7fffffffd360) at /opt/qt5/include/QtCore/qobjectdefs_impl.h:256
#8 0x000055555556006c in QtPrivate::QFunctorSlotObject<KWin::ApplicationX11::performStartup()::$_1::operator()() const::{lambda()#1}, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x5555556c7420, r=0x7fffffffde68, a=0x7fffffffd360, ret=0x0)
at /opt/qt5/include/QtCore/qobjectdefs_impl.h:439
#9 0x00007ffff34c37df in QtPrivate::QSlotObjectBase::call(QObject*, void**) (this=0x5555556c7420, r=0x7fffffffde68, a=0x7fffffffd360)
at ../../include/QtCore/../../../../qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:394
#10 0x00007ffff350506e in doActivate<false>(QObject*, int, void**) (sender=0x55555562d810, signal_index=3, argv=0x7fffffffd360)
at /home/david/projects/qt5/qtbase/src/corelib/kernel/qobject.cpp:3870
#11 0x00007ffff34fea4b in QMetaObject::activate(QObject*, QMetaObject const*, int, void**)
(sender=0x55555562d810, m=0x7ffff7fb01e0 <KWin::Platform::staticMetaObject>, local_signal_index=0, argv=0x0)
at /home/david/projects/qt5/qtbase/src/corelib/kernel/qobject.cpp:3930
#12 0x00007ffff7b051d2 in KWin::Platform::screensQueried() (this=0x55555562d810) at kwin_autogen/EWIEGA46WW/moc_platform.cpp:318
#13 0x00007fffecd0df78 in KWin::X11StandalonePlatform::init() (this=0x55555562d810)
at /home/david/projects/kde5/src/kde/workspace/kwin/plugins/platforms/x11/standalone/x11_platform.cpp:108
#14 0x000055555555fcc0 in KWin::ApplicationX11::performStartup()::$_1::operator()() const (this=0x5555556341b0)
Git commit 754b90c72f8c73d8dcf7091fba82309d21aebbb5 by David Edmundson. Committed on 24/03/2020 at 12:40. Pushed by davidedmundson into branch 'master'. Create screens before screen edges Summary: Screens is used in screenEdges in a recent refactor This didn't affect wayland as main_wayland creates screens earlier itself. We can't move creation into main_x11 as X11's screens uses an event filter which relies on workspace existing. Test Plan: Restarted on X11 Reviewers: #kwin Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D28233 M +1 -1 workspace.cpp https://commits.kde.org/kwin/754b90c72f8c73d8dcf7091fba82309d21aebbb5 Fix verified. Thanks. =:^) |