Skip to content

[BUG] 115开放平台PROPFIND文件夹时随机性报错 #2043

@zqxcm

Description

@zqxcm

请确认以下事项

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

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

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

  • 我已确认阅读了OpenList文档

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

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

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

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

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

OpenList 版本(必填)

v4.1.9 (Commit: 8742344)

使用的存储驱动(必填)

115开放平台

问题描述(必填)

115开放平台PROPFIND文件夹时随机性报错。
从日志中可以看到在List "/115/照片视频备份/immich备份/immich_external_library/2021-7-4小麦岛草地音乐"时报错了。我通过rclone脚本每天晚上备份到115网盘,有以下发现:
1、报错的文件夹是随机的。
2、“2021-7-4小麦岛草地音乐”这个文件夹只有44个文件,可以排除文件数量过多的影响。
3、rclone脚本已经做了优化,经过观察不会触发115风控。且通过日志观察当前的文件夹报错后, 后面的文件夹执行正常,也可以说明没有触发115风控。

rclone脚本:
/usr/bin/rclone copy /mnt/mergerfs/immich_photos/immich_external_library/ openlist:/115/照片视频备份/immich备份/immich_external_library -P --stats 60s -vv --transfers 1 --checksum --low-level-retries 2 --retries 3 --timeout 60m --retries-sleep 8m --contimeout 10m --checkers=1 --tpslimit=1 --tpslimit-burst=1 --check-first

日志(必填)

