Skip to content

[BUG] 出现空指针错误 #2467

@Xtnayue

Description

@Xtnayue

请确认以下事项

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

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

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

  • 我已确认阅读了OpenList文档

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

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

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

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

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

OpenList 版本(必填)

4.2.1

使用的存储驱动(必填)

thunder

问题描述(必填)

空指针了,导致程序直接退出。

/drivers/thunder/types.go:64

func (t *TokenResp) Token() string {
if t == nil {
return ""
}
return fmt.Sprint(t.TokenType, " ", t.AccessToken)
}

日志(必填)

2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]:
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: runtime/debug.Stack()
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: runtime/debug/stack.go:26 +0x5e
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/pkg/singleflight.newPanicError({0x73bc920, 0x79f91a0})
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/pkg/singleflight/singleflight.go:44 +0x25
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).doCall.func2.1()
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/pkg/singleflight/singleflight.go:193 +0x2f
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: panic({0x73bc920?, 0x79f91a0?})
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: runtime/panic.go:860 +0x13a
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/drivers/thunder.(*TokenResp).Token(...)
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/drivers/thunder/types.go:64
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/drivers/thunder.(*XunLeiCommon).Request.func1(0x26b9bc846b40)
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/drivers/thunder/driver.go:526 +0xc4
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/drivers/thunder.(*Common).Request(0x26b9bc8c4000, {0x26e820b, 0x29}, {0x26
59959, 0x3}, 0x26b9bc28ec18, {0x720d800, 0x26b9bba5a0a0})
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/drivers/thunder/util.go:179 +0x512
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/drivers/thunder.(*XunLeiCommon).Request(0x26b9bba7c5e0, {0x26e820b, 0x29},
{0x2659959, 0x3}, 0x26b9bc28ec90, {0x720d800, 0x26b9bba5a0a0})
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/drivers/thunder/driver.go:524 +0x6c
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/drivers/thunder.(*XunLeiCommon).GetDetails(0x26b9bba7c5e0, {0x788eed8, 0x2
6b9bc948d20})
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/drivers/thunder/driver.go:438 +0x95
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageDetails.func1()
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/internal/op/storage.go:482 +0x36
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).doCall.func2(0x26b9bc822000, 0x4f343fe052ad
cf05, 0x26b9bc2cc590?)
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/pkg/singleflight/singleflight.go:198 +0x5a
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).doCall(0x26b9bc789650?, 0x26b9bc4c0ee0?, {0
x26b9bc4c0ee0?, 0x26b9bc4c0ee0?}, 0x8?)
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/pkg/singleflight/singleflight.go:200 +0x89
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).Do(0x78bd460, {0x26b9bc4c0ee0, 0x8}, 0x26b9bc2cc698)
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/pkg/singleflight/singleflight.go:113 +0x16f
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageDetails({0x788eed8, 0x26b9bc948d20}, {0x789dc08, 0x26b9bc8be4e0}, {0x26b9bc2cc767, 0x1, 0x47444a6148554345?})
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/internal/op/storage.go:481 +0x2ed
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageVirtualFilesWithDetailsByPath.func1.1({0x789dc08, 0x26b9bc8be4e0})
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/internal/op/storage.go:361 +0x70
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: created by github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageVirtualFilesWithDetailsByPath.func1 in goroutine 397
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/internal/op/storage.go:360 +0x1b2
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]:
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: goroutine 434 [running]:
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).doCall.func1()
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/pkg/singleflight/singleflight.go:170 +0x2d2
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).doCall(0x26b9bc789650?, 0x26b9bc4c0ee0?, {0x26b9bc4c0ee0?, 0x26b9bc4c0ee0?}, 0x8?)
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/pkg/singleflight/singleflight.go:205 +0xa4
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/pkg/singleflight.(*Group[...]).Do(0x78bd460, {0x26b9bc4c0ee0, 0x8}, 0x26b9bc2cc698)
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/pkg/singleflight/singleflight.go:113 +0x16f
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageDetails({0x788eed8, 0x26b9bc948d20}, {0x789dc08, 0x26b9bc8be4e0}, {0x26b9bc2cc767, 0x1, 0x47444a6148554345?})
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/internal/op/storage.go:481 +0x2ed
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageVirtualFilesWithDetailsByPath.func1.1({0x789dc08, 0x26b9bc8be4e0})
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/internal/op/storage.go:361 +0x70
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: created by github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageVirtualFilesWithDetailsByPath.func1 in goroutine 397
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c openlist[1512]: github.com/OpenListTeam/OpenList/v4/internal/op/storage.go:360 +0x1b2
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c systemd[1]: openlist.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c systemd[1]: openlist.service: Failed with result 'exit-code'.
2026-05-11T17:22:33+08:00 myarch-jiguangxseriesgm6aq7c systemd[1]: openlist.service: Consumed 1.244s CPU time over 6h 40min 14.192s wall clock time, 112.1M memory peak, 4.4M memory swap peak.

配置文件内容(必填)

{
"force": false,
"site_url": "",
"cdn": "",
"jwt_secret": "0Ep7J50i3dBWMTN8",
"token_expires_in": 48,
"database": {
"type": "sqlite3",
"host": "",
"port": 0,
"user": "",
"password": "",
"name": "",
"db_file": "/var/lib/openlist/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": "/var/lib/openlist/temp",
"bleve_dir": "/var/lib/openlist/bleve",
"dist_dir": "",
"log": {
"enable": true,
"name": "/var/lib/openlist/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": "dev",
"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