Skip to content

DATA RACE when tidb start up #40567

@lcwangchao

Description

@lcwangchao

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)

make WITH_RACE=1 server

and startup the server

2. What did you expect to see? (Required)

3. What did you see instead (Required)

WARNING: DATA RACE
Write at 0x00c00163aed0 by goroutine 577:
  github.com/pingcap/tidb/statistics/handle.(*Handle).LoadLockedTables()
      /root/wangchao/tidb/statistics/handle/handle.go:143 +0x16b
  github.com/pingcap/tidb/domain.(*Domain).updateStatsWorker()
      /root/wangchao/tidb/domain/domain.go:2112 +0xc96
  github.com/pingcap/tidb/domain.(*Domain).UpdateTableStatsLoop.func1()
      /root/wangchao/tidb/domain/domain.go:1935 +0x68
  github.com/pingcap/tidb/util.(*WaitGroupWrapper).Run.func1()
      /root/wangchao/tidb/util/wait_group_wrapper.go:33 +0x73

Previous read at 0x00c00163aed0 by goroutine 578:
  github.com/pingcap/tidb/statistics/handle.(*Handle).IsTableLocked()
      /root/wangchao/tidb/statistics/handle/handle.go:358 +0xd10
  github.com/pingcap/tidb/statistics/handle.(*Handle).HandleAutoAnalyze()
      /root/wangchao/tidb/statistics/handle/update.go:1113 +0xccd
  github.com/pingcap/tidb/domain.(*Domain).autoAnalyzeWorker()
      /root/wangchao/tidb/domain/domain.go:2153 +0x288
  github.com/pingcap/tidb/domain.(*Domain).UpdateTableStatsLoop.func2()
      /root/wangchao/tidb/domain/domain.go:1936 +0x4c
  github.com/pingcap/tidb/util.(*WaitGroupWrapper).Run.func1()
      /root/wangchao/tidb/util/wait_group_wrapper.go:33 +0x73

Goroutine 577 (running) created at:
  github.com/pingcap/tidb/util.(*WaitGroupWrapper).Run()
      /root/wangchao/tidb/util/wait_group_wrapper.go:31 +0xe4
  github.com/pingcap/tidb/domain.(*Domain).UpdateTableStatsLoop()
      /root/wangchao/tidb/domain/domain.go:1935 +0x525
  github.com/pingcap/tidb/domain.(*Domain).LoadAndUpdateStatsLoop()
      /root/wangchao/tidb/domain/domain.go:1904 +0x6b
  github.com/pingcap/tidb/session.BootstrapSession()
      /root/wangchao/tidb/session/session.go:3419 +0x1549
  github.com/pingcap/tidb/domain.(*Domain).rebuildSysVarCache()
      /root/wangchao/tidb/domain/sysvar_cache.go:147 +0x8d0
  github.com/pingcap/tidb/sessionctx/variable.glob..func168()
      /root/wangchao/tidb/sessionctx/variable/sysvar.go:882 +0x5e
  github.com/pingcap/tidb/sessionctx/variable.(*SysVar).ValidateWithRelaxedValidation()
      /root/wangchao/tidb/sessionctx/variable/variable.go:361 +0x1c7
  github.com/pingcap/tidb/domain.(*Domain).rebuildSysVarCache()
      /root/wangchao/tidb/domain/sysvar_cache.go:146 +0x844
  github.com/pingcap/tidb/domain.(*Domain).LoadSysVarCacheLoop()
      /root/wangchao/tidb/domain/domain.go:1390 +0xa8
  github.com/pingcap/tidb/session.BootstrapSession()
      /root/wangchao/tidb/session/session.go:3338 +0x693
  github.com/pingcap/tidb/domain.(*Domain).GetSessionCache()
      /root/wangchao/tidb/domain/sysvar_cache.go:62 +0x59
  github.com/pingcap/tidb/session.(*session).loadCommonGlobalVariablesIfNeeded()
      /root/wangchao/tidb/session/session.go:3653 +0x104
  github.com/pingcap/tidb/session.(*session).ExecuteStmt()
      /root/wangchao/tidb/session/session.go:2136 +0x2a5
  github.com/pingcap/tidb/session.(*session).ExecuteInternal()
      /root/wangchao/tidb/session/session.go:1670 +0x471
  github.com/pingcap/tidb/domain.(*Domain).LoadPrivilegeLoop()
      /root/wangchao/tidb/domain/domain.go:1332 +0x130
  github.com/pingcap/tidb/session.BootstrapSession()
      /root/wangchao/tidb/session/session.go:3331 +0x644
  main.createStoreAndDomain()
      /root/wangchao/tidb/tidb-server/main.go:329 +0x304
  main.main()
      /root/wangchao/tidb/tidb-server/main.go:223 +0x424

Goroutine 578 (running) created at:
  github.com/pingcap/tidb/util.(*WaitGroupWrapper).Run()
      /root/wangchao/tidb/util/wait_group_wrapper.go:31 +0xe4
  github.com/pingcap/tidb/domain.(*Domain).UpdateTableStatsLoop()
      /root/wangchao/tidb/domain/domain.go:1936 +0x5f1
  github.com/pingcap/tidb/domain.(*Domain).LoadAndUpdateStatsLoop()
      /root/wangchao/tidb/domain/domain.go:1904 +0x6b
  github.com/pingcap/tidb/session.BootstrapSession()
      /root/wangchao/tidb/session/session.go:3419 +0x1549
  github.com/pingcap/tidb/domain.(*Domain).rebuildSysVarCache()
      /root/wangchao/tidb/domain/sysvar_cache.go:147 +0x8d0
  github.com/pingcap/tidb/sessionctx/variable.glob..func168()
      /root/wangchao/tidb/sessionctx/variable/sysvar.go:882 +0x5e
  github.com/pingcap/tidb/sessionctx/variable.(*SysVar).ValidateWithRelaxedValidation()
      /root/wangchao/tidb/sessionctx/variable/variable.go:361 +0x1c7
  github.com/pingcap/tidb/domain.(*Domain).rebuildSysVarCache()
      /root/wangchao/tidb/domain/sysvar_cache.go:146 +0x844
  github.com/pingcap/tidb/domain.(*Domain).LoadSysVarCacheLoop()
      /root/wangchao/tidb/domain/domain.go:1390 +0xa8
  github.com/pingcap/tidb/session.BootstrapSession()
      /root/wangchao/tidb/session/session.go:3338 +0x693
  github.com/pingcap/tidb/domain.(*Domain).GetSessionCache()
      /root/wangchao/tidb/domain/sysvar_cache.go:62 +0x59
  github.com/pingcap/tidb/session.(*session).loadCommonGlobalVariablesIfNeeded()
      /root/wangchao/tidb/session/session.go:3653 +0x104
  github.com/pingcap/tidb/session.(*session).ExecuteStmt()
      /root/wangchao/tidb/session/session.go:2136 +0x2a5
  github.com/pingcap/tidb/session.(*session).ExecuteInternal()
      /root/wangchao/tidb/session/session.go:1670 +0x471
  github.com/pingcap/tidb/domain.(*Domain).LoadPrivilegeLoop()
      /root/wangchao/tidb/domain/domain.go:1332 +0x130
  github.com/pingcap/tidb/session.BootstrapSession()
      /root/wangchao/tidb/session/session.go:3331 +0x644
  main.createStoreAndDomain()
      /root/wangchao/tidb/tidb-server/main.go:329 +0x304
  main.main()
      /root/wangchao/tidb/tidb-server/main.go:223 +0x424

4. What is your TiDB version? (Required)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions