-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Closed
Description
Xray-core/common/signal/timer.go
Line 53 in 33272a0
| func (t *ActivityTimer) SetTimeout(timeout time.Duration) { |
这里自上次修复以后出现了其他泄露情况
`
0x47af84 internal/sync.runtime_SemacquireMutex+0x24 C:/Program Files/Go/src/runtime/sema.go:95
0x49725c internal/sync.(*Mutex).lockSlow+0x15c C:/Program Files/Go/src/internal/sync/mutex.go:149
0x498db0 internal/sync.(*Mutex).Lock+0x30 C:/Program Files/Go/src/internal/sync/mutex.go:70
0x498d8e sync.(*Mutex).Lock+0xe C:/Program Files/Go/src/sync/mutex.go:46
0x498d92 sync.(*RWMutex).Lock+0x12 C:/Program Files/Go/src/sync/rwmutex.go:150
0x8b3e09 github.com/xtls/xray-core/common/signal.(*ActivityTimer).finish+0x29
0x8b4278 github.com/xtls/xray-core/common/signal.(*ActivityTimer).check+0x38
0x8b34a3 github.com/xtls/xray-core/common/task.(*Periodic).checkedExecute+0x43
0x8b37c8 github.com/xtls/xray-core/common/task.(*Periodic).Start+0xa8
0x8b403e github.com/xtls/xray-core/common/signal.(*ActivityTimer).SetTimeout+0xfe
0xc8c152 github.com/xtls/xray-core/proxy/freedom.(*Handler).Process.func4+0x1f2
0xc8bee1 github.com/xtls/xray-core/proxy/freedom.(*Handler).Process.OnSuccess.func7+0x21
0x8b3ceb github.com/xtls/xray-core/common/task.Run.func1+0x2b`
看起来像是在执行SetTimeout时Periodic那边执行了导致这个死锁。
我自己对SetTimeout这个单独加了一个锁解决了。但不像是能彻底解决问题
Metadata
Metadata
Assignees
Labels
No labels