OpenListTeam / OpenListTeam/OpenList

[BUG] 使用群晖备份天翼云盘webdav在上传到10g左右就会报错失败(账号已开通会员)

Open
#2,180 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Go
Stars
24.7k
Forks
2.3k
Avg merge
1d 20h
Merged PRs (30d)
36

Description

请确认以下事项
  • 我已确认阅读并同意 AGPL-3.0 第15条
    本程序不提供任何明示或暗示的担保,使用风险由您自行承担。

  • 我已确认阅读并同意 AGPL-3.0 第16条
    无论何种情况,版权持有人或其他分发者均不对使用本程序所造成的任何损失承担责任。

  • 我确认我的描述清晰,语法礼貌,能帮助开发者快速定位问题,并符合社区规则。

  • 我已确认阅读了OpenList文档

  • 我已确认没有重复的问题或讨论。

  • 我已确认是OpenList的问题,而不是其他原因(例如 网络依赖操作)。

  • 我认为此问题必须由OpenList处理,而非第三方。

  • 我已确认这个问题在最新版本中没有被修复。

  • 我没有阅读这个清单,只是闭眼选中了所有的复选框,请关闭这个 Issue 。

OpenList 版本(必填)

v4.1.10 (Commit: e3c664f) - Frontend: v4.1.10 - Build at: 2026-01-31 08:59

使用的存储驱动(必填)

天翼云盘客户端

问题描述(必填)

使用群晖备份天翼云盘webdav在上传到10g左右就会报错失败(账号已开通会员)
使用的是天翼客户端驱动,已经尝试本地代理仪器302转发方式,一样的表现。

日志(必填)
	/home/runner/work/OpenList/OpenList/server/middlewares/limit.go:28
github.com/gin-gonic/gin.(*Context).Next
	/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/context.go:185
github.com/OpenListTeam/OpenList/v4/server.WebDAVAuth
	/home/runner/work/OpenList/OpenList/server/webdav.go:146
github.com/gin-gonic/gin.(*Context).Next
	/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/context.go:185
github.com/OpenListTeam/OpenList/v4/server/middlewares.StoragesLoaded
	/home/runner/work/OpenList/OpenList/server/middlewares/check.go:35
github.com/gin-gonic/gin.(*Context).Next
	/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/context.go:185
github.com/gin-gonic/gin.CustomRecoveryWithWriter.func1
	/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/recovery.go:102
github.com/gin-gonic/gin.(*Context).Next
	/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/context.go:185
github.com/gin-gonic/gin.LoggerWithConfig.func1
	/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/logger.go:249
github.com/gin-gonic/gin.(*Context).Next
	/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/context.go:185
github.com/gin-gonic/gin.(*Engine).handleHTTPRequest
	/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/gin.go:644
github.com/gin-gonic/gin.(*Engine).ServeHTTP
	/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/gin.go:600
net/http.serverHandler.ServeHTTP
	/opt/hostedtoolcache/go/1.25.0/x64/src/net/http/server.go:3340
net/http.(*conn).serve
	/opt/hostedtoolcache/go/1.25.0/x64/src/net/http/server.go:2109
runtime.goexit
	/opt/hostedtoolcache/go/1.25.0/x64/src/runtime/asm_amd64.s:1693 
ERRO[2026-03-02 13:08:31] PUT /dav/189/N5.hbk/Pool/0/16/1595.index.615 All attempts fail:
#1: code: InvalidArgument ,msg: sessionKey=94d38041-e4ee-497c-aad6-bcf08c762590, uploadFileId= is null! requestId=68afa245-0609-4e89-bb5e-cbcad71e1bf4
#2: code: InvalidArgument ,msg: sessionKey=94d38041-e4ee-497c-aad6-bcf08c762590, uploadFileId= is null! requestId=5d26079e-bd73-44e4-ba51-4e0441880682
#3: code: InvalidArgument ,msg: sessionKey=94d38041-e4ee-497c-aad6-bcf08c762590, uploadFileId= is null! requestId=e16b530c-43ba-4649-9f63-57bd280ed5e3
github.com/OpenListTeam/OpenList/v4/internal/op.Put
	/home/runner/work/OpenList/OpenList/internal/op/fs.go:709
github.com/OpenListTeam/OpenList/v4/internal/fs.putDirectly
	/home/runner/work/OpenList/OpenList/internal/fs/put.go:110
