Occasional incomplete uploads

The Basics

  • Server at home running Proxmox, the VM running Nextcloud AIO: Ubuntu Server 24.04

  • Installation method: AIO

  • Nextcloud Server version: Nextcloud Hub 10 (31.0.5)

  • PHP version: 8.3.21

  • Apache version: Where can I find it?

  • I am running Pangolin 1.4.0 on a VPS with a static IPv4 and IPv6 address. I have a Cloudflare Domain (nextcloud.mydomain.tld) pointing to the VPS.

  • When did this problem seem to first start?: Immediatly after the installation

Summary of the issue you are facing:

When I try to upload folders via the web interface it does not work reliably. I tested it with the same folder multiple times. Sometimes it works, other times some files or folders are missing, but its never the same files/folders that are missing.
File or Folder size doesn’t seem to matter. I can upload zip files with ~20GB. But the folders that fail (sometimes) are ~100MB and ~500MB. The files that are failing to upload are around ~1MB.

Log entries

Nextcloud

{
  "reqId": "fuk6EScHSxa5JoCFP66H",
  "level": 3,
  "time": "2025-05-28T22:23:44+00:00",
  "remoteAddr": "172.19.0.2",
  "user": "admin",
  "app": "no app in context",
  "method": "PUT",
  "url": "/remote.php/dav/files/admin/20%20-%20PC/Tools/PDF%20Arranger/libiconv-2.dll",
  "message": "Expected filesize of 1114369 bytes but read (from Nextcloud client) and wrote (to Nextcloud storage) 1105920 bytes. Could either be a network problem on the sending side or a problem writing to the storage on the server side.",
  "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
  "version": "31.0.5.1",
  "exception": {
    "Exception": "Sabre\\DAV\\Exception\\BadRequest",
    "Message": "Expected filesize of 1114369 bytes but read (from Nextcloud client) and wrote (to Nextcloud storage) 1105920 bytes. Could either be a network problem on the sending side or a problem writing to the storage on the server side.",
    "Code": 0,
    "Trace": [
      {
        "file": "/var/www/html/apps/dav/lib/Connector/Sabre/Directory.php",
        "line": 116,
        "function": "put",
        "class": "OCA\\DAV\\Connector\\Sabre\\File",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line": 1098,
        "function": "createFile",
        "class": "OCA\\DAV\\Connector\\Sabre\\Directory",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
        "line": 504,
        "function": "createFile",
        "class": "Sabre\\DAV\\Server",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
        "line": 89,
        "function": "httpPut",
        "class": "Sabre\\DAV\\CorePlugin",
        "type": "->",
        "args": [
          {
            "__class__": "Sabre\\HTTP\\Request"
          },
          {
            "__class__": "Sabre\\HTTP\\Response"
          }
        ]
      },
      {
        "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line": 472,
        "function": "emit",
        "class": "Sabre\\DAV\\Server",
        "type": "->",
        "args": [
          "method:PUT",
          [
            {
              "__class__": "Sabre\\HTTP\\Request"
            },
            {
              "__class__": "Sabre\\HTTP\\Response"
            }
          ]
        ]
      },
      {
        "file": "/var/www/html/apps/dav/lib/Connector/Sabre/Server.php",
        "line": 49,
        "function": "invokeMethod",
        "class": "Sabre\\DAV\\Server",
        "type": "->",
        "args": [
          {
            "__class__": "Sabre\\HTTP\\Request"
          },
          {
            "__class__": "Sabre\\HTTP\\Response"
          }
        ]
      },
      {
        "file": "/var/www/html/apps/dav/lib/Server.php",
        "line": 400,
        "function": "start",
        "class": "OCA\\DAV\\Connector\\Sabre\\Server",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/apps/dav/appinfo/v2/remote.php",
        "line": 21,
        "function": "exec",
        "class": "OCA\\DAV\\Server",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/html/remote.php",
        "line": 145,
        "args": [
          "/var/www/html/apps/dav/appinfo/v2/remote.php"
        ],
        "function": "require_once"
      }
    ],
    "File": "/var/www/html/apps/dav/lib/Connector/Sabre/File.php",
    "Line": 255,
    "message": "Expected filesize of 1114369 bytes but read (from Nextcloud client) and wrote (to Nextcloud storage) 1105920 bytes. Could either be a network problem on the sending side or a problem writing to the storage on the server side.",
    "exception": [],
    "CustomMessage": "Expected filesize of 1114369 bytes but read (from Nextcloud client) and wrote (to Nextcloud storage) 1105920 bytes. Could either be a network problem on the sending side or a problem writing to the storage on the server side."
  },
  "id": "68379f431d937"
}

Web Browser

My Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0

This is the Browser Network error

PROPFIND
	https://nextcloud.mydomain.tld/remote.php/dav/files/admin/10%20-%20Privat/
Status
404
VersionHTTP/2
Transferred860 B (241 B size)
Referrer Policyno-referrer
DNS ResolutionSystem

	
content-security-policy
	default-src 'none';
content-type
	application/xml; charset=utf-8
date
	Wed, 28 May 2025 23:49:34 GMT
dav
	1, 3, extended-mkcol, access-control, calendarserver-principal-property-search, nc-paginate, nextcloud-checksum-update, nc-calendar-search, nc-enable-birthday-calendar
referrer-policy
	no-referrer
strict-transport-security
	max-age=31536000;
vary
	Brief,Prefer
via
	1.1 Caddy
x-content-type-options
	nosniff
