DATA RACE at SessionVars.systems
- Dominant language
- Go
- Stars
- 40.5k
- Forks
- 6.2k
- PR merge metrics
- PR metrics pending
Description
## Bug Report
Please answer these questions before submitting your issue. Thanks!
### 1. Minimal reproduce step (Required)
### 2. What did you expect to see? (Required)
### 3. What did you see instead (Required)
```
==================
WARNING: DATA RACE
Write at 0x00c0059c6270 by goroutine 26772:
runtime.mapassign_faststr()
GOROOT/src/runtime/map_faststr.go:203 +0x0
github.com/pingcap/tidb/sessionctx/variable.(*SysVar).SetSessionFromHook()
sessionctx/variable/variable.go:225 +0x16c
github.com/pingcap/tidb/sessionctx/variable.(*SessionVars).SetSystemVarWithRelaxedValidation()
sessionctx/variable/session.go:2273 +0x17d
github.com/pingcap/tidb/session.(*session).loadCommonGlobalVariablesIfNeeded()
session/session.go:3641 +0x2db
github.com/pingcap/tidb/session.(*session).ExecuteStmt()
session/session.go:2114 +0x16b
github.com/pingcap/tidb/session.(*session).ExecuteInternal()
session/session.go:1655 +0x365
github.com/pingcap/tidb/bindinfo.(*BindHandle).CreateBindRecord()
bindinfo/handle.go:224 +0x298
github.com/pingcap/tidb/bindinfo.(*BindHandle).CaptureBaselines()
bindinfo/handle.go:945 +0xd87
github.com/pingcap/tidb/domain.(*Domain).globalBindHandleWorkerLoop.func1()
domain/domain.go:1573 +0x4eb
github.com/pingcap/tidb/util.(*WaitGroupEnhancedWrapper).Run.func1()
util/wait_group_wrapper.go:96 +0xde
Previous read at 0x00c0059c6270 by goroutine 117:
runtime.mapaccess1_faststr()
GOROOT/src/runtime/map_faststr.go:13 +0x0
github.com/pingcap/tidb/sessionctx/variable.(*SessionVars).GetCharsetInfo()
sessionctx/variable/session.go:1911 +0xa7e
github.com/pingcap/tidb/bindinfo.(*BindHandle).CaptureBaselines()
bindinfo/handle.go:935 +0x9dc
github.com/pingcap/tidb/executor.(*SQLBindExec).captureBindings()
executor/bind.go:167 +0x64
github.com/pingcap/tidb/executor.(*SQLBindExec).Next()
executor/bind.go:59 +0x153
github.com/pingcap/tidb/executor.Next()
executor/executor.go:324 +0x375
github.com/pingcap/tidb/executor.(*ExecStmt).next()
executor/adapter.go:1195 +0x9d
github.com/pingcap/tidb/executor.(*ExecStmt).handleNoDelayExecutor()
executor/adapter.go:947 +0x5fc
github.com/pingcap/tidb/executor.(*ExecStmt).handleNoDelay()
executor/adapter.go:779 +0x404
github.com/pingcap/tidb/executor.(*ExecStmt).Exec()
executor/adapter.go:574 +0x146d
github.com/pingcap/tidb/session.runStmt()
session/session.go:2338 +0x701
github.com/pingcap/tidb/session.(*session).ExecuteStmt()
session/session.go:2195 +0x1024
github.com/pingcap/tidb/testkit.(*TestKit).ExecWithContext()
testkit/testkit.go:323 +0x84e
github.com/pingcap/tidb/testkit.(*TestKit).MustExecWithContext()
testkit/testkit.go:132 +0xb7
github.com/pingcap/tidb/testkit.(*TestKit).MustExec()
testkit/testkit.go:127 +0xf7
github.com/pingcap/tidb/bindinfo_test.TestCaptureBaselinesDefaultDB()
bindinfo/capture_test.go:223 +0x369
github.com/pingcap/tidb/session.runStmt()
session/session.go:2338 +0x701
github.com/pingcap/tidb/session.(*session).ExecuteStmt()
session/session.go:2195 +0x1024
github.com/pingcap/tidb/testkit.(*TestKit).ExecWithContext()
testkit/testkit.go:323 +0x84e
github.com/pingcap/tidb/testkit.(*TestKit).MustExecWithContext()
testkit/testkit.go:132 +0xb7
github.com/pingcap/tidb/testkit.(*TestKit).MustExec()
testkit/testkit.go:127 +0xf7
github.com/pingcap/tidb/bindinfo_test.TestCaptureBaselinesDefaultDB()
bindinfo/capture_test.go:212 +0xb2
github.com/pingcap/tidb/domain.(*Domain).LoadSysVarCacheLoop()
domain/domain.go:1403 +0xb9
github.com/pingcap/tidb/session.BootstrapSession()
session/session.go:3316 +0x7cc
github.com/pingcap/tidb/domain.(*Domain).GetSessionCache()
domain/sysvar_cache.go:62 +0x6a
github.com/pingcap/tidb/session.(*session).loadCommonGlobalVariablesIfNeeded()
session/session.go:3635 +0x11e
github.com/pingcap/tidb/session.(*session).ExecuteStmt()
session/session.go:2114 +0x16b
github.com/pingcap/tidb/session.(*session).ExecuteInternal()
session/session.go:1655 +0x365
github.com/pingcap/tidb/domain.(*Domain).LoadPrivilegeLoop()
domain/domain.go:1347 +0x143
github.com/pingcap/tidb/session.BootstrapSession()
session/session.go:3309 +0x76c
github.com/pingcap/tidb/testkit.bootstrap()
testkit/mockstore.go:85 +0x84
github.com/pingcap/tidb/testkit.CreateMockStoreAndDomain()
testkit/mockstore.go:70 +0xd0
github.com/pingcap/tidb/testkit.CreateMockStore()
testkit/mockstore.go:62 +0x3b2
github.com/pingcap/tidb/bindinfo_test.TestCaptureBaselinesDefaultDB()
bindinfo/capture_test.go:207 +0x58
testing.tRunner()
GOROOT/src/testing/testing.go:1446 +0x216
testing.(*T).Run.func1()
GOROOT/src/testing/testing.go:1493 +0x47
Goroutine 26772 (running) created at:
github.com/pingcap/tidb/util.(*WaitGroupEnhancedWrapper).Run()
util/wait_group_wrapper.go:91 +0x15a
github.com/pingcap/tidb/domain.(*Domain).globalBindHandleWorkerLoop()
domain/domain.go:1548 +0x124
github.com/pingcap/tidb/domain.(*Domain).LoadBindInfoLoop()
domain/domain.go:1542 +0x1f5
github.com/pingcap/tidb/session.BootstrapSession()
session/session.go:3303 +0x6c8
github.com/pingcap/tidb/testkit.bootstrap()
testkit/mockstore.go:85 +0x84
github.com/pingcap/tidb/testkit.CreateMockStoreAndDomain()
testkit/mockstore.go:70 +0xd0
github.com/pingcap/tidb/testkit.CreateMockStore()
testkit/mockstore.go:62 +0x3b2
github.com/pingcap/tidb/bindinfo_test.TestCaptureBaselinesDefaultDB()
bindinfo/capture_test.go:207 +0x58
testing.tRunner()
GOROOT/src/testing/testing.go:1446 +0x216
testing.(*T).Run.func1()
GOROOT/src/testing/testing.go:1493 +0x47
Goroutine 117 (running) created at:
testing.(*T).Run()
GOROOT/src/testing/testing.go:1493 +0x75d
testing.runTests.func1()
GOROOT/src/testing/testing.go:1846 +0x99
testing.tRunner()
GOROOT/src/testing/testing.go:1446 +0x216
testing.runTests()
GOROOT/src/testing/testing.go:1844 +0x7ec
testing.(*M).Run()
GOROOT/src/testing/testing.go:1726 +0xa84
go.uber.org/goleak.VerifyTestMain()
external/org_uber_go_goleak/testmain.go:53 +0x70
github.com/pingcap/tidb/bindinfo_test.TestMain()
bindinfo/main_test.go:32 +0x43c
main.main()
bazel-out/k8-fastbuild/bin/bindinfo/bindinfo_test_/testmain.go:274 +0x7c9
==================
```
### 4. What is your TiDB version? (Required)
Contributor guide
Assessment
This issue has not been assessed yet.