-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
skynet底层死循环,经常性出现,还没找到复现原因,请云风大大帮忙看看~ #1562
Comments
你估计不怎么关注提问和wiki, 你这样上来就贴图的, 云大是不会回复的, 要用markdown语法提问 |
请问什么版本呢?程序大概跑了多久出现? |
skynet 1.4.0版本,内网的一台内存不怎么足够(内存15G,使用15G,available 内存只有60M左右)的机器上,大概30分钟--2小时出现一次,外网内存足够的环境,大概半个月出现一次。比较奇怪,怀疑与可用内存有关。 |
|
跑什么业务呢?是在做压测吗? |
你外网外网内存足够的环境,大概半个月出现一次,当出现的时候,内存的占用如何呢? |
没有的,只是普通的qa测试功能,业务不怎么繁忙。 |
死循环很好解决阿,主动coredump,然后查看调用栈。 然后我印象中,skynet底层有死循环检测的 |
你们有C的服务? |
你是怎么看出来是死循环的,我看你的栈不像是死循环, |
|
|
好的,感谢云风大大。 |
不排除这种可能性。登录服的业务非常简单,出问题的是loginslave,telnet stat指令,消息队列数量正常,没有非常大。下会再出现的时候,我用markdown发出来,大家一起帮忙看看 |
我印象中,skynet中是有提供这方面的支持的(消息队列的包数量就是其中一个)。 |
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
[root@ip-10-13-164-36 server1]# free -h |
外网又炸锅了,求大神帮忙看看哈 |
登录服正常,聊天服正常,游戏服连聊天服不行,死循环了。 |
嗯,做了一些记录 |
补充一下,list信息如下: |
建议把登录时候聊天可能卡住的地方先异步出去,不要卡住登录。不能登录和不能聊天差别很大。 |
如果说是死循环,看看日志有没有endless,如果有的话向该服务发送0信号, |
|
有的,有每60秒检测endless loop的逻辑,有TIMEOUT就发送 |
感谢大家!! |
用strace跑一下,看看是在调用哪些函数。应该就能知道程序在干啥了。 |
好几天没报问题上来了哦,估计更新版本后解决了BUG了~ |
感谢哈~~,目前外服已经更新到skynet1.5.0版本了,暂时没复现问题。 |
我们游戏的登录服、游戏服,都有这种情况发生,出现的问题的是worker线程:
![image](https://user-images.githubusercontent.com/17718328/161195882-5989e94e-6b7d-4934-9ffc-17dc08c340ad.png)
![image](https://user-images.githubusercontent.com/17718328/161196027-7dceb055-c2a1-4e89-bfa8-1a6df8cf677d.png)
![image](https://user-images.githubusercontent.com/17718328/161196144-757fd188-4933-4621-aa8a-eb339eb128a4.png)
top查看:
pstack查看:
出现上面的死循环后,loginslave就会readline阻塞:
木有思路怎么解决, 也不好找出怎么触发的
The text was updated successfully, but these errors were encountered: