https://bugs.kde.org/show_bug.cgi?id=474552

            Bug ID: 474552
           Summary: Crash in sftp plugin when device link is lost
    Classification: Applications
           Product: kdeconnect
           Version: unspecified
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: crash
          Priority: NOR
         Component: common
          Assignee: albertv...@gmail.com
          Reporter: k...@privat.broulik.de
                CC: andrew.g.r.hol...@gmail.com
  Target Milestone: ---

SUMMARY
My kdeconncet-kde regularly crashes in the background, seems when my device
loses contact it crashes in tearing down the sftp plugin.

STEPS TO REPRODUCE
1. Have shitty wifi

OBSERVED RESULT
Kdeconnect crashes

EXPECTED RESULT
kdeconnect doesn't crash :)


SOFTWARE/OS VERSIONS
Linux/KDE Plasma: git master as of 2023-09-11
Qt Version: 6.6 (but kdeconnect is 5.15.10 or something)

ADDITIONAL INFORMATION
#5  0x00007fe893842520 in <signal handler called> () at
/lib/x86_64-linux-gnu/libc.so.6
#6  std::__atomic_base<QThreadData*>::load(std::memory_order) const
(__m=<optimized out>, this=<optimized out>) at
./src/corelib/tools/qscopedpointer.h:110
#7  std::atomic<QThreadData*>::load(std::memory_order) const (__m=<optimized
out>, this=<optimized out>) at /usr/include/c++/11/atomic:578
#8 
QAtomicOps<QThreadData*>::loadAcquire<QThreadData*>(std::atomic<QThreadData*>
const&) (_q_value=<optimized out>) at ./src/corelib/thread/qatomic_cxx11.h:213
#9  QBasicAtomicPointer<QThreadData>::loadAcquire() const (this=<optimized
out>) at ./src/corelib/thread/qbasicatomic.h:179
#10 QCoreApplicationPrivate::lockThreadPostEventList(QObject*)
(object=0x660034) at ./src/corelib/kernel/qcoreapplication.cpp:1570
#11 0x00007fe89415d17b in QCoreApplication::postEvent(QObject*, QEvent*, int)
(receiver=0x660034, event=0x55fb8cd5ea20, priority=0)
    at ./src/corelib/kernel/qcoreapplication.cpp:1625
#12 0x00007fe8941a51d7 in QObject::deleteLater() (this=<optimized out>) at
./src/corelib/kernel/qobject.cpp:2405
#13 0x00007fe8781c33eb in SftpPlugin::unmount() (this=0x55fb8cd73be0) at
./plugins/sftp/sftpplugin.cpp:74
#14 SftpPlugin::~SftpPlugin() (this=0x55fb8cd73be0, this=<optimized out>) at
./plugins/sftp/sftpplugin.cpp:36
#15 0x00007fe8781c34bd in SftpPlugin::~SftpPlugin() (this=0x55fb8cd73be0,
this=<optimized out>) at ./plugins/sftp/sftpplugin.cpp:37
#16 0x00007fe895aafc02 in qDeleteAll<QHash<QString,
KdeConnectPlugin*>::const_iterator>(QHash<QString,
KdeConnectPlugin*>::const_iterator, QHash<QString,
KdeConnectPlugin*>::const_iterator) (end=..., begin=...) at
/usr/include/x86_64-linux-gnu/qt6/QtCore/qalgorithms.h:27
#17 qDeleteAll<QHash<QString, KdeConnectPlugin*> >(QHash<QString,
KdeConnectPlugin*> const&) (c=<optimized out>) at
/usr/include/x86_64-linux-gnu/qt6/QtCore/qalgorithms.h:35
#18 Device::reloadPlugins() (this=<optimized out>) at ./core/device.cpp:191
#19 0x00007fe895ab1a48 in Device::removeLink(DeviceLink*) (link=<optimized
out>, this=0x55fb8cc77490) at ./core/device.cpp:332
#20 Device::removeLink(DeviceLink*) (this=0x55fb8cc77490, link=<optimized out>)
at ./core/device.cpp:325
#21 0x00007fe8941b0db7 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=0x7fff64025a80, r=0x55fb8cc77490, this=<optimized out>)
    at ./src/corelib/kernel/qobjectdefs_impl.h:433
#22 doActivate<false>(QObject*, int, void**) (sender=0x55fb8cd3ae70,
signal_index=0, argv=0x7fff64025a80) at ./src/corelib/kernel/qobject.cpp:4021
#23 0x00007fe8941ab417 in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**)
    (sender=sender@entry=0x55fb8cd3ae70, m=m@entry=0x7fe894580440
<QObject::staticMetaObject>, local_signal_index=local_signal_index@entry=0,
argv=argv@entry=0x7fff64025a80)
    at ./src/corelib/kernel/qobject.cpp:4081
#24 0x00007fe8941ab4d3 in QObject::destroyed(QObject*)
(this=this@entry=0x55fb8cd3ae70, _t1=<optimized out>, _t1@entry=0x55fb8cd3ae70)
    at ./obj-x86_64-linux-gnu/src/corelib/kernel/moc_qobject.cpp:272
#25 0x00007fe8941ae5f4 in QObject::~QObject() (this=this@entry=0x55fb8cd3ae70,
__in_chrg=<optimized out>) at ./src/corelib/kernel/qobject.cpp:1061
#26 0x00007fe895a8a9ac in DeviceLink::~DeviceLink() (this=0x55fb8cd3ae70,
this=<optimized out>) at ./core/backends/devicelink.h:17
#27 LanDeviceLink::~LanDeviceLink() (this=0x55fb8cd3ae70, this=<optimized out>)
at ./core/backends/lan/landevicelink.h:23
#28 LanDeviceLink::~LanDeviceLink() (this=0x55fb8cd3ae70, this=<optimized out>)
at ./core/backends/lan/landevicelink.h:23
#29 0x00007fe8941a7bb1 in QObject::event(QEvent*) (this=0x55fb8cd3ae70,
e=0x55fb8cf4d430) at ./src/corelib/kernel/qobject.cpp:1424
#30 0x00007fe894f89576 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=<optimized out>, receiver=0x55fb8cd3ae70, e=0x55fb8cf4d430)
    at ./src/widgets/kernel/qapplication.cpp:3287
#31 0x00007fe89415a3d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(receiver=0x55fb8cd3ae70, event=0x55fb8cf4d430) at
./src/corelib/kernel/qcoreapplication.cpp:1118
#32 0x00007fe89415e408 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (receiver=0x0, event_type=0, data=0x55fb8c948cb0)
    at ./src/corelib/kernel/qcoreapplication.cpp:1898
#33 0x00007fe8943b67b7 in postEventSourceDispatch(GSource*, GSourceFunc,
gpointer) (s=0x55fb8c9c1370) at
./src/corelib/kernel/qeventdispatcher_glib.cpp:243
#34 0x00007fe892fdbd3b in g_main_context_dispatch () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007fe893031258 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007fe892fd93e3 in g_main_context_iteration () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007fe8943b601e in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x55fb8c94b360, flags=...)
    at ./src/corelib/kernel/qeventdispatcher_glib.cpp:393
--Type <RET> for more, q to quit, c to continue without paging--
#38 0x00007fe894167053 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7fff64025f70, flags=..., flags@entry=...) at
./src/corelib/global/qflags.h:34
#39 0x00007fe894162f86 in QCoreApplication::exec() () at
./src/corelib/global/qflags.h:74
#40 0x00007fe8947aa4f0 in QGuiApplication::exec() () at
./src/gui/kernel/qguiapplication.cpp:1909
#41 0x00007fe894f894e9 in QApplication::exec() () at
./src/widgets/kernel/qapplication.cpp:2566
#42 0x000055fb8af15595 in main(int, char**) (argc=<optimized out>,
argv=<optimized out>) at ./daemon/kdeconnectd.cpp:189

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to