Bug 452972

Summary: Can't send large files over 2GB
Product: [Applications] kdeconnect Reporter: esmailelbob01124320019
Component: commonAssignee: Albert Vaca Cintora <albertvaka>
Status: RESOLVED FIXED    
Severity: normal CC: 10340505a, esmailelbob01124320019, nate
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In: 5.102

Description esmailelbob01124320019 2022-04-25 04:16:52 UTC
SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***


STEPS TO REPRODUCE
1. Open KDE application on your phone (android 11 in my case)
2. Select large file (Ubuntu ISO in my case)
3. Select send it to your desktop

OBSERVED RESULT
It starts to send file and I see uncompleted parts in my folder in desktop but after some time I see notifications about file transferred failed 

EXPECTED RESULT
The files transfer 

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 5.24.4
(available in About System)
KDE Plasma Version: 5.24.4
KDE Frameworks Version: 5.94.0
Qt Version: 5.15.3
Comment 1 esmailelbob01124320019 2022-04-25 04:37:13 UTC
It took me time to learn how to use gdb and time to send my large file so it can fail and give actual logs so: 

#0  0x00007ffff64a82af in poll () from /usr/lib/libc.so.6
#1  0x00007ffff5142976 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007ffff50e96c5 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007ffff6aaa5ba in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007ffff6a568db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007ffff6a62007 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00005555555563db in ?? ()
#7  0x00007ffff63cf310 in __libc_start_call_main () from /usr/lib/libc.so.6
#8  0x00007ffff63cf3c1 in __libc_start_main_impl () from /usr/lib/libc.so.6
#9  0x0000555555556605 in _start ()
Comment 2 10340505a 2022-09-28 07:14:39 UTC
Well, I'm on Bliss ROM, Android 12, and I have the same problem, but the transfer doesn't leave any remnants of the file, nor any pop-ups indicating it failed, no matter to or from Windows, Linux or MacOS
Comment 3 Bug Janitor Service 2022-12-29 20:11:01 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kio/-/merge_requests/1096
Comment 4 Nicolas Fella 2022-12-30 22:22:22 UTC
Git commit 75715a52135eb0f252e233addf38e02cfd817be7 by Nicolas Fella, on behalf of Adrian Thiele.
Committed on 30/12/2022 at 12:23.
Pushed by albertvaka into branch 'master'.

Fix integer overflow for large files in AccessManager

When receiving a file that is 2147483648 bytes (2 GiB) or larger via
KDE Connect handling the "Content-Length" header as a signed integer
would cause an integer overflow which in return causes the file transfer
to fail later on. So handle it as an unsigned long long instead.

M  +1    -1    src/widgets/accessmanager.cpp

https://invent.kde.org/frameworks/kio/commit/75715a52135eb0f252e233addf38e02cfd817be7