Created attachment 159368 [details] Photograph taken with my Android device SUMMARY *** Sending this image from my Android device to my PC via KDE Connect causes KDE Connect daemon to crash. This happens whether the file is sent individually or in a batch, and whether the transfer is initiated inside the KDE Connect Android app or via the share menu of another app. *** STEPS TO REPRODUCE 1. Send the attached file from an Android device to a PC using KDE Connect OBSERVED RESULT KDE Connect daemon crashes EXPECTED RESULT KDE Connect saves the file to the configured directory and does not crash SOFTWARE/OS VERSIONS Linux: 6.3.4-arch1-1 (64-bit) KDE Plasma Version: 5.27.5 KDE Frameworks Version: 5.106.0 Qt Version: 5.15.9 ADDITIONAL INFORMATION Backtrace inline: Application: KDE Connect Daemon (kdeconnectd), signal: Aborted Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = 0x0} [KCrash Handler] #6 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #7 0x00007f2a9da9f2d3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #8 0x00007f2a9da4fa08 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #9 0x00007f2a9da38538 in __GI_abort () at abort.c:79 #10 0x00007f2a9e0a0098 in qt_message_fatal (message=<synthetic pointer>..., context=<optimized out>) at global/qlogging.cpp:1914 #11 QMessageLogger::fatal(char const*, ...) const (this=this@entry=0x7f2a76a80610, msg=msg@entry=0x7f2a9f86e108 "Fatal Error: Got cmd %d, while waiting for an answer!") at global/qlogging.cpp:893 #12 0x00007f2a9f788090 in KIO::SlaveBase::waitForAnswer(int, int, QByteArray&, int*) (this=this@entry=0x7f2a4c0012e0, expected1=expected1@entry=84, expected2=expected2@entry=65, data=..., pCmd=pCmd@entry=0x7f2a76a80684) at /usr/src/debug/kio/kio-5.106.0/src/core/slavebase.cpp:1149 #13 0x00007f2a9f7c8c06 in KIO::SlaveBase::canResume(unsigned long long) (this=this@entry=0x7f2a4c0012e0, offset=65536) at /usr/src/debug/kio/kio-5.106.0/src/core/slavebase.cpp:1116 #14 0x00007f2a76a90ec0 in FileProtocol::put(QUrl const&, int, QFlags<KIO::JobFlag>) (this=0x7f2a4c0012d0, url=<optimized out>, _mode=-1, _flags=...) at /usr/src/debug/kio/kio-5.106.0/src/ioslaves/file/file.cpp:550 #15 0x00007f2a9f7c8105 in KIO::SlaveBase::dispatch(int, QByteArray const&) (this=0x7f2a4c0012e0, command=68, data=...) at /usr/src/debug/kio/kio-5.106.0/src/core/slavebase.cpp:1289 #16 0x00007f2a9f7c02ae in KIO::SlaveBase::dispatchLoop() (this=0x7f2a4c0012e0) at /usr/src/debug/kio/kio-5.106.0/src/core/slavebase.cpp:342 #17 0x00007f2a9f83f0b7 in KIO::WorkerThread::run() (this=0x55b37e881c30) at /usr/src/debug/kio/kio-5.106.0/src/core/workerthread.cpp:62 #18 0x00007f2a9e0f30da in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350 #19 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at thread/qthread_unix.cpp:287 #20 QThreadPrivate::start(void*) (arg=0x55b37e881c30) at thread/qthread_unix.cpp:310 #21 0x00007f2a9da9d44b in start_thread (arg=<optimized out>) at pthread_create.c:444 #22 0x00007f2a9db20e40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 8 (Thread 0x7f2a7dffb6c0 (LWP 373600) "kdeconnectd"): #1 __pselect (nfds=5, readfds=0x7f2a7dff2a20, writefds=0x0, exceptfds=0x0, timeout=<optimized out>, sigmask=<optimized out>) at ../sysdeps/unix/sysv/linux/pselect.c:56 #2 0x00007f2a99ab06f9 in () at /usr/lib/libusbmuxd-2.0.so.6 #3 0x00007f2a99ab13cc in () at /usr/lib/libusbmuxd-2.0.so.6 #4 0x00007f2a9da9d44b in start_thread (arg=<optimized out>) at pthread_create.c:444 #5 0x00007f2a9db20e40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 7 (Thread 0x7f2a7e7fc6c0 (LWP 373560) "Qt bearer threa"): #1 __GI___libc_read (fd=15, buf=buf@entry=0x7f2a7e7fb840, nbytes=nbytes@entry=8) at ../sysdeps/unix/sysv/linux/read.c:24 #2 0x00007f2a9c765560 in read (__nbytes=8, __buf=0x7f2a7e7fb840, __fd=<optimized out>, __fd=<optimized out>, __buf=<optimized out>, __nbytes=<optimized out>) at /usr/include/bits/unistd.h:38 #3 g_wakeup_acknowledge (wakeup=<optimized out>) at ../glib/glib/gwakeup.c:216 #4 g_wakeup_acknowledge (wakeup=0x7f2a64000df0) at ../glib/glib/gwakeup.c:208 #5 0x00007f2a9c711094 in g_main_context_check (context=0x7f2a64000c30, max_priority=2147483647, fds=0x7f2a640013f0, n_fds=1) at ../glib/glib/gmain.c:4021 #6 0x00007f2a9c76d998 in g_main_context_iterate.isra.0 (context=context@entry=0x7f2a64000c30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4273 #7 0x00007f2a9c70e032 in g_main_context_iteration (context=0x7f2a64000c30, may_block=1) at ../glib/glib/gmain.c:4343 #8 0x00007f2a9e2e9f2f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f2a64000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #9 0x00007f2a9e299824 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f2a7e7fbac0, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #10 0x00007f2a9e0f6eb6 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #11 0x00007f2a9e0f30da in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350 #12 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at thread/qthread_unix.cpp:287 #13 QThreadPrivate::start(void*) (arg=0x55b37e3da910) at thread/qthread_unix.cpp:310 #14 0x00007f2a9da9d44b in start_thread (arg=<optimized out>) at pthread_create.c:444 #15 0x00007f2a9db20e40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 6 (Thread 0x7f2a7effd6c0 (LWP 373557) "kdeconnect:sh2"): #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55b37e1586f0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x00007f2a9da99f8f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55b37e1586f0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x00007f2a9da9c7a0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b37e1586a0, cond=0x55b37e1586c8) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55b37e1586c8, mutex=0x55b37e1586a0) at pthread_cond_wait.c:618 #5 0x00007f2a90ac854c in () at /usr/lib/dri/iris_dri.so #6 0x00007f2a90b1540c in () at /usr/lib/dri/iris_dri.so #7 0x00007f2a9da9d44b in start_thread (arg=<optimized out>) at pthread_create.c:444 #8 0x00007f2a9db20e40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 5 (Thread 0x7f2a7f7fe6c0 (LWP 373556) "kdeconnect:sh1"): #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55b37e1586f0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x00007f2a9da99f8f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55b37e1586f0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x00007f2a9da9c7a0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b37e1586a0, cond=0x55b37e1586c8) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55b37e1586c8, mutex=0x55b37e1586a0) at pthread_cond_wait.c:618 #5 0x00007f2a90ac854c in () at /usr/lib/dri/iris_dri.so #6 0x00007f2a90b1540c in () at /usr/lib/dri/iris_dri.so #7 0x00007f2a9da9d44b in start_thread (arg=<optimized out>) at pthread_create.c:444 #8 0x00007f2a9db20e40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 4 (Thread 0x7f2a7ffff6c0 (LWP 373555) "kdeconnect:sh0"): #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55b37e1586f0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x00007f2a9da99f8f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55b37e1586f0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x00007f2a9da9c7a0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b37e1586a0, cond=0x55b37e1586c8) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55b37e1586c8, mutex=0x55b37e1586a0) at pthread_cond_wait.c:618 #5 0x00007f2a90ac854c in () at /usr/lib/dri/iris_dri.so #6 0x00007f2a90b1540c in () at /usr/lib/dri/iris_dri.so #7 0x00007f2a9da9d44b in start_thread (arg=<optimized out>) at pthread_create.c:444 #8 0x00007f2a9db20e40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 3 (Thread 0x7f2a908be6c0 (LWP 373554) "kdeconn:disk$0"): #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55b37e160c98, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x00007f2a9da99f8f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55b37e160c98, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x00007f2a9da9c7a0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b37e160c48, cond=0x55b37e160c70) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55b37e160c70, mutex=0x55b37e160c48) at pthread_cond_wait.c:618 #5 0x00007f2a90ac854c in () at /usr/lib/dri/iris_dri.so #6 0x00007f2a90b1540c in () at /usr/lib/dri/iris_dri.so #7 0x00007f2a9da9d44b in start_thread (arg=<optimized out>) at pthread_create.c:444 #8 0x00007f2a9db20e40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 2 (Thread 0x7f2a98e4b6c0 (LWP 373552) "QDBusConnection"): #1 0x00007f2a9c76da9f in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f2a94018040, timeout=<optimized out>, context=0x7f2a94000c50) at ../glib/glib/gmain.c:4584 #2 g_main_context_iterate.isra.0 (context=context@entry=0x7f2a94000c50, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4271 #3 0x00007f2a9c70e032 in g_main_context_iteration (context=0x7f2a94000c50, may_block=1) at ../glib/glib/gmain.c:4343 #4 0x00007f2a9e2e9f2f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f2a94000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #5 0x00007f2a9e299824 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f2a98e4aa90, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #6 0x00007f2a9e0f6eb6 in QThread::exec() (this=this@entry=0x7f2a9f61a660 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #7 0x00007f2a9f5bf69a in QDBusConnectionManager::run() (this=0x7f2a9f61a660 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at /usr/src/debug/qt5-base/qtbase/src/dbus/qdbusconnection.cpp:179 #8 0x00007f2a9e0f30da in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350 #9 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at thread/qthread_unix.cpp:287 #10 QThreadPrivate::start(void*) (arg=0x7f2a9f61a660 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:310 #11 0x00007f2a9da9d44b in start_thread (arg=<optimized out>) at pthread_create.c:444 #12 0x00007f2a9db20e40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 1 (Thread 0x7f2a99416ac0 (LWP 373551) "kdeconnectd"): #1 0x00007f2a9e0ef47c in QtLinuxFutex::_q_futex(int*, int, int, unsigned long long, int*, int) (val3=0, addr2=0x0, val2=0, val=<optimized out>, op=0, addr=<optimized out>, addr=<optimized out>, op=<optimized out>, val=<optimized out>, val2=<optimized out>, addr2=<optimized out>, val3=<optimized out>) at thread/qfutex_p.h:114 #2 QtLinuxFutex::futexWait<QBasicAtomicInteger<unsigned int> >(QBasicAtomicInteger<unsigned int>&, QBasicAtomicInteger<unsigned int>::Type) (expectedValue=<optimized out>, futex=<optimized out>) at thread/qfutex_p.h:133 #3 futexSemaphoreTryAcquire_loop<false>(QBasicAtomicInteger<unsigned long long>&, unsigned long long, unsigned long long, int) (timeout=-1, nn=8589934593, curValue=<optimized out>, u=...) at thread/qsemaphore.cpp:219 #4 futexSemaphoreTryAcquire<false>(QBasicAtomicInteger<unsigned long long>&, int, int) (timeout=-1, n=<optimized out>, u=...) at thread/qsemaphore.cpp:262 #5 QSemaphore::acquire(int) (this=0x7fff4ee94da0, n=<optimized out>) at thread/qsemaphore.cpp:326 #6 0x00007f2a9e2d00f6 in doActivate<false>(QObject*, int, void**) (sender=0x55b37e636220, signal_index=0, argv=0x7fff4ee94e20) at kernel/qobject.cpp:3904 #7 0x00007f2a9e2d03e4 in QObject::destroyed(QObject*) (this=<optimized out>, _t1=<optimized out>) at .moc/moc_qobject.cpp:219 #8 0x00007f2a9e2c651c in QObject::~QObject() (this=0x55b37e636220, this=<optimized out>) at kernel/qobject.cpp:1010 #9 0x00007f2a9f5f35ce in QDBusServiceWatcher::~QDBusServiceWatcher() (this=0x55b37e636220, this=<optimized out>) at /usr/src/debug/qt5-base/qtbase/src/dbus/qdbusservicewatcher.cpp:260 #10 0x00007f2a9f4dfd36 in std::default_delete<QDBusServiceWatcher>::operator()(QDBusServiceWatcher*) const (__ptr=<optimized out>, this=<optimized out>) at /usr/include/c++/13.1.1/bits/unique_ptr.h:99 #11 std::unique_ptr<QDBusServiceWatcher, std::default_delete<QDBusServiceWatcher> >::~unique_ptr() (this=0x7f2a9f4f6078 <_ZZN12_GLOBAL__N_117Q_QGS_serverProxy13innerFunctionEvE6holder.lto_priv.1+24>, this=<optimized out>) at /usr/include/c++/13.1.1/bits/unique_ptr.h:404 #12 KSharedUiServerV2Proxy::~KSharedUiServerV2Proxy() (this=0x7f2a9f4f6060 <_ZZN12_GLOBAL__N_117Q_QGS_serverProxy13innerFunctionEvE6holder.lto_priv.1>, this=<optimized out>) at /usr/src/debug/kjobwidgets/kjobwidgets-5.106.0/src/kuiserverv2jobtracker.cpp:416 #13 0x00007f2a9f4dfdad in (anonymous namespace)::Q_QGS_serverProxy::innerFunction()::Holder::~Holder() [clone .lto_priv.1] () at /usr/src/debug/kjobwidgets/kjobwidgets-5.106.0/src/kuiserverv2jobtracker.cpp:25 #14 0x00007f2a9da52066 in __run_exit_handlers (status=status@entry=1, listp=0x7f2a9dbf1760 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:111 #15 0x00007f2a9da521b0 in __GI_exit (status=status@entry=1) at exit.c:141 #16 0x00007f2a98f00066 in QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55b37deb2770, flags=...) at /usr/src/debug/qt5-base/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:1047 #17 0x00007f2a98f2f708 in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at /usr/src/debug/qt5-base/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:103 #18 0x00007f2a9c710981 in g_main_dispatch (context=0x7f2a94000ee0) at ../glib/glib/gmain.c:3460 #19 g_main_context_dispatch (context=0x7f2a94000ee0) at ../glib/glib/gmain.c:4200 #20 0x00007f2a9c76db39 in g_main_context_iterate.isra.0 (context=context@entry=0x7f2a94000ee0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4276 #21 0x00007f2a9c70e032 in g_main_context_iteration (context=0x7f2a94000ee0, may_block=1) at ../glib/glib/gmain.c:4343 #22 0x00007f2a9e2e9f0c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55b37e056e30, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #23 0x00007f2a9e299824 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff4ee95270, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #24 0x00007f2a9e29acc3 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #25 0x00007f2a9e73b7c2 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870 #26 0x00007f2a9ef76cda in QApplication::exec() () at kernel/qapplication.cpp:2832 #27 0x000055b37c021597 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kdeconnect/kdeconnect-kde-23.04.1/daemon/kdeconnectd.cpp:185 Warning: the current language does not match this frame. [Inferior 1 (process 373551) detached]
*** Bug 470487 has been marked as a duplicate of this bug. ***
Created attachment 159490 [details] New crash information added by DrKonqi kdeconnectd (23.04.1) using Qt 5.15.9 Kdeconnect daemon crashes when i send 10 photos from android to archlinux -- Backtrace (Reduced): #7 0x00007ff9c3aa0098 in QMessageLogger::fatal(char const*, ...) const () from /usr/lib/libQt5Core.so.5 [...] #9 0x00007ff9c520bc06 in KIO::SlaveBase::canResume(unsigned long long) () from /usr/lib/libKF5KIOCore.so.5 [...] #11 0x00007ff9c520b105 in KIO::SlaveBase::dispatch(int, QByteArray const&) () from /usr/lib/libKF5KIOCore.so.5 #12 0x00007ff9c52032ae in KIO::SlaveBase::dispatchLoop() () from /usr/lib/libKF5KIOCore.so.5 [...] #3 0x00007ff9c3ce9f2f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
Thank you for the bug report! This crash is already reported and being tracked, please follow the linked bug report for updates. *** This bug has been marked as a duplicate of bug 450135 ***