alist
alist copied to clipboard
高压读写下频繁出现空指针报错导致程序崩溃
Please make sure of the following things
-
[X] I have read the documentation. 我已经阅读了文档。
-
[X] I'm sure there are no duplicate issues or discussions. 我确定没有重复的issue或讨论。
-
[X] I'm sure it's due to
AList
and not something else(such as Network ,Dependencies
orOperational
). 我确定是AList
的问题,而不是其他原因(例如网络,依赖
或操作
)。 -
[X] I'm sure this issue is not fixed in the latest version. 我确定这个问题在最新版本中没有被修复。
AList Version / AList 版本
3.30.0
Driver used / 使用的存储驱动
189家庭云
Describe the bug / 问题描述
我使用一个自动化的使用webdav的程序持续向alist提供的webdav中写入文件(30-50Mbps) alist不久后即报错崩溃。
Reproduction / 复现链接
没有具体复现步骤。 我以约30Mbps的速度写入大量零散小文件(每个大小都是几百B)
Config / 配置
默认配置文件。
Logs / 日志
INFO[2024-02-23 00:04:12] success load storage: [/BMCLAPI-Mirrors], driver: [189CloudPC] panic: runtime error: invalid memory address or nil pointer dereference [signal 0xc0000005 code=0x0 addr=0x0 pc=0x797174]
goroutine 635 [running]: github.com/alist-org/alist/v3/internal/op.Get({0x35996f0, 0xc00071a210}, {0x35a26a8?, 0xc000aa1400?}, {0xc000b011d0?, 0xca2cf1?}) /source/internal/op/fs.go:224 +0x735 github.com/alist-org/alist/v3/internal/op.GetUnwrap({0x35996f0?, 0xc00071a210?}, {0x35a26a8?, 0xc000aa1400?}, {0xc000b011d0?, 0x1?}) /source/internal/op/fs.go:233 +0x33 github.com/alist-org/alist/v3/internal/op.List({0x35996f0?, 0xc00071a210}, {0x35a26a8, 0xc000aa1400}, {0xc000b011d0, 0xc}, {{0xc000b011c0?, 0xc000addaa8?}, 0x3d?}, {0xc000adda9f, ...}) /source/internal/op/fs.go:116 +0x22d github.com/alist-org/alist/v3/internal/fs.list({0x35996f0, 0xc00071a210}, {0xc000b011c0, 0x1c}, 0xc000c6bbfe) /source/internal/fs/list.go:25 +0x1e5 github.com/alist-org/alist/v3/internal/fs.List({0x35996f0?, 0xc00071a210?}, {0xc000b011c0, 0x1c}, 0xc000c6bbfe) /source/internal/fs/fs.go:22 +0x3c github.com/alist-org/alist/v3/internal/fs.WalkFS({0x35996f0, 0xc0002db020}, 0x11, {0xc000b011c0, 0x1c}, {0x35a1a30, 0xc000f83c80}, 0xc000c6bd78) /source/internal/fs/walk.go:31 +0x189 github.com/alist-org/alist/v3/internal/search.BuildIndex({0x3599550?, 0x441ee80}, {0xc000abcd40?, 0x1, 0x1}, {0x441ee80?, 0x0, 0x0}, 0x0?, 0x0) /source/internal/search/build.go:149 +0x55e github.com/alist-org/alist/v3/internal/search.Update({0xc000902260, 0x19}, {0xc000a4ec00, 0xda, 0x79a872?}) /source/internal/search/build.go:223 +0xa5f github.com/alist-org/alist/v3/internal/op.List.func1.1({0xc000902260, 0x19}, {0xc000a4ec00, 0xda, 0x130}) /source/internal/op/fs.go:140 +0x59 created by github.com/alist-org/alist/v3/internal/op.List.func1 in goroutine 501 /source/internal/op/fs.go:138 +0x41b
Thanks for opening your first issue here! Be sure to follow the issue template!
我很确定我的电脑运行稳定、性能足够。 目前我唯一的workaround是用批处理一崩溃就启动 :1 alist.exe server goto 1
在包括但不限于批量上传文件(上传文件夹)、复制文件夹时都遇到过相同的问题
上传文件夹时报错
[GIN] 2024/02/28 - 13:44:24 | 200 | 18.917673ms | 49.7.252.105 | PUT "/api/fs/put"
[31m2024/02/28 13:44:24 [Recovery] 2024/02/28 - 13:44:24 panic recovered: runtime error: invalid memory address or nil pointer dereference /usr/local/go/src/runtime/panic.go:261 (0x45b777) /usr/local/go/src/runtime/signal_unix.go:861 (0x45b745) /usr/local/go/src/internal/bytealg/equal_amd64.s:111 (0x40e3d1) /source/internal/op/fs.go:224 (0x8ede34) /source/internal/op/fs.go:233 (0x8edff2) /source/internal/op/fs.go:511 (0x8f104e) /source/internal/fs/put.go:70 (0xd833b0) /source/internal/fs/fs.go:97 (0xd8148e) /source/server/handles/fsup.go:65 (0x17778b2) /go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174 (0x172f697) /source/server/middlewares/fsup.go:43 (0x172f57e) /go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174 (0x172e407) /source/server/middlewares/auth.go:73 (0x172e1e3) /go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174 (0x172ec65) /source/server/middlewares/check.go:14 (0x172ec53) /go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174 (0xd723f9) /go/pkg/mod/github.com/gin-gonic/[email protected]/recovery.go:102 (0xd723e7) /go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174 (0xd7159d) /go/pkg/mod/github.com/gin-gonic/[email protected]/logger.go:240 (0xd71560) /go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174 (0xd7065a) /go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:620 (0xd702ed) /go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:576 (0xd6fe1c) /usr/local/go/src/net/http/server.go:2938 (0x74b72d) /usr/local/go/src/net/http/server.go:2009 (0x747613) /usr/local/go/src/runtime/asm_amd64.s:1650 (0x47afe0
复制文件夹时报错
2024/02/28 14:46:26 error [runtime error: invalid memory address or nil pointer dereference] while run task [1w2sdQ5tP_VCFQjl8ECnI],stack t race: goroutine 34589 [running]: github.com/xhofe/tache.getCurrentGoroutineStack(...) /go/pkg/mod/github.com/xhofe/[email protected]/utils.go:22 github.com/xhofe/tache.Worker[...].Execute.func2() /go/pkg/mod/github.com/xhofe/[email protected]/worker.go:41 +0xa5 panic({0x1aac300?, 0x4051ce0?}) /usr/local/go/src/runtime/panic.go:914 +0x21f github.com/alist-org/alist/v3/internal/op.Get({0x320d728, 0xc000fc3950}, {0x3216e80?, 0xc0002f2180?}, {0xc001e382c0?, 0x1?}) /source/internal/op/fs.go:224 +0x735 github.com/alist-org/alist/v3/internal/op.GetUnwrap({0x320d728?, 0xc000fc3950?}, {0x3216e80?, 0xc0002f2180?}, {0xc001e382c0?, 0x0?}) /source/internal/op/fs.go:233 +0x33 github.com/alist-org/alist/v3/internal/op.Put({0x320d728, 0xc000fc3950}, {0x3216e80, 0xc0002f2180}, {0xc000fda600, 0x2a}, {0x3221050?, 0xc0 020ae000?}, 0xc001ed02d0, {0xc00187dc1f, ...}) /source/internal/op/fs.go:511 +0x2ef github.com/alist-org/alist/v3/internal/fs.copyFileBetween2Storages(0xc000fd8bb0, {0x32171f0, 0xc000270000}, {0x3216e80, 0xc0002f2180}, {0xc 000fd6b00, 0x36}, {0xc000fda600, 0x2a}) /source/internal/fs/copy.go:142 +0x585 github.com/alist-org/alist/v3/internal/fs.copyBetween2Storages(0xc000fd8bb0, {0x32171f0?, 0xc000270000}, {0x3216e80?, 0xc0002f2180}, {0xc00 0fd6b00, 0x36}, {0xc000fda600, 0x2a}) /source/internal/fs/copy.go:119 +0x3c5 github.com/alist-org/alist/v3/internal/fs.(*CopyTask).Run(0x0?) /source/internal/fs/copy.go:35 +0x45 github.com/xhofe/tache.Worker[...].Execute(0x3210e80?, 0xc000fd8bb0) /go/pkg/mod/github.com/xhofe/[email protected]/worker.go:46 +0x12a github.com/xhofe/tache.(*Manager[...]).next.func1() /go/pkg/mod/github.com/xhofe/[email protected]/manager.go:133 +0x24b created by github.com/xhofe/tache.(*Manager[...]).next in goroutine 34597 /go/pkg/mod/github.com/xhofe/[email protected]/manager.go:114 +0x230
并且上传失败后无法自动/手动重新上传导致确认文件上传成功变成很麻烦的一件事。
我也发现了,频繁死机
先context deadline exceeded (Client.Timeout exceeded while awaiting headers)
然后重试直接panic: runtime error: invalid memory address or nil pointer dereference
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Hello @, this issue was closed due to inactive more than 52 days. You can reopen or recreate it if you think it should continue. Thank you for your contributions again.