X-Firefox-Spdy
	h2
x-frame-options
	SAMEORIGIN
x-permitted-cross-domain-policies
	none
x-robots-tag
	noindex, nofollow
x-xss-protection
	1; mode=block
	
Accept
	text/plain,application/xml
Accept-Encoding
	gzip, deflate, br, zstd
Accept-Language
	en-US,en;q=0.5
Connection
	keep-alive
Content-Length
	869
Content-Type
	text/plain;charset=UTF-8
Cookie
	__Host-nc_sameSiteCookielax=true; __Host-nc_sameSiteCookiestrict=true; nc_username=admin; nc_token=a5X9G2VXyOy62GbUcvUqYWvE5ncSB9UF; nc_session_id=544276b22c2880092d39010ea5dd3710; oc_sessionPassphrase=lD7zrcDLdu3wcCyu75unVORE5zmowgFR9R6GQLsUbn0UA6sYh7N5rVjPr7J02eGn%2BiLIg2SpzfW5R79bYc5%2FvdN%2F2TiL1IJBbjuNyjPqsHfDinj0FAEuFRizlcVfVnfN; occ6ysmbaq8m=544276b22c2880092d39010ea5dd3710
Depth
	1
DNT
	1
Host
	nextcloud.mydomain.tld
Origin
	https://nextcloud.mydomain.tld
Priority
	u=4
requesttoken
	rFVFSSt9dqi6eIkO4YWF24pKaRsyESwfbiw7SduCWC0=:2i8ofWwxQOn2OttXpPLIkcM5JlJjJn1sK393ArS1IV4=
Sec-Fetch-Dest
	empty
Sec-Fetch-Mode
	cors
Sec-Fetch-Site
	same-origin
Sec-GPC
	1
TE
	trailers
User-Agent
	Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
X-Requested-With
	XMLHttpRequest

Configuration

Nextcloud

occ config:list system

{
    "system": {
        "one-click-instance": true,
        "one-click-instance.user-limit": 100,
        "memcache.local": "\\OC\\Memcache\\APCu",
        "apps_paths": [
            {
                "path": "\/var\/www\/html\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/www\/html\/custom_apps",
                "url": "\/custom_apps",
                "writable": true
            }
        ],
        "check_data_directory_permissions": false,
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "password": "***REMOVED SENSITIVE VALUE***",
            "port": 6379
        },
        "overwritehost": "cloud.apfel.wtf",
        "overwriteprotocol": "https",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost",
            "cloud.apfel.wtf"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "pgsql",
        "version": "31.0.5.1",
        "overwrite.cli.url": "https:\/\/cloud.apfel.wtf\/",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "maintenance": false,
        "updatedirectory": "\/nc-updater",
        "loglevel": 2,
        "app_install_overwrite": [
            "nextcloud-aio"
        ],
        "log_type": "file",
        "logfile": "\/var\/www\/html\/data\/nextcloud.log",
        "log_rotate_size": 10485760,
        "log.condition": {
            "apps": [
                "admin_audit"
            ]
        },
        "preview_max_x": 2048,
        "preview_max_y": 2048,
        "jpeg_quality": 60,
        "enabledPreviewProviders": {
            "1": "OC\\Preview\\Image",
            "2": "OC\\Preview\\MarkDown",
            "3": "OC\\Preview\\MP3",
            "4": "OC\\Preview\\TXT",
            "5": "OC\\Preview\\OpenDocument",
            "6": "OC\\Preview\\Movie",
            "7": "OC\\Preview\\Krita"
        },
        "enable_previews": true,
        "upgrade.disable-web": true,
        "mail_smtpmode": "smtp",
        "trashbin_retention_obligation": "auto, 30",
        "versions_retention_obligation": "auto, 30",
        "activity_expire_days": 30,
        "simpleSignUpLink.shown": false,
        "share_folder": "\/Shared",
        "one-click-instance.link": "https:\/\/nextcloud.com\/all-in-one\/",
        "upgrade.cli-upgrade-link": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/2726",
        "maintenance_window_start": 100,
        "allow_local_remote_servers": true,
        "davstorage.request_timeout": 3600,
        "documentation_url.server_logs": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/5425",
        "htaccess.RewriteBase": "\/",
        "dbpersistent": false,
        "auth.bruteforce.protection.enabled": true,
        "ratelimit.protection.enabled": true,
        "files_external_allow_create_new_local": false,
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "DOMAIN": "cloud.apfel.wtf"
    }
}

@pantry443 welcome to the communityforum of NC. Nice that you found your way here.

have you checked your hw if there’s enough space left on the harddisks?
or could it be possible that you are experiencing short dropouts of your network?

Hey,
Thanks for the quick reply!

At the moment, AIO is storing data inside a Docker volume with about 70 GB of free space. I also tested it using an SMB share with roughly 2 TB of available space, and encountered the same issue. I performed a full reset of Nextcloud AIO between the tests.

This leads me to believe the problem might be network-related. However, Pangolin is also proxying two game servers running on separate VMs on the same Proxmox host, and they work flawlessly — I can play without any dropouts, and friends can connect without issues.

How would you suggest I go about testing this further?

use search likely you will find similar issues. especially cloudflare it is known to brake things - review the options.

as always I would recommend you start simply without any custom options and extend once you have it working and know how to troubleshoot issues.

I have found my issue.
It was packet loss within my home network, around 20%.

Thank you for your help guys.

This topic was automatically closed 8 days after the last reply. New replies are no longer allowed.