[BUG] 115 驱动分片上传丢弃 errCh 真实错误,导致 nil 指针 panic / WebDAV 405
Maintainer thường phản hồi trong vòng 3 ngày
@Suyunmeng đang làm issue này rồi.
Từ ngày 27/10/2026.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 74/100
Hướng nghiên cứu
Bắt đầu tại drivers/115/util.go, ở chỗ nhận từ errCh trong UploadByMultipart, sau đó đọc hàm gọi trong drivers/115/driver.go quanh dòng 224 để hiểu kết quả của nó được sử dụng như thế nào. Kiểm tra các bài kiểm thử upload liên quan và bổ sung kiểm thử để bảo đảm lỗi chunk đến được bên gọi; hoàn tất khi lỗi thực tế được trả về mà kết quả nil không gây panic.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
请确认以下事项
- 我已确认阅读并同意 AGPL-3.0 第15条 。
本程序不提供任何明示或暗示的担保,使用风险由您自行承担。 - 我已确认阅读并同意 AGPL-3.0 第16条 。
无论何种情况,版权持有人或其他分发者均不对使用本程序所造成的任何损失承担责任。 - 我确认我的描述清晰,语法礼貌,能帮助开发者快速定位问题,并符合社区规则。
- 我已确认阅读了OpenList文档。
- 我已确认没有重复的问题或讨论。
- 我已确认是
OpenList的问题,而不是其他原因(例如 网络 ,依赖或操作)。 - 我认为此问题必须由
OpenList处理,而非第三方。 - 我已确认这个问题在最新版本中没有被修复。
- 我没有阅读这个清单,只是闭眼选中了所有的复选框,请关闭这个 Issue 。
OpenList 版本(必填)
v4.2.7
使用的存储驱动(必填)
115
问题描述(必填)
WebDAV PUT 上传约 5GB 文件,115 驱动分片上传(UploadByMultipart)在约 51 分钟时失败:一次 500 + Go panic,一次 405。
根因(drivers/115/util.go):
case <-errCh: return nil, err
该分支丢弃了 errCh 里的真实分片错误,而 err 是外层 nil——返回 nil 错误 + nil 结果。Put(driver.go:224)对 nil 的 uploadResult.Data.FileID 取值 → panic → 500。第二次正常返回错误,被 WebDAV 层一刀切映射为 405(server/webdav/webdav.go 有 TODO)。
时间吻合:驱动每 50 分钟刷新 OSS token,两次失败都卡在 ~51 分钟。对照:同一文件走单片 OSS 上传一次成功,与文件本身无关。
PR #2892 已把该行列为 pre-existing and left alone,至今未修。建议修复:case e := <-errCh: return nil, e。
日志(必填)
2026/10/16 05:42:27 [Recovery] panic recovered:
runtime error: invalid memory address or nil pointer dereference
/home/runner/work/OpenList/OpenList/drivers/115/driver.go:224 (0x18164ee)
/home/runner/work/OpenList/OpenList/server/webdav/webdav.go:427 (0x1cc949e)
14:27:35 同样 panic,同样定位 driver.go:224。对应 PUT ... 500 | 51m0s 和 PUT ... 405 | 50m50s。
配置文件内容(必填)
{"mount_path": "/", "driver": "115 Cloud",
"addition": {"cookie": "<redacted>", "page_size": 1000, "limit_rate": 10000, "root_folder_id": "0"}}
复现链接(可选)
No response
AI生成内容
- 我使用了AI工具生成此内容
- 我没有使用AI工具生成此内容
AI模型是
Muse
- Ngôn ngữ chính
- Go
- Star
- 25.3k
- Fork
- 2.4k
- Merge trung bình
- 3 ngày 1 giờ
- Pull request đã merge (30 ngày)
- 30
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của OpenListTeam/OpenList
-
[BUG] PikPak 上传 no such host:OSS endpoint 落在 .net 侧(无任何 DNS 记录),附取证与已验证修法Có thể đã có người làm @adsf0427 đã nhận 18 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
OpenListTeam/OpenList#2986 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 3 ngày
-
[BUG] 解绑 SSO/OIDC 账号后重新登录报错:UNIQUE constraint failed: x_users.username (2067)Có thể đã có người làm @Suyunmeng đã nhận 5 ngày trước. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
OpenListTeam/OpenList#2872 · 2 bình luận · 2 reaction ·
Maintainer thường phản hồi trong vòng 3 ngày
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
OpenListTeam/OpenList#3334 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
OpenListTeam/OpenList#3329 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 54/100
OpenListTeam/OpenList#3328 ·
Maintainer thường phản hồi trong vòng 3 ngày
Tất cả issue của OpenListTeam/OpenList
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
lognorman20/monaco#7428 ·
-
docs(prompts): IF BLOCKED workflow-scope branch says to comment on the issue on jira/local trackersĐang mởagent-butler-finding bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
jordansmall/spindrift#6238 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug: microcks test get swallows test failure details and operation results in text output modeĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
microcks/microcks-cli#608 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug from-studio
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
esengine/DeepSeek-Reasonix#14868 ·
Maintainer thường phản hồi trong vòng 1 ngày