WebDAV PROPFIND EOF problem with WebDav (works on v1.60.1, fails on v1.70.2)

What is the problem you are having with rclone?

rclone lsd against a Nextcloud/WebDAV backend consistently fails with:

error listing: Propfind "https://cloud.leviia.com/remote.php/dav/files/<USER>/": EOF

The same WebDAV endpoint works correctly with:

  • curl

  • rclone v1.60.1-DEV

but fails with:

  • rclone v1.70.2 (bundled with TrueNAS SCALE 25.10.2.1)

Run the command 'rclone version' and share the full output of the command.

Version that fails:

rclone v1.70.2
os/version: debian 12.11 (64 bit)
os/kernel: 6.12.33-production+truenas (x86_64)
os/type: linux
os/arch: amd64
go/version: go1.23.5
go/linking: dynamic
go/tags: none

Version that succeeds:

rclone v1.60.1-DEV
os/version: debian trixie/sid (64 bit)
os/kernel: 6.18.7-76061807-generic (x86_64)
os/type: linux
os/arch: amd64
go/version: go1.22.2
go/linking: dynamic
go/tags: none

Which cloud storage system are you using? (eg Google Drive)

According to their website, their service is based on Nextcloud.

The command you were trying to run (eg rclone copy /tmp remote:tmp)

rclone lsd :webdav: \
--webdav-url "https://cloud.leviia.com/remote.php/dav/files/MyUserName" \
--webdav-vendor nextcloud \
--webdav-user "MyUserName" \
--webdav-pass "$(rclone obscure 'MyAppPassword')" -vv

The rclone config contents with secrets removed.

There is no config, to simplify the report, the command line above bypasses the config.

Paste config here

A log from the command with the -vv flag

2026/05/26 18:05:55 DEBUG : Creating backend with remote ":webdav:"
2026/05/26 18:05:55 NOTICE: Config file "/home/truenas_admin/.config/rclone/rclone.conf" not found - using defaults
2026/05/26 18:05:55 DEBUG : :webdav: detected overridden config - adding "{G-p55}" suffix to name
2026/05/26 18:05:55 DEBUG : found headers: 
2026/05/26 18:05:55 DEBUG : Chunks temporary upload directory: https://cloud.leviia.com/remote.php/dav/uploads/MyUserName/
2026/05/26 18:05:55 DEBUG : fs cache: renaming cache item ":webdav:" to be canonical ":webdav{G-p55}:"
2026/05/26 18:06:00 DEBUG : pacer: low level retry 1/10 (error Propfind "https://cloud.leviia.com/remote.php/dav/files/MyUserName/": EOF)
2026/05/26 18:06:00 DEBUG : pacer: Rate limited, increasing sleep to 20ms
2026/05/26 18:06:05 DEBUG : pacer: low level retry 2/10 (error Propfind "https://cloud.leviia.com/remote.php/dav/files/MyUserName/": EOF)
2026/05/26 18:06:05 DEBUG : pacer: Rate limited, increasing sleep to 40ms
2026/05/26 18:06:10 DEBUG : pacer: low level retry 3/10 (error Propfind "https://cloud.leviia.com/remote.php/dav/files/MyUserName/": EOF)
2026/05/26 18:06:10 DEBUG : pacer: Rate limited, increasing sleep to 80ms
2026/05/26 18:06:15 DEBUG : pacer: low level retry 4/10 (error Propfind "https://cloud.leviia.com/remote.php/dav/files/MyUserName9/": EOF)
2026/05/26 18:06:15 DEBUG : pacer: Rate limited, increasing sleep to 160ms
2026/05/26 18:06:20 DEBUG : pacer: low level retry 5/10 (error Propfind "https://cloud.leviia.com/remote.php/dav/files/MyUserName/": EOF)
2026/05/26 18:06:20 DEBUG : pacer: Rate limited, increasing sleep to 320ms
2026/05/26 18:06:25 DEBUG : pacer: low level retry 6/10 (error Propfind "https://cloud.leviia.com/remote.php/dav/files/MyUserName/": EOF)
2026/05/26 18:06:25 DEBUG : pacer: Rate limited, increasing sleep to 640ms
2026/05/26 18:06:30 DEBUG : pacer: low level retry 7/10 (error Propfind "https://cloud.leviia.com/remote.php/dav/files/MyUserName/": EOF)
2026/05/26 18:06:30 DEBUG : pacer: Rate limited, increasing sleep to 1.28s
2026/05/26 18:06:35 DEBUG : pacer: low level retry 8/10 (error Propfind "https://cloud.leviia.com/remote.php/dav/files/MyUserName/": EOF)
2026/05/26 18:06:35 DEBUG : pacer: Rate limited, increasing sleep to 2s
2026/05/26 18:06:40 DEBUG : pacer: low level retry 9/10 (error Propfind "https://cloud.leviia.com/remote.php/dav/files/MyUserName/": EOF)
2026/05/26 18:06:45 DEBUG : pacer: low level retry 10/10 (error Propfind "https://cloud.leviia.com/remote.php/dav/files/MyUserName/": EOF)
2026/05/26 18:06:45 ERROR : error listing: couldn't list files: Propfind "https://cloud.leviia.com/remote.php/dav/files/MyUserName/": EOF
2026/05/26 18:06:45 DEBUG : 4 go routines active
2026/05/26 18:06:45 NOTICE: Failed to lsd with 2 errors: last error was: couldn't list files: Propfind "https://cloud.leviia.com/remote.php/dav/files/MyUserName/": EOF