GIN] 2026/01/28 - 20:00:20 | 207 | 18.990321094s | 192.168.1.201 | PROPFIND "/dav/115/照片视频备份/immich备份/immich_external_library"
[GIN] 2026/01/28 - 20:00:20 | 207 | 1.307397ms | 192.168.1.201 | PROPFIND "/dav/115/照片视频备份/immich备份/immich_external_library/"
[GIN] 2026/01/28 - 20:00:21 | 207 | 231.384502ms | 192.168.1.201 | PROPFIND "/dav/115/照片视频备份/immich备份/immich_external_library/2021-10-4九仙山羊腿/"
[GIN] 2026/01/28 - 20:00:23 | 207 | 851.297196ms | 192.168.1.201 | PROPFIND "/dav/115/照片视频备份/immich备份/immich_external_library/2021-12-25雪后小麦岛/"
[GIN] 2026/01/28 - 20:00:23 | 207 | 246.515862ms | 192.168.1.201 | PROPFIND "/dav/115/照片视频备份/immich备份/immich_external_library/2021-6新疆溜达/"
ERRO[2026-01-28 20:00:38] fs/list: code: 0, message:
failed to list objs
github.com/OpenListTeam/OpenList/v4/internal/op.list.func1
/home/runner/work/OpenList/OpenList/internal/op/fs.go:62
github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).doCall.func2
/home/runner/work/OpenList/OpenList/pkg/singleflight/singleflight.go:198
github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).doCall
/home/runner/work/OpenList/OpenList/pkg/singleflight/singleflight.go:200
github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).Do
/home/runner/work/OpenList/OpenList/pkg/singleflight/singleflight.go:113
github.com/OpenListTeam/OpenList/v4/internal/op.list
/home/runner/work/OpenList/OpenList/internal/op/fs.go:51
github.com/OpenListTeam/OpenList/v4/internal/op.List
/home/runner/work/OpenList/OpenList/internal/op/fs.go:27
github.com/OpenListTeam/OpenList/v4/internal/fs.list
/home/runner/work/OpenList/OpenList/internal/fs/list.go:26
github.com/OpenListTeam/OpenList/v4/internal/fs.List
/home/runner/work/OpenList/OpenList/internal/fs/fs.go:28
github.com/OpenListTeam/OpenList/v4/server/webdav.walkFS
/home/runner/work/OpenList/OpenList/server/webdav/file.go:96
github.com/OpenListTeam/OpenList/v4/server/webdav.(*Handler).handlePropfind
/home/runner/work/OpenList/OpenList/server/webdav/webdav.go:711
github.com/OpenListTeam/OpenList/v4/server/webdav.(*Handler).ServeHTTP
/home/runner/work/OpenList/OpenList/server/webdav/webdav.go:83
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/[email protected]/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/[email protected]/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/[email protected]/context.go:185
github.com/gin-gonic/gin.CustomRecoveryWithWriter.func1
/home/runner/go/pkg/mod/github.com/gin-gonic/[email protected]/recovery.go:102
github.com/gin-gonic/gin.(*Context).Next
/home/runner/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:185
github.com/gin-gonic/gin.LoggerWithConfig.func1
/home/runner/go/pkg/mod/github.com/gin-gonic/[email protected]/logger.go:249
github.com/gin-gonic/gin.(*Context).Next
/home/runner/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:185
github.com/gin-gonic/gin.(*Engine).handleHTTPRequest
/home/runner/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:644
github.com/gin-gonic/gin.(*Engine).ServeHTTP
/home/runner/go/pkg/mod/github.com/gin-gonic/[email protected]/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-01-28 20:00:38] failed list /115/照片视频备份/immich备份/immich_external_library/2021-7-4小麦岛草地音乐: code: 0, message:
failed to list objs
github.com/OpenListTeam/OpenList/v4/internal/op.list.func1
/home/runner/work/OpenList/OpenList/internal/op/fs.go:62
github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).doCall.func2
/home/runner/work/OpenList/OpenList/pkg/singleflight/singleflight.go:198
github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).doCall
/home/runner/work/OpenList/OpenList/pkg/singleflight/singleflight.go:200
github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).Do
/home/runner/work/OpenList/OpenList/pkg/singleflight/singleflight.go:113
github.com/OpenListTeam/OpenList/v4/internal/op.list
/home/runner/work/OpenList/OpenList/internal/op/fs.go:51
github.com/OpenListTeam/OpenList/v4/internal/op.List
/home/runner/work/OpenList/OpenList/internal/op/fs.go:27
github.com/OpenListTeam/OpenList/v4/internal/fs.list
/home/runner/work/OpenList/OpenList/internal/fs/list.go:26
github.com/OpenListTeam/OpenList/v4/internal/fs.List
/home/runner/work/OpenList/OpenList/internal/fs/fs.go:28
github.com/OpenListTeam/OpenList/v4/server/webdav.walkFS
/home/runner/work/OpenList/OpenList/server/webdav/file.go:96
github.com/OpenListTeam/OpenList/v4/server/webdav.(*Handler).handlePropfind
/home/runner/work/OpenList/OpenList/server/webdav/webdav.go:711
github.com/OpenListTeam/OpenList/v4/server/webdav.(*Handler).ServeHTTP
/home/runner/work/OpenList/OpenList/server/webdav/webdav.go:83
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/[email protected]/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/[email protected]/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/[email protected]/context.go:185
github.com/gin-gonic/gin.CustomRecoveryWithWriter.func1
/home/runner/go/pkg/mod/github.com/gin-gonic/[email protected]/recovery.go:102
github.com/gin-gonic/gin.(*Context).Next
/home/runner/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:185
github.com/gin-gonic/gin.LoggerWithConfig.func1
/home/runner/go/pkg/mod/github.com/gin-gonic/[email protected]/logger.go:249
github.com/gin-gonic/gin.(*Context).Next
/home/runner/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:185
github.com/gin-gonic/gin.(*Engine).handleHTTPRequest
/home/runner/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:644
github.com/gin-gonic/gin.(*Engine).ServeHTTP
/home/runner/go/pkg/mod/github.com/gin-gonic/[email protected]/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
failed get objs
ERRO[2026-01-28 20:00:38] PROPFIND /dav/115/照片视频备份/immich备份/immich_external_library/2021-7-4小麦岛草地音乐/ code: 0, message:
failed to list objs
github.com/OpenListTeam/OpenList/v4/internal/op.list.func1
/home/runner/work/OpenList/OpenList/internal/op/fs.go:62
github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).doCall.func2
/home/runner/work/OpenList/OpenList/pkg/singleflight/singleflight.go:198
github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).doCall
/home/runner/work/OpenList/OpenList/pkg/singleflight/singleflight.go:200
github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).Do
/home/runner/work/OpenList/OpenList/pkg/singleflight/singleflight.go:113
github.com/OpenListTeam/OpenList/v4/internal/op.list
/home/runner/work/OpenList/OpenList/internal/op/fs.go:51
github.com/OpenListTeam/OpenList/v4/internal/op.List
/home/runner/work/OpenList/OpenList/internal/op/fs.go:27
github.com/OpenListTeam/OpenList/v4/internal/fs.list
/home/runner/work/OpenList/OpenList/internal/fs/list.go:26
github.com/OpenListTeam/OpenList/v4/internal/fs.List
/home/runner/work/OpenList/OpenList/internal/fs/fs.go:28
github.com/OpenListTeam/OpenList/v4/server/webdav.walkFS
/home/runner/work/OpenList/OpenList/server/webdav/file.go:96
github.com/OpenListTeam/OpenList/v4/server/webdav.(*Handler).handlePropfind
/home/runner/work/OpenList/OpenList/server/webdav/webdav.go:711
github.com/OpenListTeam/OpenList/v4/server/webdav.(*Handler).ServeHTTP
/home/runner/work/OpenList/OpenList/server/webdav/webdav.go:83
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/[email protected]/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/[email protected]/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/[email protected]/context.go:185
github.com/gin-gonic/gin.CustomRecoveryWithWriter.func1
/home/runner/go/pkg/mod/github.com/gin-gonic/[email protected]/recovery.go:102
github.com/gin-gonic/gin.(*Context).Next
/home/runner/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:185
github.com/gin-gonic/gin.LoggerWithConfig.func1
/home/runner/go/pkg/mod/github.com/gin-gonic/[email protected]/logger.go:249
github.com/gin-gonic/gin.(*Context).Next
/home/runner/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:185
github.com/gin-gonic/gin.(*Engine).handleHTTPRequest
/home/runner/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:644
github.com/gin-gonic/gin.(*Engine).ServeHTTP
/home/runner/go/pkg/mod/github.com/gin-gonic/[email protected]/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
failed get objs
[GIN] 2026/01/28 - 20:00:38 | 404 | 14.159728998s | 192.168.1.201 | PROPFIND "/dav/115/照片视频备份/immich备份/immich_external_library/2021-7-4小麦岛草地音乐/"
[GIN] 2026/01/28 - 20:00:38 | 207 | 318.214343ms | 192.168.1.201 | PROPFIND "/dav/115/照片视频备份/immich备份/immich_external_library/2021-7太平角公园日落溜达/"
[GIN] 2026/01/28 - 20:00:40 | 207 | 487.001422ms | 192.168.1.201 | PROPFIND "/dav/115/照片视频备份/immich备份/immich_external_library/2021-8-15琅玡台露营/"