github.com/OpenListTeam/OpenList/v4/internal/fs.PutDirectly
	/home/runner/work/OpenList/OpenList/internal/fs/fs.go:112
github.com/OpenListTeam/OpenList/v4/server/webdav.(*Handler).handlePut
	/home/runner/work/OpenList/OpenList/server/webdav/webdav.go:374
github.com/OpenListTeam/OpenList/v4/server/webdav.(*Handler).ServeHTTP
	/home/runner/work/OpenList/OpenList/server/webdav/webdav.go:73
github.com/OpenListTeam/OpenList/v4/server.ServeWebDAV
	/home/runner/work/OpenList/OpenList/server/webdav.go:47
github.com/gin-gonic/gin.(*Context).Next
	/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/context.go:185
github.com/OpenListTeam/OpenList/v4/server.WebDav
DownloadRateLimiter.func3
	/home/runner/work/OpenList/OpenList/server/middlewares/limit.go:51
github.com/gin-gonic/gin.(*Context).Next
	/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/context.go:185
github.com/OpenListTeam/OpenList/v4/server.WebDav.UploadRateLimiter.func2
	/home/runner/work/OpenList/OpenList/server/middlewares/limit.go:28
github.com/gin-gonic/gin.(*Context).Next
	/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/context.go:185
github.com/OpenListTeam/OpenList/v4/server.WebDAVAuth
	/home/runner/work/OpenList/OpenList/server/webdav.go:146
github.com/gin-gonic/gin.(*Context).Next
	/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/context.go:185
github.com/OpenListTeam/OpenList/v4/server/middlewares.StoragesLoaded
	/home/runner/work/OpenList/OpenList/server/middlewares/check.go:35
github.com/gin-gonic/gin.(*Context).Next
	/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/context.go:185
github.com/gin-gonic/gin.CustomRecoveryWithWriter.func1
	/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/recovery.go:102
github.com/gin-gonic/gin.(*Context).Next
	/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/context.go:185
github.com/gin-gonic/gin.LoggerWithConfig.func1
	/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/logger.go:249
github.com/gin-gonic/gin.(*Context).Next
	/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/context.go:185
github.com/gin-gonic/gin.(*Engine).handleHTTPRequest
	/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/gin.go:644
github.com/gin-gonic/gin.(*Engine).ServeHTTP
	/home/runner/go/pkg/mod/github.com/gin-gonic/gin@v1.10.1/gin.go:600
net/http.serverHandler.ServeHTTP
	/opt/hostedtoolcache/go/1.25.0/x64/src/net/http/server.go:3340
net/http.(*conn).serve
	/opt/hostedtoolcache/go/1.25.0/x64/src/net/http/server.go:2109
runtime.goexit
	/opt/hostedtoolcache/go/1.25.0/x64/src/runtime/asm_amd64.s:1693 
[GIN] 2026/03/02 - 13:08:31 | 405 | 15.319028119s | 192.168.195.133 | PUT      "/dav/189/N5.hbk/Pool/0/16/1595.index.615"
[GIN] 2026/03/02 - 13:08:31 | 207 |  611.935421ms | 192.168.195.133 | PROPFIND  "/dav/189/N5.hbk/Pool/0/16"
[GIN] 2026/03/02 - 13:08:35 | 204 |  2.567374098s | 192.168.195.133 | DELETE   "/dav/189/N5.hbk/Control/lock/lock_keep_alive.@writer_version_0.fadd5daf-3a10-4baf-a51f-529fffa647be"
[GIN] 2026/03/02 - 13:09:32 | 401 |     126.556µs | 192.168.195.133 | PROPFIND  "/dav/"
[GIN] 2026/03/02 - 13:09:32 | 207 |     326.666µs | 192.168.195.133 | PROPFIND  "/dav/"
[GIN] 2026/03/02 - 13:09:32 | 207 |  354.916373ms | 192.168.195.133 | PROPFIND  
配置文件内容(必填)

默认配置文件,添加客户端驱动,填入用户名,密码刷新令牌,缓存时间设置为0,webdav策略设置成302重定向或者本地代理。

复现链接(可选)

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the failing WebDAV PUT from server/webdav/webdav.go through internal/fs/put.go and internal/op/fs.go, using the reported Tianyi Cloud upload error as the starting case. Reproduce an upload of about 10 GB and determine where uploadFileId becomes null; done means the large upload completes without the InvalidArgument failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.