Skip to content

DATA RACE in the TestInitStatsVer2 #42122

@hawkingrei

Description

@hawkingrei

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 0x00c007b7ea33 by goroutine 48:
  github.com/pingcap/tidb/session.(*session).ExecuteInternal()
      session/session.go:1612 +0x118
  github.com/pingcap/tidb/statistics/handle.(*Handle).initTopNCountSum()
      statistics/handle/bootstrap.go:343 +0x205
  github.com/pingcap/tidb/statistics/handle.(*Handle).initStatsHistograms4Chunk()
      statistics/handle/bootstrap.go:146 +0xb7a
  github.com/pingcap/tidb/statistics/handle.(*Handle).initStatsHistograms()
      statistics/handle/bootstrap.go:187 +0x2a4
  github.com/pingcap/tidb/statistics/handle.(*Handle).InitStats()
      statistics/handle/bootstrap.go:420 +0x275
  statistics/handle/handletest/handletest_test.TestInitStatsVer2()
      statistics/handle/handletest/handle_test.go:478 +0x264
  github.com/pingcap/tidb/domain.(*Domain).rebuildSysVarCache()
      domain/sysvar_cache.go:146 +0x8c4
  github.com/pingcap/tidb/domain.(*Domain).LoadSysVarCacheLoop()
      domain/domain.go:1470 +0xa8
  github.com/pingcap/tidb/session.BootstrapSession()
      session/session.go:3314 +0x6d3
  github.com/pingcap/tidb/domain.(*Domain).GetSessionCache()
      domain/sysvar_cache.go:62 +0x5c
  github.com/pingcap/tidb/session.(*session).loadCommonGlobalVariablesIfNeeded()
      session/session.go:3656 +0x104
  github.com/pingcap/tidb/session.(*session).ExecuteStmt()
      session/session.go:2093 +0x145
  github.com/pingcap/tidb/session.(*session).ExecuteInternal()
      session/session.go:1628 +0x31b
  github.com/pingcap/tidb/domain.(*Domain).LoadPrivilegeLoop()
      domain/domain.go:1414 +0x130
  github.com/pingcap/tidb/session.BootstrapSession()
      session/session.go:3307 +0x684
  github.com/pingcap/tidb/testkit.bootstrap()
      testkit/mockstore.go:85 +0xac
  github.com/pingcap/tidb/testkit.CreateMockStoreAndDomain()
      testkit/mockstore.go:70 +0xe9
  statistics/handle/handletest/handletest_test.TestInitStatsVer2()
      statistics/handle/handletest/handle_test.go:462 +0x58
  testing.tRunner()
      GOROOT/src/testing/testing.go:1576 +0x216
  testing.(*T).Run.func1()
      GOROOT/src/testing/testing.go:1629 +0x47
Previous read at 0x00c007b7ea33 by goroutine 30154:
  github.com/pingcap/tidb/distsql.(*selectResult).fetchResp.func1()
      distsql/select_result.go:165 +0x90
  runtime.deferreturn()
      GOROOT/src/runtime/panic.go:476 +0x32
  github.com/pingcap/tidb/distsql.(*selectResult).Next()
      distsql/select_result.go:262 +0x198
  github.com/pingcap/tidb/executor.(*tableResultHandler).nextChunk()
      executor/table_reader.go:516 +0x1a5
  github.com/pingcap/tidb/executor.(*TableReaderExecutor).Next()
      executor/table_reader.go:255 +0x350
  github.com/pingcap/tidb/executor.Next()
      executor/executor.go:324 +0x326
  github.com/pingcap/tidb/executor.(*projectionInputFetcher).run()
      executor/projection.go:388 +0x5e4
  github.com/pingcap/tidb/executor.(*ProjectionExec).prepare.func1()
      executor/projection.go:277 +0x58
Goroutine 48 (running) created at:
  testing.(*T).Run()
      GOROOT/src/testing/testing.go:1629 +0x805
  testing.runTests.func1()
      GOROOT/src/testing/testing.go:2036 +0x8d
  testing.tRunner()
      GOROOT/src/testing/testing.go:1576 +0x216
  testing.runTests()
      GOROOT/src/testing/testing.go:2034 +0x87c
  testing.(*M).Run()
      GOROOT/src/testing/testing.go:1906 +0xb44
  go.uber.org/goleak.VerifyTestMain()
      external/org_uber_go_goleak/testmain.go:53 +0x70
  statistics/handle/handletest/handletest_test.TestMain()
      statistics/handle/handletest/main_test.go:32 +0x435
  main.main()
      bazel-out/k8-fastbuild/bin/statistics/handle/handletest/handletest_test_/testmain.go:246 +0x5e8
Goroutine 30154 (finished) created at:
  github.com/pingcap/tidb/executor.(*ProjectionExec).prepare()
      executor/projection.go:277 +0xd59
  github.com/pingcap/tidb/executor.(*ProjectionExec).parallelExecute()
      executor/projection.go:212 +0xd6
  github.com/pingcap/tidb/executor.(*ProjectionExec).Next()
      executor/projection.go:185 +0xcc
  github.com/pingcap/tidb/executor.Next()
      executor/executor.go:324 +0x326
  github.com/pingcap/tidb/executor.(*ExecStmt).next()
      executor/adapter.go:1211 +0x89
  github.com/pingcap/tidb/executor.(*recordSet).Next()
      executor/adapter.go:149 +0x164
  github.com/pingcap/tidb/session.(*execStmtResult).Next()
      <autogenerated>:1 +0x76
  github.com/pingcap/tidb/statistics/handle.(*Handle).initStatsHistograms()
      statistics/handle/bootstrap.go:180 +0x2d5
  github.com/pingcap/tidb/statistics/handle.(*Handle).InitStats()
      statistics/handle/bootstrap.go:420 +0x275
  statistics/handle/handletest/handletest_test.TestInitStatsVer2()
      statistics/handle/handletest/handle_test.go:478 +0x264
  github.com/pingcap/tidb/domain.(*Domain).rebuildSysVarCache()
      domain/sysvar_cache.go:146 +0x8c4
  github.com/pingcap/tidb/domain.(*Domain).LoadSysVarCacheLoop()
      domain/domain.go:1470 +0xa8
  github.com/pingcap/tidb/session.BootstrapSession()
      session/session.go:3314 +0x6d3
  github.com/pingcap/tidb/domain.(*Domain).GetSessionCache()
      domain/sysvar_cache.go:62 +0x5c
  github.com/pingcap/tidb/session.(*session).loadCommonGlobalVariablesIfNeeded()
      session/session.go:3656 +0x104
  github.com/pingcap/tidb/session.(*session).ExecuteStmt()
      session/session.go:2093 +0x145
  github.com/pingcap/tidb/session.(*session).ExecuteInternal()
      session/session.go:1628 +0x31b
  github.com/pingcap/tidb/domain.(*Domain).LoadPrivilegeLoop()
      domain/domain.go:1414 +0x130
  github.com/pingcap/tidb/session.BootstrapSession()
      session/session.go:3307 +0x684
  github.com/pingcap/tidb/testkit.bootstrap()
      testkit/mockstore.go:85 +0xac
  github.com/pingcap/tidb/testkit.CreateMockStoreAndDomain()
      testkit/mockstore.go:70 +0xe9
  statistics/handle/handletest/handletest_test.TestInitStatsVer2()
      statistics/handle/handletest/handle_test.go:462 +0x58
  testing.tRunner()
      GOROOT/src/testing/testing.go:1576 +0x216
  testing.(*T).Run.func1()
      GOROOT/src/testing/testing.go:1629 +0x47
================== 

4. What is your TiDB version? (Required)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions