Bug 477217

Summary: KDE Connect crashes on dismissing camera on phone
Product: [Applications] kdeconnect Reporter: Infanta Xavier <xavier8338>
Component: commonAssignee: Albert Vaca Cintora <albertvaka>
Status: REPORTED ---    
Severity: crash CC: andrew.g.r.holmes
Priority: NOR Keywords: drkonqi
Version First Reported In: 23.08.3   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Infanta Xavier 2023-11-19 03:59:47 UTC
Application: kdeconnectd (23.08.3)

Qt Version: 5.15.11
Frameworks Version: 5.112.0
Operating System: Linux 6.6.1-zen1-1-zen x86_64
Windowing System: Wayland
Distribution: Arch Linux
DrKonqi: 5.27.9 [KCrashBackend]

-- Information about the crash:
When taking picture from desktop context menu KDE Connect crashes on dismissing camera on phone.
 When selecting take picture option on desktop it brings up a file save dialog, but it doesn't really save any picture if we select a destination path. 
On the phone if I dismiss all the camera window that opens after clicking take picture option by dismissing save file widget. it crashes on desktop

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: KDE Connect Daemon (kdeconnectd), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>}
[KCrash Handler]
#6  std::__atomic_base<int>::load(std::memory_order) const (__m=std::memory_order_relaxed, this=0x30) at /usr/include/c++/13.2.1/bits/atomic_base.h:503
#7  QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) (_q_value=<error reading variable: Cannot access memory at address 0x30>) at /usr/include/qt/QtCore/qatomic_cxx11.h:239
#8  QBasicAtomicInteger<int>::loadRelaxed() const (this=0x30) at /usr/include/qt/QtCore/qbasicatomic.h:107
#9  QtPrivate::RefCount::deref() (this=0x30) at /usr/include/qt/QtCore/qrefcount.h:66
#10 QString::~QString() (this=<optimized out>, this=<optimized out>) at /usr/include/qt/QtCore/qstring.h:1311
#11 PhotoPlugin::receivePacket(NetworkPacket const&) (this=0x5631c5159880, np=...) at /usr/src/debug/kdeconnect/kdeconnect-kde-23.08.3/plugins/photo/photoplugin.cpp:30
#12 0x00007f381cc21fb1 in Device::privateReceivedPacket(NetworkPacket const&) (this=0x5631c4f3e2e0, np=...) at /usr/src/debug/kdeconnect/kdeconnect-kde-23.08.3/core/device.cpp:362
#13 0x00007f381b4d1097 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffc5fd5a360, r=<optimized out>, this=0x5631c4f5c8e0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#14 doActivate<false>(QObject*, int, void**) (sender=0x5631c53d2090, signal_index=3, argv=0x7ffc5fd5a360) at kernel/qobject.cpp:3925
#15 0x00007f381cc13389 in DeviceLink::receivedPacket(NetworkPacket const&) (_t1=..., this=0x5631c53d2090) at /usr/src/debug/kdeconnect/build/core/kdeconnectcore_autogen/CSWKE6ESUK/moc_devicelink.cpp:145
#16 LanDeviceLink::dataReceived() (this=0x5631c53d2090) at /usr/src/debug/kdeconnect/kdeconnect-kde-23.08.3/core/backends/lan/landevicelink.cpp:113
#17 0x00007f381b4d1097 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffc5fd5a440, r=<optimized out>, this=0x5631c6411bc0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#18 doActivate<false>(QObject*, int, void**) (sender=0x5631c60d3110, signal_index=3, argv=0x7ffc5fd5a440) at kernel/qobject.cpp:3925
#19 0x00007f381bf885d3 in QSslSocketBackendPrivate::transmit() (this=0x5631c60fc440) at ssl/qsslsocket_openssl.cpp:1201
#20 0x00007f381b4d1253 in doActivate<false>(QObject*, int, void**) (sender=0x5631c5855670, signal_index=3, argv=0x7ffc5fd5b5b0) at kernel/qobject.cpp:3937
#21 0x00007f381bf505c0 in QAbstractSocketPrivate::emitReadyRead(int) (channel=0, this=0x5631c5c9b900) at socket/qabstractsocket.cpp:1323
#22 QAbstractSocketPrivate::canReadNotification() (this=0x5631c5c9b900) at socket/qabstractsocket.cpp:748
#23 0x00007f381bf677ba in QAbstractSocketEngine::readNotification() (this=<optimized out>) at socket/qabstractsocketengine.cpp:160
#24 QReadNotifier::event(QEvent*) (this=<optimized out>, e=<optimized out>) at socket/qnativesocketengine.cpp:1274
#25 0x00007f381c1788ff in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x5631c62e90f0, e=0x7ffc5fd5b6c0) at kernel/qapplication.cpp:3640
#26 0x00007f381b49c168 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5631c62e90f0, event=0x7ffc5fd5b6c0) at kernel/qcoreapplication.cpp:1064
#27 0x00007f381b4e9cd6 in socketNotifierSourceDispatch(GSource*, GSourceFunc, gpointer) (source=0x5631c4ac7280) at kernel/qeventdispatcher_glib.cpp:107
#28 0x00007f3819d0df69 in g_main_dispatch (context=0x7f3810000ec0) at ../glib/glib/gmain.c:3476
#29 0x00007f3819d6c327 in g_main_context_dispatch_unlocked (context=0x7f3810000ec0) at ../glib/glib/gmain.c:4284
#30 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7f3810000ec0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4349
#31 0x00007f3819d0c162 in g_main_context_iteration (context=0x7f3810000ec0, may_block=1) at ../glib/glib/gmain.c:4414
#32 0x00007f381b4eaf7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5631c4ad25b0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#33 0x00007f381b49ae74 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffc5fd5b940, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#34 0x00007f381b49c313 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#35 0x00007f381b93bf12 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870
#36 0x00007f381c176cda in QApplication::exec() () at kernel/qapplication.cpp:2832
#37 0x00005631c3d93517 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kdeconnect/kdeconnect-kde-23.08.3/daemon/kdeconnectd.cpp:186
[Inferior 1 (process 2000) detached]

Reported using DrKonqi