FloatTech / ZeroBot-Plugin

基于 ZeroBot 的 OneBot 插件
GNU Affero General Public License v3.0
2.48k stars 2.02k forks source link

job可能导致go-cqhttp闪退 #178

Closed fumiama closed 2 years ago

fumiama commented 2 years ago

目前有一个疑难问题是,循环定时触发时(如每小时或每分钟触发一次来份萝莉),有概率导致gocq闪退。大家可以一起来找找原因,然后pr或在此提出问题所在或解决办法。

fumiama commented 2 years ago

目前看来可能是图片缓存池的问题,在触发来份萝莉时,会向自己的账号发送图片得到图片链接,gocq有可能是在那里出的问题。

SakuraAzusa commented 2 years ago

之前在使用记录每天9点的指令,在提示后发送签到,但是等了一段时间并无回应,随后我发了个“?”,bot记录提示“成功!”了,但是我不确认命令是否录入了,又在每天同一时间录入了一次签到。 第二天9点的时候命令成功触发了,但是每相隔1分钟又会再次触发一次该命令,同时会回复一条“今天已签到!”(但是该消息过于长远无法定位)与今日签到内容,随后我就把zbp强制停止并取消命令了。 当天的同一时间段bot还发送了多条包含图片和文字的rss,但并没有闪退,不知道能不能作为参考。 对了,当时命令查看所有触发指令无回应,没法使用。 问题日期为3月16号,gocq和zbp都为当时最新版,运行平台是ubuntu20.04LTS,zbp是很多指令和回复方式的都修改了,在win编译出来的版本。 zbp当天的log已经没了这个没办法提供。

fumiama commented 2 years ago

之前在使用记录每天9点的指令,在提示后发送签到,但是等了一段时间并无回应,随后我发了个“?”,bot记录提示“成功!”了,但是我不确认命令是否录入了,又在每天同一时间录入了一次签到。 第二天9点的时候命令成功触发了,但是每相隔1分钟又会再次触发一次该命令,同时会回复一条“今天已签到!”(但是该消息过于长远无法定位)与今日签到内容,随后我就把zbp强制停止并取消命令了。 当天的同一时间段bot还发送了多条包含图片和文字的rss,但并没有闪退,不知道能不能作为参考。 对了,当时命令查看所有触发指令无回应,没法使用。 问题日期为3月16号,gocq和zbp都为当时最新版,运行平台是ubuntu20.04LTS,zbp是很多指令和回复方式的都修改了,在win编译出来的版本。 zbp当天的log已经没了这个没办法提供。

值得参考。另外你可以注意一下目前的最新版是否还有这个问题。

SakuraAzusa commented 2 years ago

同样存在问题,以下是zbp的log

time="2022-04-07T10:28:56+08:00" level=info msg="收到群(xxx)消息 喵! : 记录在\"* 9 * * *\"触发的指令"
time="2022-04-07T10:28:56+08:00" level=info msg="发送群消息(xxx): 您的下一条指令将被记录,在* 9 * * *时触发 (id=1359321285)"
time="2022-04-07T10:28:58+08:00" level=info msg="收到群(xxx)消息 夜夜 : 您的下一条指令将被记录,在* 9 * * *时触发"
time="2022-04-07T10:29:05+08:00" level=info msg="收到群(xxx)消息 喵! : 签到"
time="2022-04-07T10:29:06+08:00" level=info msg="发送群消息(xxx): 成功! (id=834801952)"
time="2022-04-07T10:29:26+08:00" level=info msg="收到群(xxx)消息 喵! : 查看所有触发指令"
time="2022-04-07T10:30:02+08:00" level=info msg="收到群(xxx)消息 喵! : 取消在\"* 9 * * *\"触发的指令"
time="2022-04-07T10:30:02+08:00" level=info msg="发送群消息(xxx): 成功! (id=-1348041597)"
time="2022-04-07T10:30:19+08:00" level=info msg="收到群(xxx)消息 喵! : 记录在\"* 11 * * *\"触发的指令"
time="2022-04-07T10:30:19+08:00" level=info msg="发送群消息(xxx): 您的下一条指令将被记录,在* 11 * * *时触发 (id=-1235612177)"
time="2022-04-07T10:30:24+08:00" level=info msg="收到群(xxx)消息 喵! : 签到"
time="2022-04-07T10:30:27+08:00" level=info msg="发送群消息(xxx): 成功! (id=1481927875)"
time="2022-04-07T11:00:00+08:00" level=info msg="收到群(xxx)消息 喵! : 签到"
(github.com/FloatTech/ZeroBot-Plugin/plugin/score/model.go:96) 
[2022-04-07 11:00:00]  [1.52ms]  SELECT * FROM "sign_in"  WHERE (uid = ***** ) ORDER BY "sign_in"."uid" ASC LIMIT 1  
[1 rows affected or returned ] 

(github.com/FloatTech/ZeroBot-Plugin/plugin/score/model.go:107) 
[2022-04-07 11:00:00]  [0.27ms]  SELECT * FROM "sign_in"  WHERE "sign_in"."uid" = ***** AND ((uid = ***** )) ORDER BY "sign_in"."uid" ASC LIMIT 1  
[1 rows affected or returned ] 

(github.com/FloatTech/ZeroBot-Plugin/plugin/score/model.go:113) 
[2022-04-07 11:00:00]  [0.83ms]  UPDATE "sign_in" SET "count" = 0, "updated_at" = '2022-04-07 11:00:00'  WHERE (uid = ***** )  
[1 rows affected or returned ] 

(github.com/FloatTech/ZeroBot-Plugin/plugin/score/model.go:107) 
[2022-04-07 11:00:02]  [1.08ms]  SELECT * FROM "sign_in"  WHERE "sign_in"."uid" = ***** AND ((uid = ***** )) ORDER BY "sign_in"."uid" ASC LIMIT 1  
[1 rows affected or returned ] 

(github.com/FloatTech/ZeroBot-Plugin/plugin/score/model.go:113) 
[2022-04-07 11:00:02]  [0.50ms]  UPDATE "sign_in" SET "count" = 18, "updated_at" = '2022-04-07 11:00:02'  WHERE (uid = ***** )  
[1 rows affected or returned ] 

(github.com/FloatTech/ZeroBot-Plugin/plugin/score/model.go:68) 
[2022-04-07 11:00:04]  [0.54ms]  SELECT * FROM "score"  WHERE (uid = ***** ) ORDER BY "score"."uid" ASC LIMIT 1  
[1 rows affected or returned ] 

(github.com/FloatTech/ZeroBot-Plugin/plugin/score/model.go:79) 
[2022-04-07 11:00:04]  [0.21ms]  SELECT * FROM "score"  WHERE "score"."uid" = ***** AND ((uid = ***** )) ORDER BY "score"."uid" ASC LIMIT 1  
[1 rows affected or returned ] 

(github.com/FloatTech/ZeroBot-Plugin/plugin/score/model.go:85) 
[2022-04-07 11:00:04]  [0.30ms]  UPDATE "score" SET "score" = 18  WHERE (uid = ***** )  
[1 rows affected or returned ] 
time="2022-04-07T11:00:10+08:00" level=info msg="发送群消息(xxx): [CQ:image,file=file:////root/zero/data/score/cache/*****20220407signin.png] (id=-813255349)"
time="2022-04-07T11:01:00+08:00" level=info msg="收到群(xxx)消息 喵! : 签到"

(github.com/FloatTech/ZeroBot-Plugin/plugin/score/model.go:96) 
[2022-04-07 11:01:00]  [1.01ms]  SELECT * FROM "sign_in"  WHERE (uid = ***** ) ORDER BY "sign_in"."uid" ASC LIMIT 1  
[1 rows affected or returned ] 
time="2022-04-07T11:01:06+08:00" level=info msg="发送群消息(xxx): [CQ:reply,id=793992277]今天你已经签到过了喵! (id=910716180)"
time="2022-04-07T11:01:07+08:00" level=info msg="发送群消息(xxx): [CQ:image,file=file:////root/zero/data/score/cache/*****20220407signin.png] (id=1095720322)"
time="2022-04-07T11:02:00+08:00" level=info msg="收到群(xxx)消息 喵! : 签到"

