Bug 423636 - Crash when disconnecting a displays (the docking station)
Summary: Crash when disconnecting a displays (the docking station)
Status: RESOLVED DUPLICATE of bug 422460
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: git master
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-06-29 00:31 UTC by Aleix Pol
Modified: 2020-06-30 13:10 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Aleix Pol 2020-06-29 00:31:42 UTC
SUMMARY
Crash when disconnecting the docking station. It's asserting so it looks like an logical issue in our code.

OBSERVED RESULT
#0  0x00007f651248a355 in raise () at /usr/lib/libc.so.6
#1  0x00007f651247390b in abort () at /usr/lib/libc.so.6
#2  0x00007f6512b42c51 in qt_message_fatal (message=<synthetic pointer>..., context=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/global/qlogging.cpp:1914
#3  QMessageLogger::fatal(char const*, ...) const (this=this@entry=0x7ffff2f235f8, msg=msg@entry=0x7f6512e40ea0 "ASSERT: \"%s\" in file %s, line %d") at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/global/qlogging.cpp:893
#4  0x00007f6512b4204a in qt_assert(char const*, char const*, int) (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/global/qlogging.h:90
#5  0x00007f650d03d08e in KWin::DrmOutput::~DrmOutput() (this=0x55a997c1d7a0) at /home/apol/devel/frameworks/kwin/plugins/platforms/drm/drm_output.cpp:61
#6  0x00007f650d03d2cc in KWin::DrmOutput::~DrmOutput() (this=0x55a997c1d7a0) at /home/apol/devel/frameworks/kwin/plugins/platforms/drm/drm_output.cpp:60
#7  0x00007f650d033560 in qDeleteAll<KWin::DrmOutput* const*>(KWin::DrmOutput* const*, KWin::DrmOutput* const*) (begin=0x55a998560698, end=0x55a9985606a8) at /home/apol/devel/kde5/include/QtCore/qalgorithms.h:320
#8  0x00007f650d02c3fe in qDeleteAll<QVector<KWin::DrmOutput*> >(QVector<KWin::DrmOutput*> const&) (c=...) at /home/apol/devel/kde5/include/QtCore/qalgorithms.h:328
#9  0x00007f650d0266bb in KWin::DrmBackend::updateOutputs() (this=0x55a997a5ea40) at /home/apol/devel/frameworks/kwin/plugins/platforms/drm/drm_backend.cpp:522
#10 0x00007f650d02852c in KWin::DrmBackend::openDrm()::$_2::operator()() const (this=0x55a997bc24c0) at /home/apol/devel/frameworks/kwin/plugins/platforms/drm/drm_backend.cpp:348
#11 0x00007f650d0283b6 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KWin::DrmBackend::openDrm()::$_2>::call(KWin::DrmBackend::openDrm()::$_2&, void**) (f=..., arg=0x7ffff2f23c40)
    at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:146
#12 0x00007f650d028381 in QtPrivate::Functor<KWin::DrmBackend::openDrm()::$_2, 0>::call<QtPrivate::List<>, void>(KWin::DrmBackend::openDrm()::$_2&, void*, void**) (f=..., arg=0x7ffff2f23c40) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:256
#13 0x00007f650d02832c in QtPrivate::QFunctorSlotObject<KWin::DrmBackend::openDrm()::$_2, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55a997bc24b0, r=0x55a997a5ea40, a=0x7ffff2f23c40, ret=0x0)
    at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:443
#14 0x00007f6512d95f06 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffff2f23c40, r=0x55a997a5ea40, this=0x55a997bc24b0) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:398
#15 doActivate<false>(QObject*, int, void**) (sender=0x55a997bca310, signal_index=3, argv=argv@entry=0x7ffff2f23c40) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3886
#16 0x00007f6512d8f260 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x55a997bca310, m=m@entry=0x7f651302eb00 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffff2f23c40)
    at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:3946
#17 0x00007f6512d9933f in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) (this=this@entry=0x55a997bca310, _t1=..., _t2=<optimized out>, _t3=...) at .moc/moc_qsocketnotifier.cpp:178
#18 0x00007f6512d99b3b in QSocketNotifier::event(QEvent*) (this=0x55a997bca310, e=0x7ffff2f23d50) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qsocketnotifier.cpp:302
#19 0x00007f651387111f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55a997bca310, e=0x7ffff2f23d50) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3671
#20 0x00007f6512d5fa3a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55a997bca310, event=0x7ffff2f23d50) at ../../include/QtCore/5.15.0/QtCore/private/../../../../../../../../devel/frameworks/qt5/qtbase/src/corelib/thread/qthread_p.h:325
#21 0x00007f6512db41eb in QEventDispatcherUNIXPrivate::activateSocketNotifiers() (this=0x55a997a3e330) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_unix.cpp:304
#22 0x00007f6512db464b in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_unix.cpp:511
#23 0x00007f650e3e226d in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/platformsupport/eventdispatchers/qunixeventdispatcher.cpp:63
#24 0x00007f6512d5e3fb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffff2f23ee0, flags=..., flags@entry=...) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/global/qflags.h:141
#25 0x00007f6512d66660 in QCoreApplication::exec() () at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/global/qflags.h:121
#26 0x000055a9969ce98f in main(int, char**) (argc=4, argv=0x7ffff2f248c8) at /home/apol/devel/frameworks/kwin/main_wayland.cpp:704
(gdb) ~


EXPECTED RESULT


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Nicolas Fella 2020-06-30 10:29:38 UTC
The backtrace looks pretty much identical to https://bugs.kde.org/show_bug.cgi?id=422460
Comment 2 Aleix Pol 2020-06-30 13:10:28 UTC

*** This bug has been marked as a duplicate of bug 422460 ***