Bug 403519 - Wayland session crashed immediately after I connect an external monitor to hdmi port
Summary: Wayland session crashed immediately after I connect an external monitor to hd...
Status: RESOLVED WORKSFORME
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: unspecified
Platform: Neon Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-01-22 22:22 UTC by Patrick Silva
Modified: 2021-10-13 13:30 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Silva 2019-01-22 22:22:34 UTC
Operating System: KDE neon Developer Edition
KDE Plasma Version: 5.15.80
KDE Frameworks Version: 5.54.0
Qt Version: 5.11.2

Thread 9 (Thread 2034.2059):
#0  0x00007fa1ba25c9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, 
    futex_word=0x7fa1b7c81fb8 <QTWTF::pageheap_memory+57592>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x7fa1b7c81f68 <QTWTF::pageheap_memory+57512>, 
    cond=0x7fa1b7c81f90 <QTWTF::pageheap_memory+57552>) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=cond@entry=0x7fa1b7c81f90 <QTWTF::pageheap_memory+57552>, 
    mutex=mutex@entry=0x7fa1b7c81f68 <QTWTF::pageheap_memory+57512>) at pthread_cond_wait.c:655
#3  0x00007fa1b798c954 in QTWTF::TCMalloc_PageHeap::scavengerThread (
    this=0x7fa1b7c73ec0 <QTWTF::pageheap_memory>)
    at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#4  0x00007fa1b798c999 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>)
    at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#5  0x00007fa1ba2566db in start_thread (arg=0x7fa172989700) at pthread_create.c:463
#6  0x00007fa1b830288f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 2034.2057):
#0  0x00007fa1ba25c9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, 
    futex_word=0x56013b7b41a0) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x56013b7b4150, cond=0x56013b7b4178)
    at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=cond@entry=0x56013b7b4178, mutex=mutex@entry=0x56013b7b4150)
    at pthread_cond_wait.c:655
#3  0x00007fa1b8c33feb in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x56013b7b4150)
    at thread/qwaitcondition_unix.cpp:143
#4  QWaitCondition::wait (this=this@entry=0x56013b7b3f90, mutex=mutex@entry=0x56013b7b3f88, 
---Type <return> to continue, or q <return> to quit---
    time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:215
#5  0x00007fa18536622b in FileInfoThread::run (this=0x56013b7b3f78) at fileinfothread.cpp:227
#6  0x00007fa1b8c3317b in QThreadPrivate::start (arg=0x56013b7b3f78) at thread/qthread_unix.cpp:367
#7  0x00007fa1ba2566db in start_thread (arg=0x7fa17398b700) at pthread_create.c:463
#8  0x00007fa1b830288f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 2034.2056):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007fa1b8c26c34 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=0x56013b897f18, n=n@entry=1) at thread/qsemaphore.cpp:328
#6  0x00007fa1a1c508fb in QtVirtualKeyboard::HunspellWorker::run (this=0x56013b897f00)
    at hunspellworker.cpp:293
#7  0x00007fa1b8c3317b in QThreadPrivate::start (arg=0x56013b897f00) at thread/qthread_unix.cpp:367
#8  0x00007fa1ba2566db in start_thread (arg=0x7fa17bfff700) at pthread_create.c:463
#9  0x00007fa1b830288f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 2034.2055):
#0  0x00007fa1b82f5bf9 in __GI___poll (fds=0x7fa17c004660, nfds=1, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fa1af27b539 in ?? () from target:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#2  0x00007fa1af27b64c in g_main_context_iteration () from target:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa1b8e586cf in QEventDispatcherGlib::processEvents (this=0x7fa17c000b20, flags=...)
    at kernel/qeventdispatcher_glib.cpp:422
#4  0x00007fa1b8dfc9aa in QEventLoop::exec (this=this@entry=0x7fa187ffed40, flags=..., flags@entry=...)
    at kernel/qeventloop.cpp:214
#5  0x00007fa1b8c2825a in QThread::exec (this=this@entry=0x56013b715cf0) at thread/qthread.cpp:525
#6  0x00007fa1b337b4f5 in QQmlThreadPrivate::run (this=0x56013b715cf0) at qml/ftw/qqmlthread.cpp:148
#7  0x00007fa1b8c3317b in QThreadPrivate::start (arg=0x56013b715cf0) at thread/qthread_unix.cpp:367
#8  0x00007fa1ba2566db in start_thread (arg=0x7fa187fff700) at pthread_create.c:463
#9  0x00007fa1b830288f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 2034.2054):
#0  0x00007fa1b82f5bf9 in __GI___poll (fds=0x7fa180003ce0, nfds=1, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fa1af27b539 in ?? () from target:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa1af27b64c in g_main_context_iteration () from target:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa1b8e586cf in QEventDispatcherGlib::processEvents (this=0x7fa180000b20, flags=...)
    at kernel/qeventdispatcher_glib.cpp:422
#4  0x00007fa1b8dfc9aa in QEventLoop::exec (this=this@entry=0x7fa191bedd40, flags=..., flags@entry=...)
    at kernel/qeventloop.cpp:214
#5  0x00007fa1b8c2825a in QThread::exec (this=this@entry=0x56013b647c80) at thread/qthread.cpp:525
#6  0x00007fa1b337b4f5 in QQmlThreadPrivate::run (this=0x56013b647c80) at qml/ftw/qqmlthread.cpp:148
#7  0x00007fa1b8c3317b in QThreadPrivate::start (arg=0x56013b647c80) at thread/qthread_unix.cpp:367
#8  0x00007fa1ba2566db in start_thread (arg=0x7fa191bee700) at pthread_create.c:463
#9  0x00007fa1b830288f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

---Type <return> to continue, or q <return> to quit---
Thread 4 (Thread 2034.2037):
#0  0x00007fa1b82f5bf9 in __GI___poll (fds=0x7fa18c0046c0, nfds=2, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fa1af27b539 in ?? () from target:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa1af27b64c in g_main_context_iteration () from target:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa1b8e586cf in QEventDispatcherGlib::processEvents (this=0x7fa18c000b20, flags=...)
    at kernel/qeventdispatcher_glib.cpp:422
#4  0x00007fa1b8dfc9aa in QEventLoop::exec (this=this@entry=0x7fa19b7fdd60, flags=..., flags@entry=...)
    at kernel/qeventloop.cpp:214
#5  0x00007fa1b8c2825a in QThread::exec (this=<optimized out>) at thread/qthread.cpp:525
#6  0x00007fa1b8c3317b in QThreadPrivate::start (arg=0x56013ad495b0) at thread/qthread_unix.cpp:367
#7  0x00007fa1ba2566db in start_thread (arg=0x7fa19b7fe700) at pthread_create.c:463
#8  0x00007fa1b830288f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 2034.2036):
#0  0x00007fa1b82f5bf9 in __GI___poll (fds=0x7fa194003ce0, nfds=2, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fa1af27b539 in ?? () from target:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa1af27b64c in g_main_context_iteration () from target:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa1b8e586cf in QEventDispatcherGlib::processEvents (this=0x7fa194000b20, flags=...)
    at kernel/qeventdispatcher_glib.cpp:422
#4  0x00007fa1b8dfc9aa in QEventLoop::exec (this=this@entry=0x7fa19bffed60, flags=..., flags@entry=...)
    at kernel/qeventloop.cpp:214
#5  0x00007fa1b8c2825a in QThread::exec (this=<optimized out>) at thread/qthread.cpp:525
#6  0x00007fa1b8c3317b in QThreadPrivate::start (arg=0x56013acfbb50) at thread/qthread_unix.cpp:367
#7  0x00007fa1ba2566db in start_thread (arg=0x7fa19bfff700) at pthread_create.c:463
---Type <return> to continue, or q <return> to quit---
#8  0x00007fa1b830288f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 2034.2035):
#0  0x00007fa1b82f5bf9 in __GI___poll (fds=0x7fa19c015a30, nfds=5, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fa1af27b539 in ?? () from target:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fa1af27b64c in g_main_context_iteration () from target:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fa1b8e586cf in QEventDispatcherGlib::processEvents (this=0x7fa19c000b20, flags=...)
    at kernel/qeventdispatcher_glib.cpp:422
