Mrs4s / go-cqhttp

cqhttp的golang实现,轻量、原生跨平台.
GNU Affero General Public License v3.0
10.37k stars 1.63k forks source link

[Bug]: uploadLocalImage中mime.checkImage有几率panic #1514

Closed fzls closed 2 years ago

fzls commented 2 years ago

请确保您已阅读以上注意事项,并勾选下方的确认框。

go-cqhttp 版本

810c781c25aed4e7de2361307994be1c99bb8555

运行环境

Ubuntu

运行架构

AMD64

连接方式

HTTP

使用协议

0 | iPad

重现步骤

机器人运行一段时间后,在回复一个图片时出现了panic,具体堆栈可见后面日志

期望的结果是什么?

不会panic,或者出错了可以刷个日志但不退出

实际的结果是什么?

程序退出运行了

简单的复现代码/链接(可选)

No response

日志记录(可选)

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x971479]

goroutine 141128 [running]:
github.com/Mrs4s/go-cqhttp/modules/mime.scan({0x0, 0x0})
        /root/qq_robot_go/modules/mime/mime.go:20 +0x39
github.com/Mrs4s/go-cqhttp/modules/mime.checkImage({0x0?, 0x0?})
        /root/qq_robot_go/modules/mime/mime.go:34 +0x34
github.com/Mrs4s/go-cqhttp/coolq.(*CQBot).uploadLocalImage(0xc0005c2000, {0x7?, 0xc00030c000?, 0x7a?}, 0xc00027e480)
        /root/qq_robot_go/coolq/bot.go:159 +0x10d
github.com/Mrs4s/go-cqhttp/coolq.(*CQBot).uploadMedia.func1()
        /root/qq_robot_go/coolq/bot.go:223 +0x56
github.com/Mrs4s/go-cqhttp/coolq.(*worker).do.func1()
        /root/qq_robot_go/coolq/bot.go:141 +0x5a
created by github.com/Mrs4s/go-cqhttp/coolq.(*worker).do
        /root/qq_robot_go/coolq/bot.go:139 +0x85

补充说明(可选)

No response

wdvxdr1123 commented 2 years ago

堆栈有点短, 无法推断panic的原因

Mrs4s commented 2 years ago

总之先把异常处理了免得panic

moian98 commented 2 years ago

我也遇到了同样的情况