Bug 470488 - KDE Connect daemon crashes when receiving the attached image from my Android device
Summary: KDE Connect daemon crashes when receiving the attached image from my Android ...
Status: REPORTED
Alias: None
Product: kdeconnect
Classification: Applications
Component: common (show other bugs)
Version: 23.04.1
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Albert Vaca Cintora
URL:
Keywords: wayland
: 470487 (view as bug list)
Depends on:
Blocks:
 
Reported: 2023-05-31 13:52 UTC by Zak
Modified: 2023-06-06 07:27 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Photograph taken with my Android device (2.61 MB, image/jpeg)
2023-05-31 13:52 UTC, Zak
Details
New crash information added by DrKonqi (7.20 KB, text/plain)
2023-06-06 07:27 UTC, gzhou22
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Zak 2023-05-31 13:52:40 UTC
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]
Comment 1 Zak 2023-05-31 19:55:00 UTC
*** Bug 470487 has been marked as a duplicate of this bug. ***
Comment 2 gzhou22 2023-06-06 07:27:19 UTC
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