https://bugs.kde.org/show_bug.cgi?id=454014

            Bug ID: 454014
           Summary: Crash in KWin::DrmConnectorMode::~DrmConnectorMode()
                    when connecting and disconnecting a left-extended
                    screen
           Product: kwin
           Version: git master
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: crash
          Priority: NOR
         Component: wayland-generic
          Assignee: kwin-bugs-n...@kde.org
          Reporter: n...@kde.org
                CC: xaver.h...@gmail.com
  Target Milestone: ---

Wayland, git master everything KDE.

STEPS TO REPRODUCE
1. Connect a screen
2. In the KScreen OSD, select "Extend Left"
*crash*
3. Use KRunner to restart plasmashell due to Bug 448475
4. Unplug the screen
*crash*


Same backtrace for both crashes:

#0  KWin::DrmGpu::fd() const (this=0xf0000000000)
    at /home/nate/kde/src/kwin/src/backends/drm/drm_gpu.cpp:680
#1  0x00007f8661591fb9 in KWin::DrmConnectorMode::~DrmConnectorMode()
    (this=<optimized out>, __in_chrg=<optimized out>)
    at /home/nate/kde/src/kwin/src/backends/drm/drm_object_connector.cpp:75
#2 
QtSharedPointer::ExternalRefCountWithContiguousData<KWin::DrmConnectorMode>::deleter(QtSharedPointer::ExternalRefCountData*)
(self=<optimized out>)
    at /usr/include/qt5/QtCore/qsharedpointer_impl.h:248
#3  0x00007f86768674bc in QtSharedPointer::ExternalRefCountData::destroy()
(this=0x3f8d360)
    at /usr/include/qt5/QtCore/qsharedpointer_impl.h:149
#4 
QSharedPointer<KWin::OutputMode>::deref(QtSharedPointer::ExternalRefCountData*)
(dd=0x3f8d360)
    at /usr/include/qt5/QtCore/qsharedpointer_impl.h:458
#5 
QSharedPointer<KWin::OutputMode>::deref(QtSharedPointer::ExternalRefCountData*)
(dd=0x3f8d360)
    at /usr/include/qt5/QtCore/qsharedpointer_impl.h:454
#6  QSharedPointer<KWin::OutputMode>::deref() (this=0x25508b8)
    at /usr/include/qt5/QtCore/qsharedpointer_impl.h:453
#7  QSharedPointer<KWin::OutputMode>::~QSharedPointer() (this=0x25508b8,
__in_chrg=<optimized out>)
    at /usr/include/qt5/QtCore/qsharedpointer_impl.h:310
#8  KWaylandServer::OutputInterfacePrivate::~OutputInterfacePrivate()
    (this=0x2550820, __in_chrg=<optimized out>)
    at /home/nate/kde/src/kwin/src/wayland/output_interface.cpp:21
#9  KWaylandServer::OutputInterfacePrivate::~OutputInterfacePrivate()
    (this=0x2550820, __in_chrg=<optimized out>)
    at /home/nate/kde/src/kwin/src/wayland/output_interface.cpp:21
#10 0x00007f8676866536 in
QScopedPointerDeleter<KWaylandServer::OutputInterfacePrivate>::cleanup(KWaylandServer::OutputInterfacePrivate*)
(pointer=<optimized out>)
    at /usr/include/qt5/QtCore/qscopedpointer.h:52
#11 QScopedPointer<KWaylandServer::OutputInterfacePrivate,
QScopedPointerDeleter<KWaylandServer::OutputInterfacePrivate>
>::~QScopedPointer() (this=0x311e2c0, __in_chrg=<optimized out>)
    at /usr/include/qt5/QtCore/qscopedpointer.h:107
#12 KWaylandServer::OutputInterface::~OutputInterface() (this=0x311e2b0,
__in_chrg=<optimized out>)
    at /home/nate/kde/src/kwin/src/wayland/output_interface.cpp:181
#13 0x00007f8676866585 in KWaylandServer::OutputInterface::~OutputInterface()
    (this=0x311e2b0, __in_chrg=<optimized out>)
    at /home/nate/kde/src/kwin/src/wayland/output_interface.cpp:178
#14 KWaylandServer::OutputInterfacePrivate::output_destroy_global()
(this=<optimized out>)
    at /home/nate/kde/src/kwin/src/wayland/output_interface.cpp:148
#15 0x00007f86768bcb05 in
QtWaylandServer::wl_output::deferred_destroy_global_func(void*)
    (data=0x2550820) at
/home/nate/kde/build/kwin/src/wayland/qwayland-server-wayland.cpp:5224
#16 0x00007f8674939572 in wl_timer_heap_dispatch (timers=0x1cbfa28) at
../src/event-loop.c:526
#17 wl_event_loop_dispatch (loop=0x1cbf9e0, timeout=<optimized out>) at
../src/event-loop.c:1020
#18 0x00007f8676854447 in KWaylandServer::Display::dispatchEvents()
(this=<optimized out>)
    at /home/nate/kde/src/kwin/src/wayland/display.cpp:114
#19 0x00007f8674cfb726 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
    (a=0x7ffde8f3f4c0, r=<optimized out>, this=0x2a50820)
    at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#20 doActivate<false>(QObject*, int, void**)
    (sender=0x1ca7d10, signal_index=3, argv=0x7ffde8f3f4c0) at
kernel/qobject.cpp:3886
#21 0x00007f8674cf6747 in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**)
    (sender=sender@entry=0x1ca7d10, m=m@entry=0x7f8674fa0460
<QSocketNotifier::staticMetaObject>,
local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffde8f3f4c0)
    at kernel/qobject.cpp:3946
#22 0x00007f8674cfdfa3 in QSocketNotifier::activated(QSocketDescriptor,
QSocketNotifier::Type, QSocketNotifier::QPrivateSignal)
(this=this@entry=0x1ca7d10, _t1=..., _t2=<optimized out>, _t3=...)
    at .moc/moc_qsocketnotifier.cpp:178
#23 0x00007f8674cfe7c5 in QSocketNotifier::event(QEvent*) (this=0x1ca7d10,
e=<optimized out>)
    at kernel/qsocketnotifier.cpp:302
#24 0x00007f8673b4cc22 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    (this=<optimized out>, receiver=0x1ca7d10, e=0x7ffde8f3f5c0) at
kernel/qapplication.cpp:3637
#25 0x00007f8674cc8118 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
    (receiver=0x1ca7d10, event=0x7ffde8f3f5c0) at
kernel/qcoreapplication.cpp:1064
#26 0x00007f8674d1612e in
QEventDispatcherUNIXPrivate::activateSocketNotifiers() (this=0x1c60be0)
    at kernel/qeventdispatcher_unix.cpp:304
#27 0x00007f8674d1656a in
QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:511
#28 0x000000000051ede1 in
QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
()
#29 0x00007f8674cc6b7a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
    (this=this@entry=0x7ffde8f3f730, flags=..., flags@entry=...)
    at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#30 0x00007f8674ccec22 in QCoreApplication::exec() ()
    at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#31 0x00007f867510ce50 in QGuiApplication::exec() () at
kernel/qguiapplication.cpp:1860
#32 0x00007f8673b4cb99 in QApplication::exec() () at
kernel/qapplication.cpp:2829
#33 0x0000000000443987 in main(int, char**) (argc=<optimized out>,
argv=<optimized out>)
    at /home/nate/kde/src/kwin/src/main_wayland.cpp:642

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to