https://bugs.kde.org/show_bug.cgi?id=446255
Vlad Zahorodnii <vlad.zahorod...@kde.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|REPORTED |CONFIRMED --- Comment #15 from Vlad Zahorodnii <vlad.zahorod...@kde.org> --- I can reproduce the crash: * put pen on the tablet so there's visible tablet cursor. while doing that switch to another tty and back * if the pen is still on the tablet, kwin will crash Note that it's important to have some open application. * thread #1, name = 'kwin_wayland', stop reason = signal SIGSEGV: invalid address (fault address: 0x0) * frame #0: 0x00007f045d1d51cb libQt5Core.so.5`std::__atomic_base<int>::operator++(this=0x00720075006f0073) at atomic_base.h:378:34 frame #1: 0x00007f045d1d4395 libQt5Core.so.5`bool QAtomicOps<int>::ref<int>(_q_value=0x00720075006f0073) at qatomic_cxx11.h:283:16 frame #2: 0x00007f045d1d368e libQt5Core.so.5`QBasicAtomicInteger<int>::ref(this=0x00720075006f0073) at qbasicatomic.h:118:42 frame #3: 0x00007f045d284c37 libQt5Core.so.5`QtSharedPointer::ExternalRefCountData::getAndRef(obj=0x0000562f702af550) at qsharedpointer.cpp:1398:26 frame #4: 0x00007f0461058603 libkwin.so.5`QWeakPointer<QObject>::QWeakPointer<QObject, true>(this=0x00007fffd3505f28, ptr=0x0000562f702af550, (null)=true) at qsharedpointer_impl.h:679:49 frame #5: 0x00007f046105858b libkwin.so.5`QWeakPointer<QObject>& QWeakPointer<QObject>::assign<QObject>(this=0x0000562f6f297f00, ptr=0x0000562f702af550) at qsharedpointer_impl.h:675:22 frame #6: 0x00007f04610d1541 libkwin.so.5`QPointer<KWaylandServer::SurfaceInterface>::operator=(this=0x0000562f6f297f00, p=0x0000562f702af550) at qpointer.h:74:10 frame #7: 0x00007f04610d13f2 libkwin.so.5`KWin::SurfaceCursor::updateCursorSurface(this=0x0000562f6f297ea0, surface=0x0000562f702af550, hotspot=0x00007fffd3506038) at input.cpp:1679:19 frame #8: 0x00007f04610d1241 libkwin.so.5`KWin::TabletInputFilter::createTool(this=0x0000562f6f4ff9c0, tcursor=0x0000562f6ed30870)::'lambda'(KWaylandServer::TabletCursorV2*)::operator()(KWaylandServer::TabletCursorV2*) const at input.cpp:1855:21 frame #9: 0x00007f04610d10c1 libkwin.so.5`QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<KWaylandServer::TabletCursorV2*>, void, KWin::TabletInputFilter::createTool(KWin::TabletToolId const&)::'lambda'(KWaylandServer::TabletCursorV2*)>::call(f=0x0000562f6f4ff9c0, arg=0x00007fffd35062b0)::'lambda'(KWaylandServer::TabletCursorV2*)&, void**) at qobjectdefs_impl.h:146:13 frame #10: 0x00007f04610d1081 libkwin.so.5`void QtPrivate::Functor<KWin::TabletInputFilter::createTool(KWin::TabletToolId const&)::'lambda'(KWaylandServer::TabletCursorV2*), 1>::call<QtPrivate::List<KWaylandServer::TabletCursorV2*>, void>(f=0x0000562f6f4ff9c0, (null)=0x0000562f6f297ea0, arg=0x00007fffd35062b0)::'lambda'(KWaylandServer::TabletCursorV2*)&, void*, void**) at qobjectdefs_impl.h:256:13 frame #11: 0x00007f04610d1021 libkwin.so.5`QtPrivate::QFunctorSlotObject<KWin::TabletInputFilter::createTool(KWin::TabletToolId const&)::'lambda'(KWaylandServer::TabletCursorV2*), 1, QtPrivate::List<KWaylandServer::TabletCursorV2*>, void>::impl(which=1, this_=0x0000562f6f4ff9b0, r=0x0000562f6f297ea0, a=0x00007fffd35062b0, ret=0x0000000000000000) at qobjectdefs_impl.h:443:17 frame #12: 0x00007f045d490a87 libQt5Core.so.5`QtPrivate::QSlotObjectBase::call(this=0x0000562f6f4ff9b0, r=0x0000562f6f297ea0, a=0x00007fffd35062b0) at qobjectdefs_impl.h:398:57 frame #13: 0x00007f045d4d4290 libQt5Core.so.5`void doActivate<false>(sender=0x0000562f6f2f29f0, signal_index=3, argv=0x00007fffd35062b0) at qobject.cpp:3886:30 frame #14: 0x00007f045d4cd6e1 libQt5Core.so.5`QMetaObject::activate(sender=0x0000562f6f2f29f0, m=0x00007f0460c2b090, local_signal_index=0, argv=0x00007fffd35062b0) at qobject.cpp:3946:26 frame #15: 0x00007f04609a6170 libKWaylandServer.so.5`KWaylandServer::TabletToolV2Interface::cursorChanged(this=0x0000562f6f2f29f0, _t1=0x0000562f6ed30870) const at moc_tablet_v2_interface.cpp:257:5 frame #16: 0x00007f0460a3d736 libKWaylandServer.so.5`KWaylandServer::TabletToolV2Interface::setCurrentSurface(this=0x0000562f6f2f29f0, surface=0x0000562f6eed3530) at tablet_v2_interface.cpp:244:12 frame #17: 0x00007f04610ceb45 libkwin.so.5`KWin::TabletInputFilter::tabletToolEvent(this=0x0000562f6f522680, event=0x00007fffd3506a08) at input.cpp:1887:15 frame #18: 0x00007f04611f86e9 libkwin.so.5`bool std::__invoke_impl<bool, bool (KWin::InputEventFilter::*&)(KWin::TabletEvent*), KWin::InputEventFilter* const&, KWin::TabletEvent*&>((null)=__invoke_memfun_deref @ 0x00007fffd3506538, __f=0x00007fffd35066e0, __t=0x0000562f6f4b96f8, __args=0x00007fffd35066f0)(KWin::TabletEvent*), KWin::InputEventFilter* const&, KWin::TabletEvent*&) at invoke.h:74:14 frame #19: 0x00007f04611f8617 libkwin.so.5`std::__invoke_result<bool (KWin::InputEventFilter::*&)(KWin::TabletEvent*), KWin::InputEventFilter* const&, KWin::TabletEvent*&>::type std::__invoke<bool (__fn=0x00007fffd35066e0, __args=0x0000562f6f4b96f8, __args=0x00007fffd35066f0)(KWin::TabletEvent*), KWin::InputEventFilter* const&, KWin::TabletEvent*&>(bool (KWin::InputEventFilter::*&)(KWin::TabletEvent*), KWin::InputEventFilter* const&, KWin::TabletEvent*&) at invoke.h:96:14 frame #20: 0x00007f04611f859f libkwin.so.5`bool std::_Bind<bool (KWin::InputEventFilter::* (std::_Placeholder<1>, KWin::TabletEvent*))(KWin::TabletEvent*)>::__call<bool, KWin::InputEventFilter* const&, 0ul, 1ul>(this=0x00007fffd35066e0, __args=0x00007fffd3506620, (null)=_Index_tuple<0, 1> @ 0x00007fffd35065c0) at functional:420:11 frame #21: 0x00007f04611f84fb libkwin.so.5`bool std::_Bind<bool (KWin::InputEventFilter::* (std::_Placeholder<1>, KWin::TabletEvent*))(KWin::TabletEvent*)>::operator(this=0x00007fffd35066e0, __args=0x0000562f6f4b96f8)<KWin::InputEventFilter* const&, bool>(KWin::InputEventFilter* const&) at functional:503:17 frame #22: 0x00007f04611f849d libkwin.so.5`bool __gnu_cxx::__ops::_Iter_pred<std::_Bind<bool (KWin::InputEventFilter::* (std::_Placeholder<1>, KWin::TabletEvent*))(KWin::TabletEvent*)> >::operator(this=0x00007fffd35066e0, __it=0x0000562f6f4b96f8)<KWin::InputEventFilter* const*>(KWin::InputEventFilter* const*) at predefined_ops.h:318:16 frame #23: 0x00007f04611f8437 libkwin.so.5`KWin::InputEventFilter* const* std::__find_if<KWin::InputEventFilter* const*, __gnu_cxx::__ops::_Iter_pred<std::_Bind<bool (KWin::InputEventFilter::* (std::_Placeholder<1>, KWin::TabletEvent*))(KWin::TabletEvent*)> > >(__first=0x0000562f6f4b96f8, __last=0x0000562f6f4b9700, __pred=_Iter_pred<std::_Bind<bool (KWin::InputEventFilter::*(std::_Placeholder<1>, KWin::TabletEvent *))(KWin::TabletEvent *)> > @ 0x00007fffd35066e0, (null)=random_access_iterator_tag @ 0x00007fffd3506690))(KWin::TabletEvent*)> >, std::random_access_iterator_tag) at stl_algobase.h:2099:8 frame #24: 0x00007f04611f81d6 libkwin.so.5`KWin::InputEventFilter* const* std::__find_if<KWin::InputEventFilter* const*, __gnu_cxx::__ops::_Iter_pred<std::_Bind<bool (KWin::InputEventFilter::* (std::_Placeholder<1>, KWin::TabletEvent*))(KWin::TabletEvent*)> > >(__first=0x0000562f6f4b9678, __last=0x0000562f6f4b9700, __pred=<unavailable>))(KWin::TabletEvent*)> >) at stl_algobase.h:2114:14 frame #25: 0x00007f04611f814e libkwin.so.5`KWin::InputEventFilter* const* std::find_if<KWin::InputEventFilter* const*, std::_Bind<bool (KWin::InputEventFilter::* (std::_Placeholder<1>, KWin::TabletEvent*))(KWin::TabletEvent*)> >(__first=0x0000562f6f4b9678, __last=0x0000562f6f4b9700, __pred=<unavailable>))(KWin::TabletEvent*)>) at stl_algo.h:3910:14 frame #26: 0x00007f04611f80b1 libkwin.so.5`bool std::none_of<KWin::InputEventFilter* const*, std::_Bind<bool (KWin::InputEventFilter::* (std::_Placeholder<1>, KWin::TabletEvent*))(KWin::TabletEvent*)> >(__first=0x0000562f6f4b9678, __last=0x0000562f6f4b9700, __pred=<unavailable>))(KWin::TabletEvent*)>) at stl_algo.h:471:24 frame #27: 0x00007f04611f803d libkwin.so.5`bool std::any_of<KWin::InputEventFilter* const*, std::_Bind<bool (KWin::InputEventFilter::* (std::_Placeholder<1>, KWin::TabletEvent*))(KWin::TabletEvent*)> >(__first=0x0000562f6f4b9678, __last=0x0000562f6f4b9700, __pred=<unavailable>))(KWin::TabletEvent*)>) at stl_algo.h:490:15 frame #28: 0x00007f04611f6fde libkwin.so.5`void KWin::InputRedirection::processFilters<std::_Bind<bool (KWin::InputEventFilter::* (std::_Placeholder<1>, KWin::TabletEvent*))(KWin::TabletEvent*)> >(this=0x0000562f6ee8be70, function=_Bind<bool (KWin::InputEventFilter::*(std::_Placeholder<1>, KWin::TabletEvent *))(KWin::TabletEvent *)> @ 0x00007fffd35069b0))(KWin::TabletEvent*)>) at input.h:186:9 frame #29: 0x00007f04611f5c72 libkwin.so.5`KWin::TabletInputRedirection::tabletToolEvent(this=0x0000562f6ed78bc0, type=Proximity, pos=0x00007fffd35072d8, pressure=0, xTilt=0, yTilt=0, rotation=0, tipDown=false, tipNear=true, tabletToolId=0x00007fffd3507298, time=11150755) at tablet_input.cpp:84:14 frame #30: 0x00007f04610da48f libkwin.so.5`QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2, 3, 4, 5, 6, 7, 8, 9>, QtPrivate::List<KWin::InputRedirection::TabletEventType, QPointF const&, double, int, int, double, bool, bool, KWin::TabletToolId const&, unsigned int>, void, void (KWin::TabletInputRedirection::*)(KWin::InputRedirection::TabletEventType, QPointF const&, double, int, int, double, bool, bool, KWin::TabletToolId const&, unsigned int)>::call(f=f0 58 1f 61 04 7f 00 00 00 00 00 00 00 00 00 00, o=0x0000562f6ed78bc0, arg=0x00007fffd3506de0)(KWin::InputRedirection::TabletEventType, QPointF const&, double, int, int, double, bool, bool, KWin::TabletToolId const&, unsigned int), KWin::TabletInputRedirection*, void**) at qobjectdefs_impl.h:152:13 frame #31: 0x00007f04610da38d libkwin.so.5`void QtPrivate::FunctionPointer<void (KWin::TabletInputRedirection::*)(KWin::InputRedirection::TabletEventType, QPointF const&, double, int, int, double, bool, bool, KWin::TabletToolId const&, unsigned int)>::call<QtPrivate::List<KWin::InputRedirection::TabletEventType, QPointF const&, double, int, int, double, bool, bool, KWin::TabletToolId const&, unsigned int>, void>(f=f0 58 1f 61 04 7f 00 00 00 00 00 00 00 00 00 00, o=0x0000562f6ed78bc0, arg=0x00007fffd3506de0)(KWin::InputRedirection::TabletEventType, QPointF const&, double, int, int, double, bool, bool, KWin::TabletToolId const&, unsigned int), KWin::TabletInputRedirection*, void**) at qobjectdefs_impl.h:185:13 frame #32: 0x00007f04610da2d2 libkwin.so.5`QtPrivate::QSlotObject<void (KWin::TabletInputRedirection::*)(KWin::InputRedirection::TabletEventType, QPointF const&, double, int, int, double, bool, bool, KWin::TabletToolId const&, unsigned int), QtPrivate::List<KWin::InputRedirection::TabletEventType, QPointF const&, double, int, int, double, bool, bool, KWin::TabletToolId const&, unsigned int>, void>::impl(which=1, this_=0x0000562f70292940, r=0x0000562f6ed78bc0, a=0x00007fffd3506de0, ret=0x0000000000000000) at qobjectdefs_impl.h:418:17 frame #33: 0x00007f045d490a87 libQt5Core.so.5`QtPrivate::QSlotObjectBase::call(this=0x0000562f70292940, r=0x0000562f6ed78bc0, a=0x00007fffd3506de0) at qobjectdefs_impl.h:398:57 frame #34: 0x00007f045d4d4290 libQt5Core.so.5`void doActivate<false>(sender=0x0000562f6ef6d910, signal_index=26, argv=0x00007fffd3506de0) at qobject.cpp:3886:30 frame #35: 0x00007f045d4cd6e1 libQt5Core.so.5`QMetaObject::activate(sender=0x0000562f6ef6d910, m=0x00007f04614d39e0, local_signal_index=23, argv=0x00007fffd3506de0) at qobject.cpp:3946:26 frame #36: 0x00007f0460f8be25 libkwin.so.5`KWin::InputDevice::tabletToolEvent(this=0x0000562f6ef6d910, _t1=Proximity, _t2=0x00007fffd35072d8, _t3=0, _t4=0, _t5=0, _t6=0, _t7=false, _t8=true, _t9=0x00007fffd3507298, _t10=11150755) at moc_inputdevice.cpp:817:5 frame #37: 0x00007f04612eb25e libkwin.so.5`KWin::LibInput::Connection::processEvents(this=0x0000562f6f002110) at connection.cpp:492:45 frame #38: 0x00007f04612ff56c libkwin.so.5`KWin::LibinputBackend::LibinputBackend(this=0x00007f0450007290)::$_1::operator()() const at libinputbackend.cpp:25:23 frame #39: 0x00007f04612ff516 libkwin.so.5`QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KWin::LibinputBackend::LibinputBackend(QObject*)::$_1>::call(f=0x00007f0450007290, arg=0x00007f040c04ffa8)::$_1&, void**) at qobjectdefs_impl.h:146:13 frame #40: 0x00007f04612ff4e1 libkwin.so.5`void QtPrivate::Functor<KWin::LibinputBackend::LibinputBackend(QObject*)::$_1, 0>::call<QtPrivate::List<>, void>(f=0x00007f0450007290, (null)=0x0000562f6ee8f060, arg=0x00007f040c04ffa8)::$_1&, void*, void**) at qobjectdefs_impl.h:256:13 frame #41: 0x00007f04612ff481 libkwin.so.5`QtPrivate::QFunctorSlotObject<KWin::LibinputBackend::LibinputBackend(QObject*)::$_1, 0, QtPrivate::List<>, void>::impl(which=1, this_=0x00007f0450007280, r=0x0000562f6ee8f060, a=0x00007f040c04ffa8, ret=0x0000000000000000) at qobjectdefs_impl.h:443:17 frame #42: 0x00007f045d490a87 libQt5Core.so.5`QtPrivate::QSlotObjectBase::call(this=0x00007f0450007280, r=0x0000562f6ee8f060, a=0x00007f040c04ffa8) at qobjectdefs_impl.h:398:57 frame #43: 0x00007f045d4c5581 libQt5Core.so.5`QMetaCallEvent::placeMetaCall(this=0x00007f040c04ff60, object=0x0000562f6ee8f060) at qobject.cpp:615:25 frame #44: 0x00007f045d4c6533 libQt5Core.so.5`QObject::event(this=0x0000562f6ee8f060, e=0x00007f040c04ff60) at qobject.cpp:1314:31 frame #45: 0x00007f045e49607d libQt5Widgets.so.5`QApplicationPrivate::notify_helper(this=0x0000562f6ed15e40, receiver=0x0000562f6ee8f060, e=0x00007f040c04ff60) at qapplication.cpp:3632:31 frame #46: 0x00007f045e4932e9 libQt5Widgets.so.5`QApplication::notify(this=0x00007fffd35085e0, receiver=0x0000562f6ee8f060, e=0x00007f040c04ff60) at qapplication.cpp:2972:31 frame #47: 0x00007f045d47e41d libQt5Core.so.5`QCoreApplication::notifyInternal2(receiver=0x0000562f6ee8f060, event=0x00007f040c04ff60) at qcoreapplication.cpp:1064:24 frame #48: 0x00007f045d47eea2 libQt5Core.so.5`QCoreApplication::sendEvent(receiver=0x0000562f6ee8f060, event=0x00007f040c04ff60) at qcoreapplication.cpp:1462:27 frame #49: 0x00007f045d47fc03 libQt5Core.so.5`QCoreApplicationPrivate::sendPostedEvents(receiver=0x0000000000000000, event_type=0, data=0x0000562f6ecee4d0) at qcoreapplication.cpp:1821:36 frame #50: 0x00007f045d511c22 libQt5Core.so.5`QEventDispatcherUNIX::processEvents(this=0x0000562f6ecd9ee0, flags=(i = 36)) at qeventdispatcher_unix.cpp:468:46 frame #51: 0x0000562f6ebd1a2e kwin_wayland`QUnixEventDispatcherQPA::processEvents(this=0x0000562f6ecd9ee0, flags=(i = 36)) at qunixeventdispatcher.cpp:63:67 frame #52: 0x00007f045d47a97f libQt5Core.so.5`QEventLoop::processEvents(this=0x00007fffd3507cb0, flags=(i = 36)) at qeventloop.cpp:139:68 frame #53: 0x00007f045d47ace0 libQt5Core.so.5`QEventLoop::exec(this=0x00007fffd3507cb0, flags=(i = 0)) at qeventloop.cpp:232:22 frame #54: 0x00007f045d47ecdf libQt5Core.so.5`QCoreApplication::exec() at qcoreapplication.cpp:1375:36 frame #55: 0x00007f045d9cad2a libQt5Gui.so.5`QGuiApplication::exec() at qguiapplication.cpp:1867:34 frame #56: 0x00007f045e492caf libQt5Widgets.so.5`QApplication::exec() at qapplication.cpp:2824:33 frame #57: 0x0000562f6ea88eb7 kwin_wayland`main(argc=14, argv=0x00007fffd3508838) at main_wayland.cpp:733:12 frame #58: 0x00007f045c81ab25 libc.so.6`__libc_start_main + 213 frame #59: 0x0000562f6ea2c7ce kwin_wayland`_start + 46 -- You are receiving this mail because: You are watching all bug changes.