Mrs4s / go-cqhttp

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

【BUG】空指针引用错误,新成员附加个人介绍进群时可复现 #638

Closed LennyDream closed 3 years ago

LennyDream commented 3 years ago

环境信息: go-cqhttp版本: go-cqhttp-v0.9.40 运行环境: windows_amd64 连接方式: 反向WS

BUG内容: 问题重现:当新的成员申请加群,附加"个人介绍"的时候;进群则会发一条个人介绍消息,这时找不到该群成员导致空指针错误

// bot.go:411 
mem := bot.Client.FindGroup(m.GroupCode).FindMember(m.Sender.Uin)

空指针 event error: runtime error: invalid memory address or nil pointer dereference goroutine 2605 [running]: runtime/debug.Stack(0x0, 0x0, 0x0) E:/GoSDK/go1.15/src/runtime/debug/stack.go:24 +0xac github.com/Mrs4s/MiraiGo/client.cover.func1() E:/GoSDK/gopath/pkg/mod/github.com/!mrs4s/!mirai!go@v0.0.0-20210206134348-800bf525ed0e/client/events.go:421 +0x6f panic(0x1ab5aa0, 0x21ae300) E:/GoSDK/go1.15/src/runtime/panic.go:975 +0x414 github.com/Mrs4s/go-cqhttp/coolq.(CQBot).formatGroupMessage.func1(0x0, 0x0, 0x0) E:/Code/02Go/01qqrobot/go-cqhttp-master/coolq/bot.go:414 +0x1b github.com/Mrs4s/go-cqhttp/coolq.(CQBot).formatGroupMessage(0xc000038f00, 0xc0004cb720, 0x0) E:/Code/02Go/01qqrobot/go-cqhttp-master/coolq/bot.go:422 +0x13de github.com/Mrs4s/go-cqhttp/coolq.(CQBot).groupMessageEvent(0xc000038f00, 0xc000077c00, 0xc0004cb720) E:/Code/02Go/01qqrobot/go-cqhttp-master/coolq/event.go:96 +0x12a5 github.com/Mrs4s/MiraiGo/client.(QQClient).dispatchGroupMessage.func1() E:/GoSDK/gopath/pkg/mod/github.com/!mrs4s/!mirai!go@v0.0.0-20210206134348-800bf525ed0e/client/events.go:186 +0x5a github.com/Mrs4s/MiraiGo/client.cover(0xc0007c9be8) E:/GoSDK/gopath/pkg/mod/github.com/!mrs4s/!mirai!go@v0.0.0-20210206134348-800bf525ed0e/client/events.go:424 +0x56 github.com/Mrs4s/MiraiGo/client.(QQClient).dispatchGroupMessage(0xc000077c00, 0xc0004cb720) E:/GoSDK/gopath/pkg/mod/github.com/!mrs4s/!mirai!go@v0.0.0-20210206134348-800bf525ed0e/client/events.go:185 +0x105 github.com/Mrs4s/MiraiGo/client.decodeGroupMessagePacket(0xc000077c00, 0xc0004666b4, 0xc000798000, 0x228, 0x228, 0x0, 0x0, 0x0, 0x0) E:/GoSDK/gopath/pkg/mod/github.com/!mrs4s/!mirai!go@v0.0.0-20210206134348-800bf525ed0e/client/group_msg.go:337 +0x7f1 github.com/Mrs4s/MiraiGo/client.(QQClient).netLoop.func2(0xc000077c00, 0xc000a15090, 0xc000798000, 0x228, 0x228) E:/GoSDK/gopath/pkg/mod/github.com/!mrs4s/!mirai!go@v0.0.0-20210206134348-800bf525ed0e/client/client.go:910 +0x19d created by github.com/Mrs4s/MiraiGo/client.(*QQClient).netLoop E:/GoSDK/gopath/pkg/mod/github.com/!mrs4s/!mirai!go@v0.0.0-20210206134348-800bf525ed0e/client/client.go:901 +0xed0

wfjsw commented 3 years ago

无法本地复现。请提供发生错误前后至少1分钟的调试日志,并描述错误发生前后你的所有操作。

Mrs4s commented 3 years ago

尝试复现失败, 暂时合了个临时解决方案, 需要更多信息