engine pool data race
- Dominant language
- Go
- Stars
- 2.1k
- Forks
- 281
- PR merge metrics
- No merged PRs in 30d
Description
WARNING: DATA RACE
Read at 0x00c038a220b8 by goroutine 61:
github.com/bilibili/gengine/engine.(*GenginePool).getGengine()
/Users/liupengtao/go/pkg/mod/github.com/bilibili/gengine@v1.5.6/engine/gengine_pool.go:160 +0x77
github.com/bilibili/gengine/engine.(*GenginePool).prepareWithMultiInput()
/Users/liupengtao/go/pkg/mod/github.com/bilibili/gengine@v1.5.6/engine/gengine_pool.go:522 +0x50
github.com/bilibili/gengine/engine.(*GenginePool).Execute()
/Users/liupengtao/go/pkg/mod/github.com/bilibili/gengine@v1.5.6/engine/gengine_pool.go:706 +0xa3
Previous write at 0x00c038a220b8 by goroutine 67:
github.com/bilibili/gengine/engine.(*GenginePool).putGengineLocked.func1()
/Users/liupengtao/go/pkg/mod/github.com/bilibili/gengine@v1.5.6/engine/gengine_pool.go:195 +0x269
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in engine/gengine_pool.go, especially GenginePool.getGengine, putGengineLocked, prepareWithMultiInput, and Execute at the locations shown in the report. Reproduce the reported execution path with Go's race detector and trace the shared pool state between the read and write. Done means the reported data race is no longer detected.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100