go 程序无故退出, panic 也捕获不到,求解决方案
source link: https://www.v2ex.com/t/846162
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
程序里面用了若干 go 子线程(盲猜问题在子线程但是无法定位),有些错误会直接 os.exit ,每个函数方法都写了 panic 捕获写日志,程序退出时不会返回 panic 。
大神们有什么好的办法定位错误处吗?
生产环境问题出了几个月还是找不到问题,有时运行半天,有时运行几天,退出的时候 cpu 和内存都没有大量占用
nuk 12 小时 16 分钟前
ETiV 12 小时 1 分钟前 via iPhone
foam 12 小时 0 分钟前 via Android
kwanzaa 11 小时 57 分钟前
txx 11 小时 28 分钟前 2
我遇到的情况是这样的:一个第三方库出了些问题,在 map 里面野指针了。而 Map 在 Go Runtime 里面的实现是 ASM 实现的,然后 Link 到 Runtime 里面。如果 ASM 内部发生了野指针相关的问题,直接会被系统走了 unix signal 退出,导致无法被 recover handle 。
CEBBCAT 11 小时 5 分钟前
kinghui 5 小时 27 分钟前
dbskcnc 3 小时 20 分钟前
2.race 运行检测
3.付费请人
xmge 2 小时 41 分钟前
luwill 1 小时 45 分钟前
如果短时间可以浮现,服务器上 nohup strace 启动服务看退出前的行为。
joesonw 1 小时 31 分钟前 via iPhone
xsen 2 分钟前
可以有这个 api 的调用关系
2. gdb
有堆栈
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK