Bug 422615

Summary: kde connect deamon crashes on clicking 'Laserpointer'-Button in Presentation Mode
Product: [Applications] kdeconnect Reporter: Daniel Wohlers <danielwohlers>
Component: commonAssignee: Albert Vaca Cintora <albertvaka>
Status: RESOLVED DUPLICATE    
Severity: crash CC: corcegajovic, fcolecumberri, linus_koester, maikschmalle, nicolas.fella, Ronny.Standtke
Priority: NOR Keywords: drkonqi
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi

Description Daniel Wohlers 2020-06-08 07:29:38 UTC
Application: kdeconnectd (1.4.0)

Qt Version: 5.14.2
Frameworks Version: 5.70.0
Operating System: Linux 5.3.0-53-generic x86_64
Windowing system: X11
Distribution: KDE neon User Edition 5.18

-- Information about the crash:
- What I was doing when the application crashed:

I have KDEConnect installed on my Huawei P30 Pro and connected via WiFi to the KDEConnect-Deamon on my kde neon linux.

Every time i try the Laserpointer-Button on the Presentation-Remotecontrol it crashes the deamon.
Interestingly this does not happen when I'm connected to KDEConnect for windows on my gaming rig.

The crash can be reproduced every time.

-- Backtrace:
Application: KDE-Connect-Dienst (kdeconnectd), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f11f43aa800 (LWP 2999))]

Thread 5 (Thread 0x7f11b0dee700 (LWP 14484)):
#0  0x00007f11f0d910b4 in __GI___libc_read (fd=28, buf=0x7f11b0dedb70, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:27
#1  0x00007f11eb19a2b0 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f11eb1550b7 in g_main_context_check () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f11eb155570 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f11eb1556dc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f11f16fc7cb in QEventDispatcherGlib::processEvents (this=0x7f11a4000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#6  0x00007f11f169bd2a in QEventLoop::exec (this=this@entry=0x7f11b0dedd80, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#7  0x00007f11f14ac757 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:536
#8  0x00007f11dbcbdfc5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#9  0x00007f11f14adc2c in QThreadPrivate::start (arg=0x5637b3268e30) at thread/qthread_unix.cpp:342
#10 0x00007f11ed5776db in start_thread (arg=0x7f11b0dee700) at pthread_create.c:463
#11 0x00007f11f0da288f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f11b15ef700 (LWP 14483)):
#0  0x00007f11ed57d9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5637b2d5f3d8) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x5637b2d5f388, cond=0x5637b2d5f3b0) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x5637b2d5f3b0, mutex=0x5637b2d5f388) at pthread_cond_wait.c:655
#3  0x00007f11b244aecb in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007f11b244aac7 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007f11ed5776db in start_thread (arg=0x7f11b15ef700) at pthread_create.c:463
#6  0x00007f11f0da288f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f11d3fff700 (LWP 3146)):
#0  0x00007f11eb15502a in g_main_context_check () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f11eb155570 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f11eb1556dc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f11f16fc7cb in QEventDispatcherGlib::processEvents (this=0x7f11cc000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f11f169bd2a in QEventLoop::exec (this=this@entry=0x7f11d3ffeda0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#5  0x00007f11f14ac757 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:536
#6  0x00007f11f14adc2c in QThreadPrivate::start (arg=0x5637b2cacb80) at thread/qthread_unix.cpp:342
#7  0x00007f11ed5776db in start_thread (arg=0x7f11d3fff700) at pthread_create.c:463
#8  0x00007f11f0da288f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f11d9859700 (LWP 3113)):
#0  0x00007f11f0d910b4 in __GI___libc_read (fd=7, buf=0x7f11d9858b60, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:27
#1  0x00007f11eb19a2b0 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f11eb1550b7 in g_main_context_check () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f11eb155570 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f11eb1556dc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f11f16fc7cb in QEventDispatcherGlib::processEvents (this=0x7f11d4000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#6  0x00007f11f169bd2a in QEventLoop::exec (this=this@entry=0x7f11d9858d70, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#7  0x00007f11f14ac757 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:536
#8  0x00007f11f1b89555 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#9  0x00007f11f14adc2c in QThreadPrivate::start (arg=0x7f11f1e01da0) at thread/qthread_unix.cpp:342
#10 0x00007f11ed5776db in start_thread (arg=0x7f11d9859700) at pthread_create.c:463
#11 0x00007f11f0da288f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f11f43aa800 (LWP 2999)):
[KCrash Handler]
#4  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator-> (this=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:118
#5  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > > (ptr=...) at global/qglobal.h:1133
#6  QObject::d_func (this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:132
#7  QObject::setProperty (this=this@entry=0x0, name=name@entry=0x7f11d08fbf82 "xPos", value=...) at kernel/qobject.cpp:4014
#8  0x00007f11d08fb3f1 in PresenterPlugin::receivePacket (this=<optimized out>, np=...) at ./plugins/presenter/presenterplugin.cpp:107
#9  0x00007f11f3fac4d0 in Device::privateReceivedPacket (this=<optimized out>, np=...) at ./core/device.cpp:411
#10 0x00007f11f16d86d7 in QtPrivate::QSlotObjectBase::call (a=0x7ffdae98de50, r=0x5637b2d56bc0, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#11 doActivate<false> (sender=0x5637b2d572f0, signal_index=7, argv=0x7ffdae98de50) at kernel/qobject.cpp:3870
#12 0x00007f11f16d2f92 in QMetaObject::activate (sender=sender@entry=0x5637b2d572f0, m=m@entry=0x7f11f41caa60 <DeviceLink::staticMetaObject>, local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x7ffdae98de50) at kernel/qobject.cpp:3930
#13 0x00007f11f3fb5185 in DeviceLink::receivedPacket (this=this@entry=0x5637b2d572f0, _t1=...) at ./obj-x86_64-linux-gnu/core/kdeconnectcore_autogen/CSWKE6ESUK/moc_devicelink.cpp:225
#14 0x00007f11f3f83318 in LanDeviceLink::dataReceived (this=0x5637b2d572f0) at ./core/backends/lan/landevicelink.cpp:149
#15 0x00007f11f16d86d7 in QtPrivate::QSlotObjectBase::call (a=0x7ffdae98e010, r=0x5637b2d572f0, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#16 doActivate<false> (sender=0x5637b2dce850, signal_index=3, argv=0x7ffdae98e010) at kernel/qobject.cpp:3870
#17 0x00007f11f16d2f92 in QMetaObject::activate (sender=sender@entry=0x5637b2dce850, m=m@entry=0x7f11f41ca920 <SocketLineReader::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3930
#18 0x00007f11f3fb4d80 in SocketLineReader::readyRead (this=this@entry=0x5637b2dce850) at ./obj-x86_64-linux-gnu/core/kdeconnectcore_autogen/T4CFMAPE73/moc_socketlinereader.cpp:139
#19 0x00007f11f3f90316 in SocketLineReader::dataReceived (this=0x5637b2dce850) at ./core/backends/lan/socketlinereader.cpp:51
#20 0x00007f11f16d86d7 in QtPrivate::QSlotObjectBase::call (a=0x7ffdae98e120, r=0x5637b2dce850, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#21 doActivate<false> (sender=0x5637b2d8f8e0, signal_index=3, argv=0x7ffdae98e120) at kernel/qobject.cpp:3870
#22 0x00007f11f16d2f92 in QMetaObject::activate (sender=sender@entry=0x5637b2d8f8e0, m=m@entry=0x7f11f1b68360 <QIODevice::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3930
#23 0x00007f11f15c71f0 in QIODevice::readyRead (this=this@entry=0x5637b2d8f8e0) at .moc/moc_qiodevice.cpp:190
#24 0x00007f11f071794d in QSslSocketBackendPrivate::transmit (this=0x5637b2d76c50) at ssl/qsslsocket_openssl.cpp:1058
#25 0x00007f11f06f3841 in QSslSocket::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qsslsocket.cpp:181
#26 0x00007f11f16d84b9 in doActivate<false> (sender=0x5637b2fccd50, signal_index=3, argv=0x7ffdae98f2e0) at kernel/qobject.cpp:3882
#27 0x00007f11f16d2f92 in QMetaObject::activate (sender=sender@entry=0x5637b2fccd50, m=m@entry=0x7f11f1b68360 <QIODevice::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3930
#28 0x00007f11f15c71f0 in QIODevice::readyRead (this=this@entry=0x5637b2fccd50) at .moc/moc_qiodevice.cpp:190
#29 0x00007f11f06be0c3 in QAbstractSocketPrivate::emitReadyRead (this=this@entry=0x5637b2e57ca0, channel=channel@entry=0) at socket/qabstractsocket.cpp:1307
#30 0x00007f11f06be16c in QAbstractSocketPrivate::canReadNotification (this=0x5637b2e57ca0) at socket/qabstractsocket.cpp:734
#31 0x00007f11f06d1781 in QReadNotifier::event (this=<optimized out>, e=<optimized out>) at socket/qnativesocketengine.cpp:1274
#32 0x00007f11f2abd9ac in QApplicationPrivate::notify_helper (this=this@entry=0x5637b2c32cb0, receiver=receiver@entry=0x5637b2f8fba0, e=e@entry=0x7ffdae98f600) at kernel/qapplication.cpp:3685
#33 0x00007f11f2ac4bb0 in QApplication::notify (this=0x7ffdae98f8e0, receiver=0x5637b2f8fba0, e=0x7ffdae98f600) at kernel/qapplication.cpp:3431
#34 0x00007f11f169d4a8 in QCoreApplication::notifyInternal2 (receiver=0x5637b2f8fba0, event=0x7ffdae98f600) at kernel/qcoreapplication.cpp:1075
#35 0x00007f11f169d67e in QCoreApplication::sendEvent (receiver=<optimized out>, event=event@entry=0x7ffdae98f600) at kernel/qcoreapplication.cpp:1470
#36 0x00007f11f16fd378 in socketNotifierSourceDispatch (source=0x5637b2c94370) at kernel/qeventdispatcher_glib.cpp:107
#37 0x00007f11eb155417 in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007f11eb155650 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#39 0x00007f11eb1556dc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#40 0x00007f11f16fc7ac in QEventDispatcherGlib::processEvents (this=0x5637b2c94530, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#41 0x00007f11f169bd2a in QEventLoop::exec (this=this@entry=0x7ffdae98f820, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#42 0x00007f11f16a54a0 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1383
#43 0x00005637b267e58d in main (argc=<optimized out>, argv=<optimized out>) at ./daemon/kdeconnectd.cpp:180

The reporter indicates this bug may be a duplicate of or related to bug 414913.

Possible duplicates by query: bug 420613, bug 420158, bug 418844, bug 418595, bug 418076.

Reported using DrKonqi
Comment 1 Ronny Standtke 2020-07-19 19:14:03 UTC
Created attachment 130259 [details]
New crash information added by DrKonqi

kdeconnectd (1.4.0) using Qt 5.12.8

Running Kubuntu 20.04 here. I installed KDE Connect and literally the first thing I tried was the laserpointer. Didn't know that this virtual laserpointer is so strong that it burns some holes into its surrounding software. :-)
My backtrace looks a bit different, so I attach it here too. Hope it helps. If I can do something else finding or fixing this bug, please let me know.

Best
Ronny

-- Backtrace (Reduced):
#8  QObject::setProperty (this=this@entry=0x0, name=name@entry=0x7f1b1ae6d12c "xPos", value=...) at kernel/qobject.cpp:3915
#9  0x00007f1b1ae6c10f in PresenterPlugin::receivePacket (this=0x5650aec419e0, np=...) at ./plugins/presenter/presenterplugin.cpp:107
#10 0x00007f1b2900a570 in Device::privateReceivedPacket (this=<optimized out>, np=...) at ./core/device.cpp:411
#11 0x00007f1b27b45458 in QtPrivate::QSlotObjectBase::call (a=0x7fff728a14b0, r=0x5650aeadfdf0, this=0x5650aebafe90) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
[...]
#13 0x00007f1b28fc37f9 in DeviceLink::receivedPacket (this=this@entry=0x5650aeb31270, _t1=...) at ./obj-x86_64-linux-gnu/core/kdeconnectcore_autogen/CSWKE6ESUK/moc_devicelink.cpp:224
Comment 2 fcolecumberri 2020-07-20 09:09:56 UTC
I had the exact same problem on my ubuntu-mate 20.04, I solve it after installing:

qml-module-qtquick-particles2
qtdeclarative5-dev
qtdeclarative5-private-dev

I'm not entirely sure which is the packet that solve it.
Comment 3 Daniel Wohlers 2020-07-20 09:27:14 UTC
(In reply to fcolecumberri from comment #2)
> I had the exact same problem on my ubuntu-mate 20.04, I solve it after
> installing:
> 
> qml-module-qtquick-particles2
> qtdeclarative5-dev
> qtdeclarative5-private-dev
> 
> I'm not entirely sure which is the packet that solve it.

I'll try it as well. It won't work on the window port tho.
Comment 4 John Vincent 2020-07-28 05:21:21 UTC
Created attachment 130449 [details]
New crash information added by DrKonqi

kdeconnectd (1.4.0) using Qt 5.14.2

- What I was doing when the application crashed:
Clicked pointer button on remote Android device, then kdeconnectd crashed.

-- Backtrace (Reduced):
#4  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator-> (this=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:118
[...]
#7  QObject::setProperty (this=this@entry=0x0, name=name@entry=0x7f04a04dbf82 "xPos", value=...) at kernel/qobject.cpp:4014
#8  0x00007f04a04db3f1 in PresenterPlugin::receivePacket (this=<optimized out>, np=...) at ./plugins/presenter/presenterplugin.cpp:107
#9  0x00007f04c67b48b0 in Device::privateReceivedPacket (this=<optimized out>, np=...) at ./core/device.cpp:411
#10 0x00007f04c3ee46d7 in QtPrivate::QSlotObjectBase::call (a=0x7fff557ed320, r=0x56521557ef70, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
Comment 5 John Vincent 2020-07-28 05:25:38 UTC
(In reply to fcolecumberri from comment #2)
> I had the exact same problem on my ubuntu-mate 20.04, I solve it after
> installing:
> 
> qml-module-qtquick-particles2
> qtdeclarative5-dev
> qtdeclarative5-private-dev
> 
> I'm not entirely sure which is the packet that solve it.

Interesting. Works on KDE neon 19.3 as well. Shouldn't we add these as dependencies or there's something else going wrong without these installed?
Comment 6 fcolecumberri 2020-07-28 10:38:33 UTC
(In reply to John Vincent from comment #5)
> (In reply to fcolecumberri from comment #2)
> > I had the exact same problem on my ubuntu-mate 20.04, I solve it after
> > installing:
> > 
> > qml-module-qtquick-particles2
> > qtdeclarative5-dev
> > qtdeclarative5-private-dev
> > 
> > I'm not entirely sure which is the packet that solve it.
> 
> Interesting. Works on KDE neon 19.3 as well. Shouldn't we add these as
> dependencies or there's something else going wrong without these installed?

https://bugs.launchpad.net/ubuntu/+source/kdeconnect/+bug/1888215 I have already reported the lack of that dependencie
Comment 7 linus_koester 2020-08-25 16:49:19 UTC
Created attachment 131172 [details]
New crash information added by DrKonqi

kdeconnectd (1.4.0) using Qt 5.14.2

- What I was doing when the application crashed:

I pressed the "Laserpointer"-button in the KDE Connect App on my Pixel 4 (Android 10), and KDE Connect crashed on my computer.

-- Backtrace (Reduced):
#6  QObject::setProperty (this=this@entry=0x0, name=name@entry=0x7f5810a8b116 "xPos", value=...) at kernel/qobject.cpp:4014
#7  0x00007f5810a8a07f in PresenterPlugin::receivePacket (this=0x5654bec949b0, np=...) at ./plugins/presenter/presenterplugin.cpp:105
#8  0x00007f581e851050 in Device::privateReceivedPacket (this=<optimized out>, np=...) at ./core/device.cpp:411
#9  0x00007f581d28e51e in QtPrivate::QSlotObjectBase::call (a=0x7ffef0756550, r=0x5654bebbcae0, this=0x5654bec0fdb0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#10 doActivate<false> (sender=0x5654bec234e0, signal_index=7, argv=0x7ffef0756550) at kernel/qobject.cpp:3870
Comment 8 Maik Schmalle 2020-08-28 17:58:08 UTC
Created attachment 131248 [details]
New crash information added by DrKonqi

kdeconnectd (1.4.0) using Qt 5.14.2

- What I was doing when the application crashed:

Ich hab KDE Neon 5.19 installiert auf einem Lenovo Thinkpad 460s wollte die Funktion Laserpointer auf einem Samsung Note 20 Ultra 5G benutzen. Da kommt ein Absturzbericht. 
KDE Conect auf dem Handy: 1.14.2

-- Backtrace (Reduced):
#6  QObject::setProperty (this=this@entry=0x0, name=name@entry=0x7fc49010b116 "xPos", value=...) at kernel/qobject.cpp:4014
#7  0x00007fc49010a07f in PresenterPlugin::receivePacket (this=0x55abe0af5d80, np=...) at ./plugins/presenter/presenterplugin.cpp:105
#8  0x00007fc49951e050 in Device::privateReceivedPacket (this=<optimized out>, np=...) at ./core/device.cpp:411
#9  0x00007fc497f5b51e in QtPrivate::QSlotObjectBase::call (a=0x7fff2e9e7de0, r=0x55abe0a7df00, this=0x55abe0ad1720) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#10 doActivate<false> (sender=0x55abe0ae4e40, signal_index=7, argv=0x7fff2e9e7de0) at kernel/qobject.cpp:3870
Comment 9 Nicolas Fella 2020-08-29 10:01:24 UTC
As described in https://bugs.kde.org/show_bug.cgi?id=414913 this is a missing dependency on QtQuick.Particles

I submitted a patch to Debian which eventualy will find its way into Neon

https://salsa.debian.org/qt-kde-team/kde/kdeconnect/-/merge_requests/10

*** This bug has been marked as a duplicate of bug 414913 ***