https://bugs.kde.org/show_bug.cgi?id=461901
Bug ID: 461901
Summary: kwin_wayland crashes when I tap the touchscreen after
disconnecting an external monitor
Classification: Plasma
Product: kwin
Version: master
Platform: Neon
OS: Linux
Status: REPORTED
Severity: crash
Priority: NOR
Component: wayland-generic
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
STEPS TO REPRODUCE
1. use Wayland on a device with a touchscreen - I use a laptop
2. connect an external monitor to hdmi port
3. press meta+p and choose 'Switch to external screen'
4. disconnect the external monitor from the hdmi port
5. try to open kickoff using the touchscreen
OBSERVED RESULT
kwin_wayland crashes
EXPECTED RESULT
no crash
SOFTWARE/OS VERSIONS
Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.26.80
KDE Frameworks Version: 5.100.0
Qt Version: 5.15.7
Graphics Platform: Wayland
Thread 8 (Thread 0x7f943effd640 (LWP 1783)):
#0 0x00007f9457b25fde in epoll_wait (epfd=90,
events=events@entry=0x7f943effc740, maxevents=32, timeout=-1) at
../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1 0x00007f9444e5b918 in impl_pollfd_wait (object=<optimized out>,
pfd=<optimized out>, ev=0x7f943effc8f0, n_ev=<optimized out>,
timeout=<optimized out>) at ../spa/plugins/support/system.c:157
#2 0x00007f9444e4ed7c in loop_iterate (object=0x55e4ccf16668, timeout=-1) at
../spa/plugins/support/loop.c:345
#3 0x00007f9458966226 in do_loop (user_data=0x55e4ccf92f60) at
../src/pipewire/data-loop.c:81
#4 0x00007f9457a94b43 in start_thread (arg=<optimized out>) at
./nptl/pthread_create.c:442
#5 0x00007f9457b26a00 in clone3 () at
../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 7 (Thread 0x7f94533ff640 (LWP 1123)):
#0 0x00007f9457b18d7f in __GI___poll (fds=0x7f944c0053c0, nfds=3, timeout=-1)
at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007f94564a6696 in g_main_context_poll (priority=<optimized out>,
n_fds=3, fds=0x7f944c0053c0, timeout=<optimized out>, context=0x7f944c001cf0)
at ../../../glib/gmain.c:4516
#2 g_main_context_iterate.constprop.0 (context=context@entry=0x7f944c001cf0,
block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at
../../../glib/gmain.c:4206
#3 0x00007f945644f3c3 in g_main_context_iteration (context=0x7f944c001cf0,
may_block=1) at ../../../glib/gmain.c:4276
#4 0x00007f9458d15af8 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x7f944c000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5 0x00007f9458cba9bb in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7f94533feb10, flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69
#6 0x00007f9458acd4e2 in QThread::exec() (this=this@entry=0x7f945ac93d80
<(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#7 0x00007f945ac1af1b in QDBusConnectionManager::run() (this=0x7f945ac93d80
<(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at
./src/dbus/qdbusconnection.cpp:179
#8 0x00007f9458ace703 in QThreadPrivate::start(void*) (arg=0x7f945ac93d80
<(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at
thread/qthread_unix.cpp:330
#9 0x00007f9457a94b43 in start_thread (arg=<optimized out>) at
./nptl/pthread_create.c:442
#10 0x00007f9457b26a00 in clone3 () at
../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 6 (Thread 0x7f943f7fe640 (LWP 1143)):
#0 __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0,
op=393, expected=0, futex_word=0x7f9450588550) at ./nptl/futex-internal.c:57
#1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0,
clockid=0, expected=0, futex_word=0x7f9450588550) at ./nptl/futex-internal.c:87
#2 __GI___futex_abstimed_wait_cancelable64
(futex_word=futex_word@entry=0x7f9450588550, expected=expected@entry=0,
clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at
./nptl/futex-internal.c:139
#3 0x00007f9457a93ac1 in __pthread_cond_wait_common (abstime=0x0, clockid=0,
mutex=0x7f9450588500, cond=0x7f9450588528) at ./nptl/pthread_cond_wait.c:503
#4 ___pthread_cond_wait (cond=cond@entry=0x7f9450588528,
mutex=mutex@entry=0x7f9450588500) at ./nptl/pthread_cond_wait.c:627
#5 0x00007f9450abf85b in cnd_wait (mtx=0x7f9450588500, cond=0x7f9450588528) at
../include/c11/threads_posix.h:155
#6 util_queue_thread_func (input=input@entry=0x55e4cc2502a0) at
../src/util/u_queue.c:294
#7 0x00007f9450abf48b in impl_thrd_routine (p=<optimized out>) at
../include/c11/threads_posix.h:87
#8 0x00007f9457a94b43 in start_thread (arg=<optimized out>) at
./nptl/pthread_create.c:442
#9 0x00007f9457b26a00 in clone3 () at
../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 5 (Thread 0x7f94457fe640 (LWP 1137)):
#0 0x00007f9457b18d7f in __GI___poll (fds=0x7f94380029e0, nfds=2, timeout=-1)
at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007f94564a6696 in g_main_context_poll (priority=<optimized out>,
n_fds=2, fds=0x7f94380029e0, timeout=<optimized out>, context=0x7f9438000c30)
at ../../../glib/gmain.c:4516
#2 g_main_context_iterate.constprop.0 (context=context@entry=0x7f9438000c30,
block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at
../../../glib/gmain.c:4206
#3 0x00007f945644f3c3 in g_main_context_iteration (context=0x7f9438000c30,
may_block=1) at ../../../glib/gmain.c:4276
#4 0x00007f9458d15af8 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x7f9438000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5 0x00007f9458cba9bb in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7f94457fdb40, flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69
#6 0x00007f9458acd4e2 in QThread::exec() (this=<optimized out>) at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#7 0x00007f9458ace703 in QThreadPrivate::start(void*) (arg=0x55e4cc14bff8) at
thread/qthread_unix.cpp:330
#8 0x00007f9457a94b43 in start_thread (arg=<optimized out>) at
./nptl/pthread_create.c:442
#9 0x00007f9457b26a00 in clone3 () at
../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 4 (Thread 0x7f9445fff640 (LWP 1136)):
#0 __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0,
op=393, expected=0, futex_word=0x55e4cc14dd48) at ./nptl/futex-internal.c:57
#1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0,
clockid=0, expected=0, futex_word=0x55e4cc14dd48) at ./nptl/futex-internal.c:87
#2 __GI___futex_abstimed_wait_cancelable64
(futex_word=futex_word@entry=0x55e4cc14dd48, expected=expected@entry=0,
clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at
./nptl/futex-internal.c:139
#3 0x00007f9457a93ac1 in __pthread_cond_wait_common (abstime=0x0, clockid=0,
mutex=0x55e4cc14dcf8, cond=0x55e4cc14dd20) at ./nptl/pthread_cond_wait.c:503
#4 ___pthread_cond_wait (cond=cond@entry=0x55e4cc14dd20,
mutex=mutex@entry=0x55e4cc14dcf8) at ./nptl/pthread_cond_wait.c:627
#5 0x00007f9450abf85b in cnd_wait (mtx=0x55e4cc14dcf8, cond=0x55e4cc14dd20) at
../include/c11/threads_posix.h:155
#6 util_queue_thread_func (input=input@entry=0x55e4cc14c0b0) at
../src/util/u_queue.c:294
#7 0x00007f9450abf48b in impl_thrd_routine (p=<optimized out>) at
../include/c11/threads_posix.h:87
#8 0x00007f9457a94b43 in start_thread (arg=<optimized out>) at
./nptl/pthread_create.c:442
#9 0x00007f9457b26a00 in clone3 () at
../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 3 (Thread 0x7f943e7fc640 (LWP 1146)):
#0 0x00007f9457b18d7f in __GI___poll (fds=0x7f94240029e0, nfds=1, timeout=-1)
at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007f94564a6696 in g_main_context_poll (priority=<optimized out>,
n_fds=1, fds=0x7f94240029e0, timeout=<optimized out>, context=0x7f9424000c30)
at ../../../glib/gmain.c:4516
#2 g_main_context_iterate.constprop.0 (context=context@entry=0x7f9424000c30,
block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at
../../../glib/gmain.c:4206
#3 0x00007f945644f3c3 in g_main_context_iteration (context=0x7f9424000c30,
may_block=1) at ../../../glib/gmain.c:4276
#4 0x00007f9458d15af8 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x7f9424000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5 0x00007f9458cba9bb in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7f943e7fbb20, flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69
#6 0x00007f9458acd4e2 in QThread::exec() (this=this@entry=0x55e4cc4131c0) at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#7 0x00007f9459d32959 in QQmlThreadPrivate::run() (this=0x55e4cc4131c0) at
qml/ftw/qqmlthread.cpp:155
#8 0x00007f9458ace703 in QThreadPrivate::start(void*) (arg=0x55e4cc4131c0) at
thread/qthread_unix.cpp:330
#9 0x00007f9457a94b43 in start_thread (arg=<optimized out>) at
./nptl/pthread_create.c:442
#10 0x00007f9457b26a00 in clone3 () at
../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 2 (Thread 0x7f943ffff640 (LWP 1142)):
#0 __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0,
op=393, expected=0, futex_word=0x7f945062d550) at ./nptl/futex-internal.c:57
#1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0,
clockid=0, expected=0, futex_word=0x7f945062d550) at ./nptl/futex-internal.c:87
#2 __GI___futex_abstimed_wait_cancelable64
(futex_word=futex_word@entry=0x7f945062d550, expected=expected@entry=0,
clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at
./nptl/futex-internal.c:139
#3 0x00007f9457a93ac1 in __pthread_cond_wait_common (abstime=0x0, clockid=0,
mutex=0x7f945062d500, cond=0x7f945062d528) at ./nptl/pthread_cond_wait.c:503
#4 ___pthread_cond_wait (cond=cond@entry=0x7f945062d528,
mutex=mutex@entry=0x7f945062d500) at ./nptl/pthread_cond_wait.c:627
#5 0x00007f9450abf85b in cnd_wait (mtx=0x7f945062d500, cond=0x7f945062d528) at
../include/c11/threads_posix.h:155
#6 util_queue_thread_func (input=input@entry=0x55e4cc25f980) at
../src/util/u_queue.c:294
#7 0x00007f9450abf48b in impl_thrd_routine (p=<optimized out>) at
../include/c11/threads_posix.h:87
#8 0x00007f9457a94b43 in start_thread (arg=<optimized out>) at
./nptl/pthread_create.c:442
#9 0x00007f9457b26a00 in clone3 () at
../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 1 (Thread 0x7f9453c779c0 (LWP 1107)):
#0 std::__shared_ptr<KWin::OutputMode, (__gnu_cxx::_Lock_policy)2>::operator
bool() const (this=0x38) at /usr/include/c++/11/bits/shared_ptr_base.h:1299
#1 KWin::Output::modeSize() const (this=0x0) at ./src/core/output.cpp:189
#2 0x00007f945a95d373 in KWin::LibInput::Connection::processEvents()
(this=0x55e4cc1f6c70) at ./src/backends/libinput/connection.cpp:378
#3 0x00007f9458ce9afe in QObject::event(QEvent*) (this=0x55e4cc14bfe0,
e=0x7f9438007350) at kernel/qobject.cpp:1347
#4 0x00007f945836c763 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=<optimized out>, receiver=0x55e4cc14bfe0, e=0x7f9438007350) at
kernel/qapplication.cpp:3637
#5 0x00007f9458cbc09a in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(receiver=0x55e4cc14bfe0, event=0x7f9438007350) at
kernel/qcoreapplication.cpp:1064
#6 0x00007f9458cbf187 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0,
data=data@entry=0x55e4cc076170) at kernel/qcoreapplication.cpp:1821
#7 0x00007f9458d12f5e in
QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x55e4cc08f0d0, flags=...) at kernel/qeventdispatcher_unix.cpp:468
#8 0x000055e4cac9e331 in
QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
()
#9 0x00007f9458cba9bb in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7ffddc3e77f0, flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69
#10 0x00007f9458cc2f54 in QCoreApplication::exec() () at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#11 0x00007f94591364e0 in QGuiApplication::exec() () at
kernel/qguiapplication.cpp:1870
#12 0x00007f945836c6d9 in QApplication::exec() () at
kernel/qapplication.cpp:2829
#13 0x000055e4cabbff5f in main(int, char**) (argc=<optimized out>,
argv=<optimized out>) at ./src/main_wayland.cpp:620
--
You are receiving this mail because:
You are watching all bug changes.