Bug 399580 - Kwin Aborts after disabling Laptop monitor
Summary: Kwin Aborts after disabling Laptop monitor
Status: RESOLVED WORKSFORME
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: 5.14.0
Platform: Neon Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2018-10-09 20:20 UTC by Shawn Sörbom
Modified: 2021-12-04 04:38 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
BT from other TTY on same machine (55.14 KB, text/plain)
2018-11-20 10:52 UTC, Alexander Mentyu
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Shawn Sörbom 2018-10-09 20:20:37 UTC
SUMMARY
Attempting to disable laptop monitor crashes the current login Session under wayland
Setup: one docked laptop and one external monitor

STEPS TO REPRODUCE
1. Set session type to kwin wayland and login
2. open system settings display module
3. select laptop screen
4. Uncheck the "Enabled" checkbox
5. Click Apply

OBSERVED RESULT
Both monitors go black for a second and then I am returned to the SDDM login screen.

EXPECTED RESULT
Laptop monitor disables

SOFTWARE VERSIONS
(available in About System)
KDE Plasma Version: 5.14
KDE Frameworks Version: 5.50.0
Qt Version: 5.11.1

ADDITIONAL INFORMATION
If I try to disable the external monitor instead, everything works as expected.
Comment 1 David Edmundson 2018-10-10 11:44:33 UTC
Crashes need a backtrace otherwise it's very hard to do anything.

It's possible this is a duplicate of 399564 which is fixed in 5.14.1
Comment 2 Shawn Sörbom 2018-10-10 15:39:14 UTC
How can I get a backtrace on kwin? What logs should I check?
Comment 3 Shawn Sörbom 2018-10-10 15:51:44 UTC
Nevermind, I found the info I needed via google search. I should be able to get you a backtrace within 24 hours.
Comment 4 Shawn Sörbom 2018-10-26 21:25:54 UTC
Attaching to process 1650
[New LWP 1651]
[New LWP 1652]
[New LWP 1653]
[New LWP 1673]
[New LWP 1674]
[New LWP 1675]
[New LWP 1677]
[New LWP 1679]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f4fbae78cf6 in __GI_ppoll (fds=fds@entry=0x5629cf27c5f8, nfds=nfds@entry=14, timeout=<optimized out>, timeout@entry=0x7ffeafcf32d0, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:39
39      ../sysdeps/unix/sysv/linux/ppoll.c: No such file or directory.
(gdb) continue
Continuing.
[New Thread 0x7f4f70d7f700 (LWP 2637)]
[New Thread 0x7f4f9260a700 (LWP 2638)]
[Thread 0x7f4f9260a700 (LWP 2638) exited]
[Thread 0x7f4f70d7f700 (LWP 2637) exited]
[Thread 0x7f4fa3c1a700 (LWP 1651) exited]

Thread 1 "kwin_wayland" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) continue
Continuing.
[Thread 0x7f4fa25bf700 (LWP 1653) exited]
[Thread 0x7f4f7c972700 (LWP 1679) exited]
[Thread 0x7f4f7d974700 (LWP 1677) exited]
[Thread 0x7f4f8a577700 (LWP 1675) exited]
[Thread 0x7f4fa2dc0700 (LWP 1652) exited]
[Thread 0x7f4fbe239cc0 (LWP 1650) exited]
[Thread 0x7f4f9172f700 (LWP 1673) exited]
[Inferior 1 (process 1650) exited with code 0375]


Weird. Kwin didn't crash -- it was aborted is there anywhere else I should look?
Sorry this took so long.
Comment 5 Andrew Crouthamel 2018-11-11 02:54:40 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 6 Shawn Sörbom 2018-11-11 06:08:57 UTC
See Comment 4
Comment 7 Alexander Mentyu 2018-11-20 10:52:40 UTC
Created attachment 116425 [details]
BT from other TTY on same machine

Can reproduce, will try to bt from other machine if needed
Comment 8 Martin Flöser 2018-11-20 16:41:04 UTC
The back trace is for Plasmashell and not for KWin
Comment 9 Michael D 2019-01-09 16:53:07 UTC
I have the same issue on plasma 5.14.4, so doesn't seem to be the same as bug 399564 if that was fixed in 5.14.1.
Comment 10 Patrick Silva 2019-01-22 23:54:19 UTC
crash is still reproducible on neon dev unsytable.
unfornately I did not get a complete backtrace

Thread 9 (Thread 1560.1595):
#0  0x00007f62995c89f3 in futex_wait_cancelable (private=<optimized out>, expected=0, 
    futex_word=0x7f6296fedfb8 <QTWTF::pageheap_memory+57592>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x7f6296fedf68 <QTWTF::pageheap_memory+57512>, 
    cond=0x7f6296fedf90 <QTWTF::pageheap_memory+57552>) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=cond@entry=0x7f6296fedf90 <QTWTF::pageheap_memory+57552>, 
    mutex=mutex@entry=0x7f6296fedf68 <QTWTF::pageheap_memory+57512>) at pthread_cond_wait.c:655
#3  0x00007f6296cf8954 in QTWTF::TCMalloc_PageHeap::scavengerThread (
    this=0x7f6296fdfec0 <QTWTF::pageheap_memory>)
    at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#4  0x00007f6296cf8999 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>)
    at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#5  0x00007f62995c26db in start_thread (arg=0x7f6251ef1700) at pthread_create.c:463
#6  0x00007f629766e88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 1560.1593):
#0  0x00007f62995c89f3 in futex_wait_cancelable (private=<optimized out>, expected=0, 
    futex_word=0x562976cd90a0) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x562976cd9050, cond=0x562976cd9078)
    at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=cond@entry=0x562976cd9078, mutex=mutex@entry=0x562976cd9050)
    at pthread_cond_wait.c:655
#3  0x00007f6297f9ffeb in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x562976cd9050)
    at thread/qwaitcondition_unix.cpp:143
#4  QWaitCondition::wait (this=this@entry=0x562976cd8e90, mutex=mutex@entry=0x562976cd8e88, 
---Type <return> to continue, or q <return> to quit---
    time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:215
#5  0x00007f62648ed22b in FileInfoThread::run (this=0x562976cd8e78) at fileinfothread.cpp:227
#6  0x00007f6297f9f17b in QThreadPrivate::start (arg=0x562976cd8e78) at thread/qthread_unix.cpp:367
#7  0x00007f62995c26db in start_thread (arg=0x7f6252ef3700) at pthread_create.c:463
#8  0x00007f629766e88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 1560.1592):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f6297f92c34 in QtLinuxFutex::_q_futex (val3=0, addr2=0x0, val2=0, val=<optimized out>, op=0, 
    addr=<optimized out>) at thread/qfutex_p.h:92
#2  QtLinuxFutex::futexWait<QBasicAtomicInteger<unsigned int> > (expectedValue=<optimized out>, futex=...)
    at thread/qfutex_p.h:107
#3  futexSemaphoreTryAcquire_loop<false> (timeout=-1, nn=8589934593, curValue=<optimized out>, u=...)
    at thread/qsemaphore.cpp:221
#4  futexSemaphoreTryAcquire<false> (timeout=-1, n=n@entry=1, u=...) at thread/qsemaphore.cpp:264
#5  QSemaphore::acquire (this=this@entry=0x562976dbd448, n=n@entry=1) at thread/qsemaphore.cpp:328
#6  0x00007f6280fbc8fb in QtVirtualKeyboard::HunspellWorker::run (this=0x562976dbd430)
    at hunspellworker.cpp:293
#7  0x00007f6297f9f17b in QThreadPrivate::start (arg=0x562976dbd430) at thread/qthread_unix.cpp:367
#8  0x00007f62995c26db in start_thread (arg=0x7f625b5ef700) at pthread_create.c:463
#9  0x00007f629766e88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 1560.1591):
#0  0x00007f6297661bf9 in __GI___poll (fds=0x7f625c004660, nfds=1, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f628e5e7539 in ?? () from target:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#2  0x00007f628e5e764c in g_main_context_iteration () from target:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f62981c46cf in QEventDispatcherGlib::processEvents (this=0x7f625c000b20, flags=...)
    at kernel/qeventdispatcher_glib.cpp:422
#4  0x00007f62981689aa in QEventLoop::exec (this=this@entry=0x7f6267785d40, flags=..., flags@entry=...)
    at kernel/qeventloop.cpp:214
#5  0x00007f6297f9425a in QThread::exec (this=this@entry=0x562976c3a000) at thread/qthread.cpp:525
#6  0x00007f62926e74f5 in QQmlThreadPrivate::run (this=0x562976c3a000) at qml/ftw/qqmlthread.cpp:148
#7  0x00007f6297f9f17b in QThreadPrivate::start (arg=0x562976c3a000) at thread/qthread_unix.cpp:367
#8  0x00007f62995c26db in start_thread (arg=0x7f6267786700) at pthread_create.c:463
#9  0x00007f629766e88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 1560.1590):
#0  0x00007f6297661bf9 in __GI___poll (fds=0x7f6260003ce0, nfds=1, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f628e5e7539 in ?? () from target:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f628e5e764c in g_main_context_iteration () from target:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f62981c46cf in QEventDispatcherGlib::processEvents (this=0x7f6260000b20, flags=...)
    at kernel/qeventdispatcher_glib.cpp:422
#4  0x00007f62981689aa in QEventLoop::exec (this=this@entry=0x7f626d06ed40, flags=..., flags@entry=...)
    at kernel/qeventloop.cpp:214
#5  0x00007f6297f9425a in QThread::exec (this=this@entry=0x562976b70400) at thread/qthread.cpp:525
#6  0x00007f62926e74f5 in QQmlThreadPrivate::run (this=0x562976b70400) at qml/ftw/qqmlthread.cpp:148
#7  0x00007f6297f9f17b in QThreadPrivate::start (arg=0x562976b70400) at thread/qthread_unix.cpp:367
#8  0x00007f62995c26db in start_thread (arg=0x7f626d06f700) at pthread_create.c:463
#9  0x00007f629766e88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

---Type <return> to continue, or q <return> to quit---
Thread 4 (Thread 1560.1563):
#0  0x00007f6297661bf9 in __GI___poll (fds=0x7f62740046c0, nfds=2, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f628e5e7539 in ?? () from target:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f628e5e764c in g_main_context_iteration () from target:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f62981c46cf in QEventDispatcherGlib::processEvents (this=0x7f6274000b20, flags=...)
    at kernel/qeventdispatcher_glib.cpp:422
#4  0x00007f62981689aa in QEventLoop::exec (this=this@entry=0x7f627efffd60, flags=..., flags@entry=...)
    at kernel/qeventloop.cpp:214
#5  0x00007f6297f9425a in QThread::exec (this=<optimized out>) at thread/qthread.cpp:525
#6  0x00007f6297f9f17b in QThreadPrivate::start (arg=0x56297619e4d0) at thread/qthread_unix.cpp:367
#7  0x00007f62995c26db in start_thread (arg=0x7f627f000700) at pthread_create.c:463
#8  0x00007f629766e88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 1560.1562):
#0  0x00007f6297661bf9 in __GI___poll (fds=0x7f6270003ce0, nfds=2, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f628e5e7539 in ?? () from target:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f628e5e764c in g_main_context_iteration () from target:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f62981c46cf in QEventDispatcherGlib::processEvents (this=0x7f6270000b20, flags=...)
    at kernel/qeventdispatcher_glib.cpp:422
#4  0x00007f62981689aa in QEventLoop::exec (this=this@entry=0x7f627f800d60, flags=..., flags@entry=...)
    at kernel/qeventloop.cpp:214
#5  0x00007f6297f9425a in QThread::exec (this=<optimized out>) at thread/qthread.cpp:525
#6  0x00007f6297f9f17b in QThreadPrivate::start (arg=0x562976150b30) at thread/qthread_unix.cpp:367
#7  0x00007f62995c26db in start_thread (arg=0x7f627f801700) at pthread_create.c:463
---Type <return> to continue, or q <return> to quit---
#8  0x00007f629766e88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 1560.1560):
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007f629758d801 in __GI_abort () at abort.c:79
#2  0x00007f62979ca8b7 in ?? () from target:/usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007f62979d0a06 in ?? () from target:/usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007f62979cfa69 in ?? () from target:/usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007f62979d0418 in __gxx_personality_v0 () from target:/usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007f628f9c2553 in ?? () from target:/lib/x86_64-linux-gnu/libgcc_s.so.1
#7  0x00007f628f9c2dd5 in _Unwind_Resume () from target:/lib/x86_64-linux-gnu/libgcc_s.so.1
#8  0x00007f629816d6c7 in QMutexLocker::unlock (this=<optimized out>)
    at ../../include/QtCore/../../src/corelib/thread/qmutex.h:219
#9  QMutexLocker::~QMutexLocker (this=<optimized out>, __in_chrg=<optimized out>)
    at ../../include/QtCore/../../src/corelib/thread/qmutex.h:213
#10 QCoreApplicationPrivate::sendPostedEvents (receiver=<optimized out>, event_type=0, data=0x5629761257e0)
    at kernel/qcoreapplication.cpp:1618
#11 0x00007f62981c1914 in QEventDispatcherUNIX::processEvents (this=0x56297614a540, flags=...)
    at kernel/qeventdispatcher_unix.cpp:466
#12 0x00007f628322158d in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from target:/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/KWinQpaPlugin.so
#13 0x00007f627fc3229a in KWin::DrmBackend::~DrmBackend() ()
   from target:/usr/lib/x86_64-linux-gnu/qt5/plugins/org.kde.kwin.waylandbackends/KWinWaylandDrmBackend.so
#14 0x00007f627fc32619 in KWin::DrmBackend::~DrmBackend() ()
   from target:/usr/lib/x86_64-linux-gnu/qt5/plugins/org.kde.kwin.waylandbackends/KWinWaylandDrmBackend.so
#15 0x00007f629815f637 in QLibraryPrivate::unload (this=0x5629761911f0, flag=QLibraryPrivate::NoUnloadSys)
---Type <return> to continue, or q <return> to quit---
    at plugin/qlibrary.cpp:575
#16 0x00007f629816196e in QLibraryStore::cleanup () at plugin/qlibrary.cpp:412
#17 qlibraryCleanup () at plugin/qlibrary.cpp:436
#18 (anonymous namespace)::qlibraryCleanup_dtor_class_::~qlibraryCleanup_dtor_class_ (this=<optimized out>, 
    __in_chrg=<optimized out>) at plugin/qlibrary.cpp:438
#19 0x00007f6297590615 in __cxa_finalize (d=0x7f62985f1960) at cxa_finalize.c:83
#20 0x00007f6297f70633 in __do_global_dtors_aux () from target:/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007ffd1d0a51d0 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Comment 11 kde.org 2021-11-04 14:58:52 UTC
This bug report is quite old and a lot of code has been changed in this area. Can you still reproduce this bug with KDE 5.23? If so, please provide a new backtrace.
Comment 12 Bug Janitor Service 2021-11-19 04:38:46 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 13 Bug Janitor Service 2021-12-04 04:38:36 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!