配置文件内容(必填)

{
"force": false,
"site_url": "",
"cdn": "",
"jwt_secret": "xxxxxxxxxxxxxxx",
"token_expires_in": 48,
"database": {
"type": "sqlite3",
"host": "",
"port": 0,
"user": "",
"password": "",
"name": "",
"db_file": "data/data.db",
"table_prefix": "x_",
"ssl_mode": "",
"dsn": ""
},
"meilisearch": {
"host": "http://localhost:7700",
"api_key": "",
"index": "openlist"
},
"scheme": {
"address": "0.0.0.0",
"http_port": 5244,
"https_port": -1,
"force_https": false,
"cert_file": "",
"key_file": "",
"unix_file": "",
"unix_file_perm": "",
"enable_h2c": false,
"enable_h3": false
},
"temp_dir": "data/temp",
"bleve_dir": "data/bleve",
"dist_dir": "",
"log": {
"enable": true,
"name": "data/log/log.log",
"max_size": 50,
"max_backups": 30,
"max_age": 28,
"compress": false,
"filter": {
"enable": false,
"filters": [
{
"cidr": "",
"path": "/ping",
"method": ""
},
{
"cidr": "",
"path": "",
"method": "HEAD"
},
{
"cidr": "",
"path": "/dav/",
"method": "PROPFIND"
}
]
}
},
"delayed_start": 0,
"max_buffer_limitMB": -1,
"mmap_thresholdMB": 4,
"max_connections": 0,
"max_concurrency": 64,
"tls_insecure_skip_verify": true,
"tasks": {
"download": {
"workers": 5,
"max_retry": 1,
"task_persistant": false
},
"transfer": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"upload": {
"workers": 5,
"max_retry": 0,
"task_persistant": false
},
"copy": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"move": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"decompress": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"decompress_upload": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"allow_retry_canceled": false
},
"cors": {
"allow_origins": [
""
],
"allow_methods": [
"
"
],
"allow_headers": [
"*"
]
},
"s3": {
"enable": false,
"port": 5246,
"ssl": false
},
"ftp": {
"enable": false,
"listen": ":5221",
"find_pasv_port_attempts": 50,
"active_transfer_port_non_20": false,
"idle_timeout": 900,
"connection_timeout": 30,
"disable_active_mode": false,
"default_transfer_binary": false,
"enable_active_conn_ip_check": true,
"enable_pasv_conn_ip_check": true
},
"sftp": {
"enable": false,
"listen": ":5222"
},
"last_launched_version": "v4.1.9",
"proxy_address": ""

复现链接(可选)

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions