brpc
brpc copied to clipboard
bthread定时器等待了12秒都没得到执行,程序生成core的过程中又恢复了,想问下要如何定位这种问题?
Describe the bug (描述bug)
bthread定时器等待了12秒都没得到执行,触发了程序检查bthread卡住的assert,而在程序生成core的过程中又恢复了。
To Reproduce (复现方法) 在正常业务中,创建pthread线程和bthread定时器,在pthread线程中定时检查定时器的更新时间。超过一段时间未更新,则assert
Expected behavior (期望行为)
程序不会触发bthread卡住的assert
Versions (各种版本)
OS: centosx
Compiler: gcc
brpc:
protobuf:
Additional context/screenshots (更多上下文/截图)
想问下,一个是如何定位这种bthread卡住一段时间的这种问题?如何查看当时的运行截面?之前遇到过使用pstack去dump查看,结果 bthread似乎又被恢复了。我这个也类似这种现象,bthread不知道因为什么原因卡住了,然后又恢复了。
业务中是将pthread和bthread同时混用么?
业务中是将pthread和bthread同时混用么?
存在这么个情况。之前也解过一些混用导致的加锁卡死的问题。不过那个问题,通过pstack是能够看出来的