Conversation
|
好像确实有极低的概率泄露出去一个Periodic 你是在干什么的时候遇到的? |
|
抱歉没看出来泄露的原因。。能否详细描述或者加一个 unit test? |
|
在连接连入立即关闭时也会出现这种问题。Proxy 那边的 request 和 response 都有 SetTimeout,req 或者 resp 的锁解除的一瞬间,另一个会直接到关闭流程,但是 checkTask.Start() 这时可能还没有执行导致泄露。 |
关于如何发现这个,是因为这边有非常多高并发。运行久了以后gc会占用比较高,pprof的goroutine是看不到相关的,在下载trace分析以后会非常明显。没有看出来很正常因为我也查了一个星期多才定位并且分析出来原因。 |
|
懂了 大佬感谢修复! |
signal包里面SetTimeout方法并发时可能会出现task close以后执行start导致泄露
signal包里面SetTimeout方法并发时可能会出现task close以后执行start导致泄露 (cherry picked from commit cb1afb3)
signal包里面SetTimeout方法并发时可能会出现task close以后执行start导致泄露
signal包里面SetTimeout方法并发时可能会出现task close以后执行start导致泄露