(github.com/FloatTech/ZeroBot-Plugin/plugin/score/model.go:96) 
[2022-04-07 11:02:00]  [0.91ms]  SELECT * FROM "sign_in"  WHERE (uid = ***** ) ORDER BY "sign_in"."uid" ASC LIMIT 1  
[1 rows affected or returned ] 
time="2022-04-07T11:02:00+08:00" level=info msg="发送群消息(xxx): [CQ:reply,id=793992277]今天你已经签到过了喵! (id=-550778847)"
time="2022-04-07T11:02:01+08:00" level=info msg="发送群消息(xxx): [CQ:image,file=file:////root/zero/data/score/cache/*****20220407signin.png] (id=-1473447753)"
time="2022-04-07T11:03:00+08:00" level=info msg="收到群(xxx)消息 喵! : 签到"
(github.com/FloatTech/ZeroBot-Plugin/plugin/score/model.go:96) 
[2022-04-07 11:03:00]  [0.91ms]  SELECT * FROM "sign_in"  WHERE (uid = ***** ) ORDER BY "sign_in"."uid" ASC LIMIT 1  
[1 rows affected or returned ] 
time="2022-04-07T11:03:00+08:00" level=info msg="发送群消息(xxx): [CQ:reply,id=793992277]今天你已经签到过了喵! (id=214671860)"
time="2022-04-07T11:03:01+08:00" level=info msg="发送群消息(xxx): [CQ:image,file=file:////root/zero/data/score/cache/*****20220407signin.png] (id=2077004130)"
time="2022-04-07T11:04:00+08:00" level=info msg="收到群(xxx)消息 喵! : 签到"

(github.com/FloatTech/ZeroBot-Plugin/plugin/score/model.go:96) 
[2022-04-07 11:04:00]  [0.90ms]  SELECT * FROM "sign_in"  WHERE (uid = ***** ) ORDER BY "sign_in"."uid" ASC LIMIT 1  
[1 rows affected or returned ] 
time="2022-04-07T11:04:01+08:00" level=info msg="发送群消息(xxx): [CQ:reply,id=793992277]今天你已经签到过了喵! (id=-490356520)"
time="2022-04-07T11:04:01+08:00" level=info msg="发送群消息(xxx): [CQ:image,file=file:////root/zero/data/score/cache/*****20220407signin.png] (id=-1782386610)"
time="2022-04-07T11:05:00+08:00" level=info msg="收到群(xxx)消息 喵! : 签到"

(github.com/FloatTech/ZeroBot-Plugin/plugin/score/model.go:96) 
[2022-04-07 11:05:00]  [1.13ms]  SELECT * FROM "sign_in"  WHERE (uid = ***** ) ORDER BY "sign_in"."uid" ASC LIMIT 1  
[1 rows affected or returned ] 
time="2022-04-07T11:05:00+08:00" level=info msg="发送群消息(xxx): [CQ:reply,id=793992277]今天你已经签到过了喵! (id=195454445)"
time="2022-04-07T11:05:01+08:00" level=info msg="发送群消息(xxx): [CQ:image,file=file:////root/zero/data/score/cache/*****20220407signin.png] (id=2090947963)"
time="2022-04-07T11:05:31+08:00" level=info msg="收到群(xxx)消息 喵! : 取消在\"* 11 * * *\"触发的指令"
time="2022-04-07T11:05:31+08:00" level=info msg="发送群消息(xxx): 成功! (id=1964448080)"
fumiama commented 2 years ago

嗯。。这个是你的定时设置错了,在9:00触发应该是"0 9 *"

SakuraAzusa commented 2 years ago

嗯。。这个是你的定时设置错了,在9:00触发应该是"0 9 *" 现在可以正常触发了,但是指令查看所有触发指令查看在"cron"触发的指令无论在私聊还是群聊里都是无回应的

fumiama commented 2 years ago

暂时不再复发了,先关闭本issue