welcome to the forum,

that version is almost one year old.
please rclone selfupdate and test again.

and for a deeper look, try --dump flags such as --dump=headers

Hi, thank you for your response.

I updated rclone to:

root@truenas[~]# rclone version
rclone v1.74.2
os/version: debian 12.11 (64 bit)
os/kernel: 6.12.33-production+truenas (x86_64)
os/type: linux
os/arch: amd64
go/version: go1.26.3
go/linking: static
go/tags: none

Got the exact same error.

Here is the response with the --dump headers parameter:

2026/05/27 08:56:02 NOTICE: Automatically setting -vv as --dump is enabled
2026/05/27 08:56:02 DEBUG : rclone: Version "v1.74.2" starting with parameters ["rclone" "lsd" ":webdav:" "--webdav-url" "https://cloud.leviia.com/remote.php/dav/files/MyUser" "--webdav-vendor" "nextcloud" "--webdav-user" "MyUser" "--webdav-pass" "obscured password" "--disable-http2" "--dump" "headers" "-vv"]
2026/05/27 08:56:02 DEBUG : Creating backend with remote ":webdav:"
2026/05/27 08:56:02 NOTICE: Config file "/home/truenas_admin/.config/rclone/rclone.conf" not found - using defaults
2026/05/27 08:56:02 DEBUG : :webdav: detected overridden config - adding "{T4cEZ}" suffix to name
2026/05/27 08:56:02 DEBUG : found headers: 
2026/05/27 08:56:02 DEBUG : You have specified to dump information. Please be noted that the Accept-Encoding as shown may not be correct in the request and the response may not show Content-Encoding if the go standard libraries auto gzip encoding was in effect. In this case the body of the request will be gunzipped before showing it.
2026/05/27 08:56:02 DEBUG : Chunks temporary upload directory: https://cloud.leviia.com/remote.php/dav/uploads/MyUser/
2026/05/27 08:56:02 DEBUG : fs cache: renaming cache item ":webdav:" to be canonical ":webdav{T4cEZ}:"
2026/05/27 08:56:02 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2026/05/27 08:56:02 DEBUG : HTTP REQUEST (req 0xe763ca54500)
2026/05/27 08:56:02 DEBUG : PROPFIND /remote.php/dav/files/MyUser/ HTTP/1.1
Host: cloud.leviia.com
User-Agent: rclone/v1.74.2
Content-Length: 285
Authorization: XXXX
Depth: 1
Referer: https://cloud.leviia.com/remote.php/dav/files/MyUser/
Accept-Encoding: gzip

2026/05/27 08:56:02 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2026/05/27 08:56:07 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2026/05/27 08:56:07 DEBUG : HTTP RESPONSE (req 0xe763ca54500)
2026/05/27 08:56:07 DEBUG : Error: EOF
2026/05/27 08:56:07 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2026/05/27 08:56:07 DEBUG : pacer: low level retry 1/10 (error Propfind "https://cloud.leviia.com/remote.php/dav/files/MyUser/": EOF)
2026/05/27 08:56:07 DEBUG : pacer: Rate limited, increasing sleep to 20ms
2026/05/27 08:56:07 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2026/05/27 08:56:07 DEBUG : HTTP REQUEST (req 0xe763ca552c0)
2026/05/27 08:56:07 DEBUG : PROPFIND /remote.php/dav/files/MyUser/ HTTP/1.1
Host: cloud.leviia.com
User-Agent: rclone/v1.74.2
Content-Length: 285
Authorization: XXXX
Depth: 1
Referer: https://cloud.leviia.com/remote.php/dav/files/MyUser/
Accept-Encoding: gzip

same as above 10 times, then:

2026/05/27 08:56:47 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2026/05/27 08:56:52 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2026/05/27 08:56:52 DEBUG : HTTP RESPONSE (req 0xe763d2e6c80)
2026/05/27 08:56:52 DEBUG : Error: EOF
2026/05/27 08:56:52 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2026/05/27 08:56:52 DEBUG : pacer: low level retry 10/10 (error Propfind "https://cloud.leviia.com/remote.php/dav/files/MyUser/": EOF)
2026/05/27 08:56:52 ERROR : error listing: couldn't list files: Propfind "https://cloud.leviia.com/remote.php/dav/files/MyUser/": EOF
2026/05/27 08:56:52 DEBUG : 4 go routines active
2026/05/27 08:56:52 NOTICE: Failed to lsd with 2 errors: last error was: couldn't list files: Propfind "https://cloud.leviia.com/remote.php/dav/files/MyUser/": EOF

compare the output for the working version and non-working version and try to find the difference.


try to figure out the exact version where the first issue occurs.

Here is the output from the working version:

2026/05/27 21:02:17 DEBUG : rclone: Version "v1.60.1-DEV" starting with parameters ["rclone" "lsd" ":webdav:" "--webdav-url" "https://cloud.leviia.com/remote.php/dav/files/MyUser" "--webdav-vendor" "nextcloud" "--webdav-user" "jerome.arnaud.9279" "--webdav-pass" "obscured pass" "-vv" "--dump=headers"]
2026/05/27 21:02:17 DEBUG : Creating backend with remote ":webdav:"
2026/05/27 21:02:17 NOTICE: Config file "/home/user/.config/rclone/rclone.conf" not found - using defaults
2026/05/27 21:02:17 DEBUG : :webdav: detected overridden config - adding "{oqyup}" suffix to name
2026/05/27 21:02:17 DEBUG : found headers:
2026/05/27 21:02:17 DEBUG : You have specified to dump information. Please be noted that the Accept-Encoding as shown may not be correct in the request and the response may not show Content-Encoding if the go standard libraries auto gzip encoding was in effect. In this case the body of the request will be gunzipped before showing it.
2026/05/27 21:02:17 DEBUG : fs cache: renaming cache item ":webdav:" to be canonical ":webdav{oqyup}:"
2026/05/27 21:02:17 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2026/05/27 21:02:17 DEBUG : HTTP REQUEST (req 0xc0006305a0)
2026/05/27 21:02:17 DEBUG : PROPFIND /remote.php/dav/files/MyUser/ HTTP/1.1
Host: cloud.leviia.com
User-Agent: rclone/
Content-Length: 287
Authorization: XXXX
Depth: 1
Referer: https://cloud.leviia.com/remote.php/dav/files/MyUser/
Accept-Encoding: gzip

2026/05/27 21:02:17 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2026/05/27 21:02:17 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2026/05/27 21:02:17 DEBUG : HTTP RESPONSE (req 0xc0006305a0)
2026/05/27 21:02:17 DEBUG : HTTP/1.1 207 Multi-Status

The only differences are:

1.74.2:

Extra line: 2026/05/27 21:00:46 DEBUG : Chunks temporary upload directory: https://cloud.leviia.com/remote.php/dav/uploads/MyUser/

Content-Length: 287

1.60.1-DEV:

Content-Length: 285

I will try to find the version when this does not work anymore. I'll have to find out how to upgrade to a specific version in Linux Pop!_OS (I'd rather not experiment on my NAS :slight_smile: )

that does not appear to be a complete debug log?
and to keep the log small, --low-level-retries=1 --retries=1


rclone selfupdate --version=1.73.5 -vv
DEBUG : rclone: Version "v1.74.1" starting with parameters ["rclone" "selfupdate" "--version=1.73.5" "-vv"]
DEBUG : downloaded release archive with hashsum 201567c54304935112b06dfac4ad754786287fb5acfad8889feca8d1cdeba92b from https://downloads.rclone.org/v1.73.5/rclone-v1.73.5-windows-amd64.zip
DEBUG : downloaded hashsum list: https://downloads.rclone.org/v1.73.5/SHA256SUMS
DEBUG : extracted rclone-v1.73.5-windows-amd64/rclone.exe to d:\data\rclone\rclone.qute.new.exe
DEBUG : d:\data\rclone\rclone.old.exe: cannot replace old file, randomizing name
INFO  : The old executable was saved as d:\data\rclone\rclone.taqa.old.exe
NOTICE: Successfully updated rclone from version v1.74.1 to version v1.73.5
DEBUG : rclone: Version "v1.74.1" finishing with parameters ["rclone" "selfupdate" "--version=1.73.5" "-vv"]

can you post the exact curl command with minimal redactions, perhaps with debug output.

Thank you for your help.

After more testing and your guidance, I can now confirm that:

  1. rclone 1.74.2 installed on Pop!_OS 24.04 can successfully queries the webdav endpoint.
  2. rclone 1.74.2 installed on TrueNAS 25.10.2.1 fails on the same webdav endpoint.

So I think I need now to investigate my TrueNAS setup.

good testing,

might try using a config file and see what happens.