Skip to content

[BUG] crypt指向的目标路径失效时会导致重启,并且无法进入存储管理界面 #1702

@Lyviecs

Description

@Lyviecs

请确认以下事项

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

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

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

  • 我已确认阅读了OpenList文档

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

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

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

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

OpenList 版本(必填)

v4.1.7

使用的存储驱动(必填)

crypt

问题描述(必填)

因为网络原因,我短暂失去了与夸克网盘的连接,这导致先前设置的crypt驱动指向了一个空目标
开始没有意识到原因
后来网络恢复后我发现openlist主页面加载非常慢,怀疑还是因为网络原因,导致从网盘获取详细信息延迟过高
因此逐个关闭了多个云盘来测试加载速度
不经意间,在夸克网盘驱动未开启的情况下点击了crypt驱动的启用按钮
然后复现了最初无限重启的错误
现在我可以进入管理界面,但是不能进入主界面和存储管理界面,所以我失去了对openlist的访问

日志(必填)

openlist | panic: runtime error: invalid memory address or nil pointer dereference
openlist |
openlist | runtime/debug.Stack()
openlist | /opt/hostedtoolcache/go/1.25.0/x64/src/runtime/debug/stack.go:26 +0x64
openlist | github.com/OpenListTeam/OpenList/v4/pkg/singleflight.newPanicError({0x235c180, 0x81c8450})
openlist | /home/runner/work/OpenList/OpenList/pkg/singleflight/singleflight.go:44 +0x24
openlist | github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).doCall.func2.1()
openlist | /home/runner/work/OpenList/OpenList/pkg/singleflight/singleflight.go:193 +0x3c
openlist | panic({0x235c180?, 0x81c8450?})
openlist | /opt/hostedtoolcache/go/1.25.0/x64/src/runtime/panic.go:783 +0x120
openlist | github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageDetails({0x6bf62d8, 0x40006649a0}, {0x0, 0x0}, {0x0, 0x0, 0x5?})
openlist | /home/runner/work/OpenList/OpenList/internal/op/storage.go:451 +0x38
openlist | github.com/OpenListTeam/OpenList/v4/drivers/crypt.(*Crypt).GetDetails(0x400073fc68?, {0x6bf62d8?, 0x40006649a0?})
openlist | /home/runner/work/OpenList/OpenList/drivers/crypt/driver.go:415 +0x40
openlist | github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageDetails.func1()
openlist | /home/runner/work/OpenList/OpenList/internal/op/storage.go:464 +0x34
openlist | github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).doCall.func2(0x4000142d70, 0x8af2cae84fbd5a68, 0x41afac?)
openlist | /home/runner/work/OpenList/OpenList/pkg/singleflight/singleflight.go:198 +0x54
openlist | github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).doCall(0x4000805590?, 0x4000aad940?, {0x4000aad940?, 0x4000a14300?}, 0x6c1cda0?)
openlist | /home/runner/work/OpenList/OpenList/pkg/singleflight/singleflight.go:200 +0x80
openlist | github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).Do(0x6c241c0, {0x4000aad940, 0x7}, 0x400073fda8)
openlist | /home/runner/work/OpenList/OpenList/pkg/singleflight/singleflight.go:113 +0x1b8
openlist | github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageDetails({0x6bf62d8, 0x40006649a0}, {0x6c05758, 0x4000b48000}, {0x400073fe77, 0x1, 0x0?})
openlist | /home/runner/work/OpenList/OpenList/internal/op/storage.go:463 +0x280
openlist | github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageVirtualFilesWithDetailsByPath.func1({0x6c05758, 0x4000b48000}, {0x6c038d8, 0x4000a93880})
openlist | /home/runner/work/OpenList/OpenList/internal/op/storage.go:363 +0x158
openlist | github.com/OpenListTeam/OpenList/v4/internal/op.getStorageVirtualFilesByPath.func2()
openlist | /home/runner/work/OpenList/OpenList/internal/op/storage.go:410 +0x7c
openlist | created by github.com/OpenListTeam/OpenList/v4/internal/op.getStorageVirtualFilesByPath in goroutine 103
openlist | /home/runner/work/OpenList/OpenList/internal/op/storage.go:408 +0x564
openlist |
openlist |
openlist | goroutine 106 [running]:
openlist | github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).doCall.func1()
openlist | /home/runner/work/OpenList/OpenList/pkg/singleflight/singleflight.go:170 +0x298
openlist | github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).doCall(0x4000805590?, 0x4000aad940?, {0x4000aad940?, 0x4000a14300?}, 0x6c1cda0?)
openlist | /home/runner/work/OpenList/OpenList/pkg/singleflight/singleflight.go:205 +0xa0
openlist | github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).Do(0x6c241c0, {0x4000aad940, 0x7}, 0x400073fda8)
openlist | /home/runner/work/OpenList/OpenList/pkg/singleflight/singleflight.go:113 +0x1b8
openlist | github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageDetails({0x6bf62d8, 0x40006649a0}, {0x6c05758, 0x4000b48000}, {0x400073fe77, 0x1, 0x0?})
openlist | /home/runner/work/OpenList/OpenList/internal/op/storage.go:463 +0x280
openlist | github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageVirtualFilesWithDetailsByPath.func1({0x6c05758, 0x4000b48000}, {0x6c038d8, 0x4000a93880})
openlist | /home/runner/work/OpenList/OpenList/internal/op/storage.go:363 +0x158
openlist | github.com/OpenListTeam/OpenList/v4/internal/op.getStorageVirtualFilesByPath.func2()
openlist | /home/runner/work/OpenList/OpenList/internal/op/storage.go:410 +0x7c
openlist | created by github.com/OpenListTeam/OpenList/v4/internal/op.getStorageVirtualFilesByPath in goroutine 103
openlist | /home/runner/work/OpenList/OpenList/internal/op/storage.go:408 +0x564
openlist exited with code 2

配置文件内容(必填)

尝试删除配置文件config无效,现在是自动生成的默认配置

复现链接(可选)

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