#4  0x00007fa1b8dfc9aa in QEventLoop::exec (this=this@entry=0x7fa1a12ecd30, flags=..., flags@entry=...)
    at kernel/qeventloop.cpp:214
#5  0x00007fa1b8c2825a in QThread::exec (
    this=this@entry=0x7fa1ba24dd60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>)
    at thread/qthread.cpp:525
#6  0x00007fa1b9fd5e45 in QDBusConnectionManager::run (
    this=0x7fa1ba24dd60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>)
    at qdbusconnection.cpp:178
#7  0x00007fa1b8c3317b in QThreadPrivate::start (
    arg=0x7fa1ba24dd60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>)
    at thread/qthread_unix.cpp:367
#8  0x00007fa1ba2566db in start_thread (arg=0x7fa1a12ed700) at pthread_create.c:463
#9  0x00007fa1b830288f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 2034.2034):
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007fa1b8221801 in __GI_abort () at abort.c:79
---Type <return> to continue, or q <return> to quit---
#2  0x00007fa1b8c035db in qt_message_fatal (context=..., message=<synthetic pointer>...)
    at global/qlogging.cpp:1842
#3  QMessageLogger::fatal (this=this@entry=0x7ffc0e7b4370, 
    msg=msg@entry=0x7fa1bb4aefa5 "Xwayland Connection died") at global/qlogging.cpp:880
#4  0x00007fa1bb41f9b6 in KWin::WaylandServer::<lambda()>::operator() (__closure=<optimized out>)
    at ./wayland_server.cpp:525
#5  QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KWin::WaylandServer::createXWaylandConnection()::<lambda()> >::call (f=..., arg=<optimized out>)
    at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:128
#6  QtPrivate::Functor<KWin::WaylandServer::createXWaylandConnection()::<lambda()>, 0>::call<QtPrivate::List<>, void> (f=..., arg=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:238
#7  QtPrivate::QFunctorSlotObject<KWin::WaylandServer::createXWaylandConnection()::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, 
    this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>)
    at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:421
#8  0x00007fa1b8e2d82f in QtPrivate::QSlotObjectBase::call (a=0x7ffc0e7b44c0, r=0x56013ad3deb0, 
    this=0x56013b153dd0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376
#9  QMetaObject::activate (sender=sender@entry=0x56013b1442d0, signalOffset=<optimized out>, 
    local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc0e7b44c0) at kernel/qobject.cpp:3754
#10 0x00007fa1b8e2dde7 in QMetaObject::activate (sender=sender@entry=0x56013b1442d0, 
    m=m@entry=0x7fa1ba76ab60 <KWayland::Server::ClientConnection::staticMetaObject>, 
    local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc0e7b44c0) at kernel/qobject.cpp:3633
#11 0x00007fa1ba51f9ef in KWayland::Server::ClientConnection::disconnected (this=this@entry=0x56013b1442d0, 
    _t1=<optimized out>, _t1@entry=0x56013b1442d0)
    at ./obj-x86_64-linux-gnu/src/server/KF5WaylandServer_autogen/EWIEGA46WW/moc_clientconnection.cpp:139
#12 0x00007fa1ba4d072d in KWayland::Server::ClientConnection::Private::destroyListenerCallback (
---Type <return> to continue, or q <return> to quit---
    listener=<optimized out>, data=<optimized out>) at ./src/server/clientconnection.cpp:89
#13 0x00007fa1b0ecf920 in ?? () from target:/usr/lib/x86_64-linux-gnu/libwayland-server.so.0
#14 0x00007fa1b0ecfa81 in wl_client_destroy () from target:/usr/lib/x86_64-linux-gnu/libwayland-server.so.0
#15 0x00007fa1b0ecfb58 in ?? () from target:/usr/lib/x86_64-linux-gnu/libwayland-server.so.0
#16 0x00007fa1b0ed1692 in wl_event_loop_dispatch ()
   from target:/usr/lib/x86_64-linux-gnu/libwayland-server.so.0
#17 0x00007fa1ba4d4a9e in KWayland::Server::Display::Private::dispatch (this=<optimized out>)
    at ./src/server/display.cpp:145
#18 0x00007fa1b8e2d82f in QtPrivate::QSlotObjectBase::call (a=0x7ffc0e7b4910, r=0x56013ad3e3c0, 
    this=0x56013ad3e5f0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376
#19 QMetaObject::activate (sender=sender@entry=0x56013ad3e5d0, signalOffset=<optimized out>, 
    local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc0e7b4910) at kernel/qobject.cpp:3754
#20 0x00007fa1b8e2dde7 in QMetaObject::activate (sender=sender@entry=0x56013ad3e5d0, 
    m=m@entry=0x7fa1b9282c60 <QSocketNotifier::staticMetaObject>, 
    local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc0e7b4910) at kernel/qobject.cpp:3633
#21 0x00007fa1b8e39f08 in QSocketNotifier::activated (this=this@entry=0x56013ad3e5d0, _t1=<optimized out>, 
    _t2=...) at .moc/moc_qsocketnotifier.cpp:136
#22 0x00007fa1b8e3a2c2 in QSocketNotifier::event (this=0x56013ad3e5d0, e=0x7ffc0e7b4b80)
    at kernel/qsocketnotifier.cpp:266
#23 0x00007fa1b93e4e1c in QApplicationPrivate::notify_helper (this=this@entry=0x56013ace1de0, 
    receiver=receiver@entry=0x56013ad3e5d0, e=e@entry=0x7ffc0e7b4b80) at kernel/qapplication.cpp:3727
#24 0x00007fa1b93ec3ef in QApplication::notify (this=0x7ffc0e7b4f90, receiver=0x56013ad3e5d0, e=0x7ffc0e7b4b80)
    at kernel/qapplication.cpp:3486
#25 0x00007fa1b8dfe688 in QCoreApplication::notifyInternal2 (receiver=receiver@entry=0x56013ad3e5d0, 
    event=event@entry=0x7ffc0e7b4b80) at kernel/qcoreapplication.cpp:1048
#26 0x00007fa1b8e557a8 in QCoreApplication::sendEvent (event=0x7ffc0e7b4b80, receiver=<optimized out>)
---Type <return> to continue, or q <return> to quit---
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#27 QEventDispatcherUNIXPrivate::activateSocketNotifiers (this=this@entry=0x56013ad049a0)
    at kernel/qeventdispatcher_unix.cpp:304
#28 0x00007fa1b8e55e28 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...)
    at kernel/qeventdispatcher_unix.cpp:509
#29 0x00007fa1a3eb558d in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from target:/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/KWinQpaPlugin.so
#30 0x00007fa1b8dfc9aa in QEventLoop::exec (this=this@entry=0x7ffc0e7b4d30, flags=..., flags@entry=...)
    at kernel/qeventloop.cpp:214
#31 0x00007fa1b8e05b70 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1336
#32 0x0000560138d69a33 in main (argc=<optimized out>, argv=<optimized out>) at ./main_wayland.cpp:830
Comment 1 David Edmundson 2019-01-23 01:21:56 UTC
3  QMessageLogger::fatal 

"Xwayland Connection died"

Please can you try to get a backtrace of xwayland and report to the X developers.
Comment 2 Patrick Silva 2019-01-23 21:37:15 UTC
Weird. coredumpctl command shows no crash related to Xwayland process.
Comment 3 Martin Flöser 2019-01-24 07:04:17 UTC
It's possible that it didn't crash but decided to exit.
Comment 4 Vlad Zahorodnii 2021-10-13 13:30:07 UTC
kwin handles xwayland dying. marking as RESOLVED WORKSFORME.