go操作空指针导致supervisor进程服务挂机的坑
一、起因
在数据库中直接手动插入了某条记录,但由于该记录的某个字段的空值,与另一个字段的状态码不符合,在go程序中,突然操作了该空字段的指针,导致程序panic挂机。
panic: runtime error: invalid memory address or nil pointer dereference
二、连锁错误
在go程序挂掉之后,想尝试用supervisor重新启动服务,但也报出错误。用supervisorctl stop也不行
backend_server
FATAL Exited too quickly
(process log may have details)
三、解决问题
最后只能尝试把所有supervisor的服务都关闭了,再一个个重新开启,此时居然成功把go服务启动了。其原因也不太清楚,有高手知道的话,请留言分享!