Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DATA RACE in the pkg/util/workloadrepo.TestMultipleWorker.func5() #60200

Open
hawkingrei opened this issue Mar 20, 2025 · 0 comments · May be fixed by #60220
Open

DATA RACE in the pkg/util/workloadrepo.TestMultipleWorker.func5() #60200

hawkingrei opened this issue Mar 20, 2025 · 0 comments · May be fixed by #60220
Labels
severity/moderate sig/sql-infra SIG: SQL Infra type/bug The issue is confirmed as a bug.

Comments

@hawkingrei
Copy link
Member

hawkingrei commented Mar 20, 2025

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
Read at 0x00c00669bc50 by goroutine 19974:
  github.com/pingcap/tidb/pkg/util/workloadrepo.TestMultipleWorker.func5()
      pkg/util/workloadrepo/worker_test.go:232 +0x37
  github.com/pingcap/tidb/pkg/util/workloadrepo.TestMultipleWorker.eventuallyWithLock.func12()
      pkg/util/workloadrepo/worker_test.go:131 +0x92
  github.com/stretchr/testify/assert.Eventually.func1()
      external/com_github_stretchr_testify/assert/assertions.go:1949 +0x33
Previous write at 0x00c00669bc50 by goroutine 19441:
  github.com/pingcap/tidb/pkg/util/workloadrepo.(*worker).start.(*worker).startRepository.func2()
      pkg/util/workloadrepo/worker.go:311 +0xa9
  github.com/pingcap/tidb/pkg/util.(*WaitGroupEnhancedWrapper).RunWithRecover.func1()
      pkg/util/wait_group_wrapper.go:125 +0xed
Goroutine 19974 (running) created at:
  github.com/stretchr/testify/assert.Eventually()
      external/com_github_stretchr_testify/assert/assertions.go:1949 +0x3d5
  github.com/stretchr/testify/require.Eventually()
      external/com_github_stretchr_testify/require/require.go:398 +0xd1
  github.com/pingcap/tidb/pkg/util/workloadrepo.eventuallyWithLock()
      pkg/util/workloadrepo/worker_test.go:128 +0x917
  github.com/pingcap/tidb/pkg/util/workloadrepo.TestMultipleWorker()
      pkg/util/workloadrepo/worker_test.go:232 +0x7b7
  fmt.Sscanf()
      GOROOT/src/fmt/scan.go:114 +0x18e
  github.com/pingcap/tidb/pkg/sessionctx/variable.parseByteSize()
      pkg/sessionctx/variable/varsutil.go:319 +0x1d
  github.com/pingcap/tidb/pkg/sessionctx/variable.init.func263()
      pkg/sessionctx/variable/sysvar.go:1411 +0x44
  github.com/pingcap/tidb/pkg/domain.(*Domain).rebuildSysVarCache()
      pkg/domain/sysvar_cache.go:144 +0xa94
  github.com/pingcap/tidb/pkg/sessionctx/variable.parseSchemaCacheSize()
      pkg/sessionctx/variable/varsutil.go:551 +0x17c
  github.com/pingcap/tidb/pkg/sessionctx/variable.init.func622()
      pkg/sessionctx/variable/sysvar.go:3310 +0x67
  github.com/pingcap/tidb/pkg/domain.(*Domain).rebuildSysVarCache()
      pkg/domain/sysvar_cache.go:144 +0xa94
  github.com/pingcap/tidb/pkg/sessionctx/variable.init.func621()
      pkg/sessionctx/variable/sysvar.go:3302 +0x52
  github.com/pingcap/tidb/pkg/sessionctx/variable.(*SysVar).ValidateWithRelaxedValidation()
      pkg/sessionctx/variable/variable.go:285 +0x242
  github.com/pingcap/tidb/pkg/domain.(*Domain).rebuildSysVarCache()
      pkg/domain/sysvar_cache.go:143 +0xa24
  github.com/pingcap/tidb/pkg/domain.(*Domain).LoadSysVarCacheLoop()
      pkg/domain/domain.go:2053 +0x93
  github.com/pingcap/tidb/pkg/session.bootstrapSessionImpl()
      pkg/session/session.go:3553 +0x853
  github.com/pingcap/tidb/pkg/sessionctx/variable.init.func263()
      pkg/sessionctx/variable/sysvar.go:1411 +0x44
  github.com/pingcap/tidb/pkg/domain.(*Domain).rebuildSysVarCache()
      pkg/domain/sysvar_cache.go:144 +0xa94
  github.com/pingcap/tidb/pkg/sessionctx/variable.parseMemoryLimit()
      pkg/sessionctx/variable/varsutil.go:288 +0x18b
  github.com/pingcap/tidb/pkg/sessionctx/variable.init.func220()
      pkg/sessionctx/variable/sysvar.go:1147 +0x56
  github.com/pingcap/tidb/pkg/domain.(*Domain).rebuildSysVarCache()
      pkg/domain/sysvar_cache.go:144 +0xa94
  github.com/pingcap/tidb/pkg/sessionctx/variable.init.func219()
      pkg/sessionctx/variable/sysvar.go:1140 +0x52
  github.com/pingcap/tidb/pkg/sessionctx/variable.(*SysVar).ValidateWithRelaxedValidation()
      pkg/sessionctx/variable/variable.go:285 +0x242
  github.com/pingcap/tidb/pkg/domain.(*Domain).rebuildSysVarCache()
      pkg/domain/sysvar_cache.go:143 +0xa24
  github.com/pingcap/tidb/pkg/domain.(*Domain).rebuildSysVarCacheIfNeeded()
      pkg/domain/sysvar_cache.go:51 +0x1bb
  github.com/pingcap/tidb/pkg/domain.(*Domain).GetSessionCache()
      pkg/domain/sysvar_cache.go:62 +0x4a
  github.com/pingcap/tidb/pkg/session.(*session).loadCommonGlobalVariablesIfNeeded()
      pkg/session/session.go:3954 +0x2bc
  github.com/pingcap/tidb/pkg/session.(*session).ExecuteStmt()
      pkg/session/session.go:2029 +0x17a
  github.com/pingcap/tidb/pkg/session.(*session).ExecuteInternal()
      pkg/session/session.go:1540 +0x3af
  github.com/pingcap/tidb/pkg/domain.(*Domain).LoadPrivilegeLoop()
      pkg/domain/domain.go:1981 +0x102
  github.com/pingcap/tidb/pkg/session.bootstrapSessionImpl()
      pkg/session/session.go:3546 +0x804
  github.com/pingcap/tidb/pkg/session.BootstrapSession()
      pkg/session/session.go:3422 +0xac
  github.com/pingcap/tidb/pkg/testkit.bootstrap()
      pkg/testkit/mockstore.go:251 +0x85
  github.com/pingcap/tidb/pkg/testkit.CreateMockStoreAndDomain()
      pkg/testkit/mockstore.go:222 +0xce
  github.com/pingcap/tidb/pkg/util/workloadrepo.setupDomainAndContext()
      pkg/util/workloadrepo/worker_test.go:104 +0x244
  github.com/pingcap/tidb/pkg/util/workloadrepo.TestMultipleWorker()
      pkg/util/workloadrepo/worker_test.go:197 +0x3b
  testing.tRunner()
      GOROOT/src/testing/testing.go:1690 +0x226
  testing.(*T).Run.gowrap1()
      GOROOT/src/testing/testing.go:1743 +0x44
Goroutine 19441 (running) created at:
  github.com/pingcap/tidb/pkg/util.(*WaitGroupEnhancedWrapper).RunWithRecover()
      pkg/util/wait_group_wrapper.go:115 +0x185
  github.com/pingcap/tidb/pkg/util/workloadrepo.(*worker).start()
      pkg/util/workloadrepo/worker.go:376 +0x255
  github.com/pingcap/tidb/pkg/util/workloadrepo.(*worker).setRepositoryDest()
      pkg/util/workloadrepo/worker.go:410 +0xbe
  github.com/pingcap/tidb/pkg/util/workloadrepo.TestMultipleWorker()
      pkg/util/workloadrepo/worker_test.go:231 +0x794
  fmt.Sscanf()
      GOROOT/src/fmt/scan.go:114 +0x18e
  github.com/pingcap/tidb/pkg/sessionctx/variable.parseByteSize()
      pkg/sessionctx/variable/varsutil.go:319 +0x1d
  github.com/pingcap/tidb/pkg/sessionctx/variable.init.func263()
      pkg/sessionctx/variable/sysvar.go:1411 +0x44
  github.com/pingcap/tidb/pkg/domain.(*Domain).rebuildSysVarCache()
      pkg/domain/sysvar_cache.go:144 +0xa94
  github.com/pingcap/tidb/pkg/sessionctx/variable.parseSchemaCacheSize()
      pkg/sessionctx/variable/varsutil.go:551 +0x17c
  github.com/pingcap/tidb/pkg/sessionctx/variable.init.func622()
      pkg/sessionctx/variable/sysvar.go:3310 +0x67
  github.com/pingcap/tidb/pkg/domain.(*Domain).rebuildSysVarCache()
      pkg/domain/sysvar_cache.go:144 +0xa94
  github.com/pingcap/tidb/pkg/sessionctx/variable.init.func621()
      pkg/sessionctx/variable/sysvar.go:3302 +0x52
  github.com/pingcap/tidb/pkg/sessionctx/variable.(*SysVar).ValidateWithRelaxedValidation()
      pkg/sessionctx/variable/variable.go:285 +0x242
  github.com/pingcap/tidb/pkg/domain.(*Domain).rebuildSysVarCache()
      pkg/domain/sysvar_cache.go:143 +0xa24
  github.com/pingcap/tidb/pkg/domain.(*Domain).LoadSysVarCacheLoop()
      pkg/domain/domain.go:2053 +0x93
  github.com/pingcap/tidb/pkg/session.bootstrapSessionImpl()
      pkg/session/session.go:3553 +0x853
  github.com/pingcap/tidb/pkg/sessionctx/variable.init.func263()
      pkg/sessionctx/variable/sysvar.go:1411 +0x44
  github.com/pingcap/tidb/pkg/domain.(*Domain).rebuildSysVarCache()
      pkg/domain/sysvar_cache.go:144 +0xa94
  github.com/pingcap/tidb/pkg/sessionctx/variable.parseMemoryLimit()
      pkg/sessionctx/variable/varsutil.go:288 +0x18b
  github.com/pingcap/tidb/pkg/sessionctx/variable.init.func220()
      pkg/sessionctx/variable/sysvar.go:1147 +0x56
  github.com/pingcap/tidb/pkg/domain.(*Domain).rebuildSysVarCache()
      pkg/domain/sysvar_cache.go:144 +0xa94
  github.com/pingcap/tidb/pkg/sessionctx/variable.init.func219()
      pkg/sessionctx/variable/sysvar.go:1140 +0x52
  github.com/pingcap/tidb/pkg/sessionctx/variable.(*SysVar).ValidateWithRelaxedValidation()
      pkg/sessionctx/variable/variable.go:285 +0x242
  github.com/pingcap/tidb/pkg/domain.(*Domain).rebuildSysVarCache()
      pkg/domain/sysvar_cache.go:143 +0xa24
  github.com/pingcap/tidb/pkg/domain.(*Domain).rebuildSysVarCacheIfNeeded()
      pkg/domain/sysvar_cache.go:51 +0x1bb
  github.com/pingcap/tidb/pkg/domain.(*Domain).GetSessionCache()
      pkg/domain/sysvar_cache.go:62 +0x4a
  github.com/pingcap/tidb/pkg/session.(*session).loadCommonGlobalVariablesIfNeeded()
      pkg/session/session.go:3954 +0x2bc
  github.com/pingcap/tidb/pkg/session.(*session).ExecuteStmt()
      pkg/session/session.go:2029 +0x17a
  github.com/pingcap/tidb/pkg/session.(*session).ExecuteInternal()
      pkg/session/session.go:1540 +0x3af
  github.com/pingcap/tidb/pkg/domain.(*Domain).LoadPrivilegeLoop()
      pkg/domain/domain.go:1981 +0x102
  github.com/pingcap/tidb/pkg/session.bootstrapSessionImpl()
      pkg/session/session.go:3546 +0x804
  github.com/pingcap/tidb/pkg/session.BootstrapSession()
      pkg/session/session.go:3422 +0xac
  github.com/pingcap/tidb/pkg/testkit.bootstrap()
      pkg/testkit/mockstore.go:251 +0x85
  github.com/pingcap/tidb/pkg/testkit.CreateMockStoreAndDomain()
      pkg/testkit/mockstore.go:222 +0xce
  github.com/pingcap/tidb/pkg/util/workloadrepo.setupDomainAndContext()
      pkg/util/workloadrepo/worker_test.go:104 +0x244
  github.com/pingcap/tidb/pkg/util/workloadrepo.TestMultipleWorker()
      pkg/util/workloadrepo/worker_test.go:197 +0x3b
  testing.tRunner()
      GOROOT/src/testing/testing.go:1690 +0x226
  testing.(*T).Run.gowrap1()
      GOROOT/src/testing/testing.go:1743 +0x44
================== 

https://tiprow.hawkingrei.com/view/gs/pingcapprow/logs/tidb_data_race/1902626407092064256#1:build-log.txt%3A44308

4. What is your TiDB version? (Required)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
severity/moderate sig/sql-infra SIG: SQL Infra type/bug The issue is confirmed as a bug.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants