When I copy a large file (1.4GB) over webdav server drops connection. Speed of copying is unusually high (60MB/s) and when I check error logs of the server it says that client sent bad request(HTTP error code 400). Actually the file doesn't even get send, it is first copied to /tmp named .kio-(something). Because /tmp is mounted as tmpfs it quickly rans out of space and the file is never send. Reproducible: Always Steps to Reproduce: 1. Connect to a webdav(s):// server using Dolphin 2. Drag and drop the file to copy/move it 3. See the copying start at high speed but never finish. /tmp is reported as full later Actual Results: File transfer fails, /tmp is full. Expected Results: KIO reads file right from my directory without filling up my small(1.9GB) /tmp . I am unsure if it happens with both SSL and non SSL webdav. Sending the file with other webdav clients works(cadaver, ES File Explorer on Android, Windows Explorer). Server is Apache 2.4 OpenSSL 1.0.1g with self-signed certificate (I accepted it). In dolphin I connect to it using webdavs://192.168.0.3/dav - (server is in my LAN).
The file should not get copied to your /tmp folder if you did not choose to copy it there. Please install the debug package for kdelibs for your distro. Here is a link where you can find said debug packages: http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports#Mageia Then follow the guide at the URL below to enable debug output for kio_http: http://techbase.kde.org/Development/Tutorials/Debugging/Debugging_IOSlaves#How_to_get_debug_output The debug areas that should be enabled are 7103 and 7113. Do not forget to remove any sensitive information from the debug output before posting it here.
Created attachment 86488 [details] kio_http logfile
Created attachment 86489 [details] kio_http_debug logfile
I added the log files. The LAN server is anonymous, I don't have any authentication there. Also after reading the logs I think that the problem is the HTTP cache. When I was sending the file mentioned in the logs it did this: 1. Made a 1.6GB file in /tmp (i still had 350MB free) 2. Process kio_http started eating all of my RAM and swap (I killed it at 33.3% because it started to lag when swapping) 3. I killed it by stop button from KDE tasks
(In reply to comment #4) > I added the log files. The LAN server is anonymous, I don't have any > authentication there. Also after reading the logs I think that the problem > is the HTTP cache. > When I was sending the file mentioned in the logs it did this: > 1. Made a 1.6GB file in /tmp (i still had 350MB free) > 2. Process kio_http started eating all of my RAM and swap (I killed it at > 33.3% because it started to lag when swapping) > 3. I killed it by stop button from KDE tasks Ahh... I assumed this was a download operation, remote file -> local, but it was not. It is an upload operation, local file -> remote. Hence, I now understand why the temporary file is being created. It is a flaw in the kio_http code. I will take care of it.
Git commit f040d0852899e383af5bc3ba1c1a49f31b69172e by Dawit Alemayehu. Committed on 29/09/2014 at 03:15. Pushed by adawit into branch 'KDE/4.14'. Added 'copyFromFile' support to webdav. FIXED-IN: 4.14.2 REVIEW: 120418 M +122 -60 kioslave/http/http.cpp M +10 -0 kioslave/http/http.h M +1 -0 kioslave/http/webdav.protocol http://commits.kde.org/kdelibs/f040d0852899e383af5bc3ba1c1a49f31b69172e
Git commit 3167510f887bb6b2ebc849a91bfebe1319ad1837 by Dawit Alemayehu. Committed on 10/10/2014 at 02:03. Pushed by adawit into branch 'master'. frameworks port of commit f040d08: Added 'copyFromFile' support to webdav. M +119 -57 src/ioslaves/http/http.cpp M +10 -0 src/ioslaves/http/http.h http://commits.kde.org/kio/3167510f887bb6b2ebc849a91bfebe1319ad1837
*** Bug 337338 has been marked as a duplicate of this bug. ***
Created attachment 91038 [details] kio_http 4.14.3 I have version 4.14.3 and still cannot upload big files over WebDAV - it just disconnects at the end.
Created attachment 91039 [details] kio_http_debug 4.14.3