bilibili / bilibili/gengine

engine pool data race

Open
#17 2 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.