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 at the GetInternalSessionStartTSList #42933

Closed
Tracked by #41316
hawkingrei opened this issue Apr 11, 2023 · 1 comment · Fixed by #42935
Closed
Tracked by #41316

DATA RACE at the GetInternalSessionStartTSList #42933

hawkingrei opened this issue Apr 11, 2023 · 1 comment · Fixed by #42935
Labels
component/test severity/moderate type/bug The issue is confirmed as a bug.

Comments

@hawkingrei
Copy link
Member

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 0x00c005e86188 by goroutine 47260:

  github.com/pingcap/tidb/testkit.(*MockSessionManager).GetInternalSessionStartTSList()

      testkit/mocksessionmanager.go:147 +0x28e

  github.com/pingcap/tidb/domain/infosync.(*InfoSyncer).ReportMinStartTS()

      domain/infosync/info.go:801 +0xc1

  github.com/pingcap/tidb/domain.(*Domain).infoSyncerKeeper()

      domain/domain.go:666 +0x51a

  github.com/pingcap/tidb/domain.(*Domain).infoSyncerKeeper-fm()

      <autogenerated>:1 +0x39

  github.com/pingcap/tidb/util.(*WaitGroupEnhancedWrapper).Run.func1()

      util/wait_group_wrapper.go:96 +0xde


Previous write at 0x00c005e86188 by goroutine 47255:

  github.com/pingcap/tidb/sessiontxn/isolation.(*baseTxnContextProvider).OnInitialize()

      sessiontxn/isolation/base.go:123 +0x8f9

  github.com/pingcap/tidb/sessiontxn/isolation.(*OptimisticTxnContextProvider).OnInitialize()

      <autogenerated>:1 +0x64

  github.com/pingcap/tidb/session.(*txnManager).EnterNewTxn()

      session/txnmanager.go:168 +0xa7

  github.com/pingcap/tidb/sessiontxn.NewTxn()

      sessiontxn/interface.go:224 +0x141

  github.com/pingcap/tidb/ddl/internal/session.(*Session).Begin()

      ddl/internal/session/session.go:44 +0x7c

  github.com/pingcap/tidb/ddl/internal/session.(*Session).RunInTxn()

      ddl/internal/session/session.go:108 +0x64

  github.com/pingcap/tidb/ddl.GetBackfillJobForOneEle()

      ddl/job_table.go:702 +0x1a8

  github.com/pingcap/tidb/ddl.(*ddl).loadBackfillJobAndRun()

      ddl/job_table.go:396 +0x431

  github.com/pingcap/tidb/ddl.(*ddl).startDispatchBackfillJobsLoop()

      ddl/job_table.go:353 +0x564

  github.com/pingcap/tidb/ddl.(*ddl).startDispatchBackfillJobsLoop-fm()

      <autogenerated>:1 +0x39

  github.com/pingcap/tidb/util.(*WaitGroupWrapper).Run.func1()

      util/wait_group_wrapper.go:154 +0x87


Goroutine 47260 (running) created at:

  github.com/pingcap/tidb/util.(*WaitGroupEnhancedWrapper).Run()

      util/wait_group_wrapper.go:91 +0x15a

  github.com/pingcap/tidb/domain.(*Domain).Init()

      domain/domain.go:1181 +0x14ed

  github.com/pingcap/tidb/session.(*domainMap).Get.func1()

      session/tidb.go:93 +0x67c

  github.com/pingcap/tidb/util.RunWithRetry()

      util/misc.go:69 +0xbe

  github.com/pingcap/tidb/session.(*domainMap).Get()

      session/tidb.go:79 +0x2f8

  github.com/pingcap/tidb/session.createSessionWithOpt()

      session/session.go:3529 +0x86

  github.com/pingcap/tidb/session.createSession()

      session/session.go:3525 +0x49

  github.com/pingcap/tidb/session.createSessions()

      session/session.go:3510 +0x9a

  github.com/pingcap/tidb/session.BootstrapSession()

      session/session.go:3285 +0x455

  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

  executor/tiflashtest/tiflashtest_test.TestTiFlashPartitionTableShuffledHashAggregation()

      executor/tiflashtest/tiflash_test.go:941 +0x84

  testing.tRunner()

      GOROOT/src/testing/testing.go:1576 +0x216

  testing.(*T).Run.func1()

      GOROOT/src/testing/testing.go:1629 +0x47


Goroutine 47255 (running) created at:

  github.com/pingcap/tidb/util.(*WaitGroupWrapper).Run()

      util/wait_group_wrapper.go:152 +0xf6

  github.com/pingcap/tidb/ddl.(*ddl).prepareBackfillWorkers()

      ddl/ddl.go:755 +0x276

  github.com/pingcap/tidb/ddl.(*ddl).Start()

      ddl/ddl.go:790 +0x749

  github.com/pingcap/tidb/domain.(*Domain).Init()

      domain/domain.go:1166 +0x1172

  github.com/pingcap/tidb/session.(*domainMap).Get.func1()

      session/tidb.go:93 +0x67c

  github.com/pingcap/tidb/util.RunWithRetry()

      util/misc.go:69 +0xbe

  github.com/pingcap/tidb/session.(*domainMap).Get()

      session/tidb.go:79 +0x2f8

  github.com/pingcap/tidb/session.createSessionWithOpt()

      session/session.go:3529 +0x86

  github.com/pingcap/tidb/session.createSession()

      session/session.go:3525 +0x49

  github.com/pingcap/tidb/session.createSessions()

      session/session.go:3510 +0x9a

  github.com/pingcap/tidb/session.BootstrapSession()

      session/session.go:3285 +0x455

  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

  executor/tiflashtest/tiflashtest_test.TestTiFlashPartitionTableShuffledHashAggregation()

      executor/tiflashtest/tiflash_test.go:941 +0x84

  testing.tRunner()

      GOROOT/src/testing/testing.go:1576 +0x216

  testing.(*T).Run.func1()

      GOROOT/src/testing/testing.go:1629 +0x47

==================

==================

WARNING: DATA RACE

Read at 0x00c014ed96b8 by goroutine 47260:

  github.com/pingcap/tidb/testkit.(*MockSessionManager).GetInternalSessionStartTSList()

      testkit/mocksessionmanager.go:147 +0x2b3

  github.com/pingcap/tidb/domain/infosync.(*InfoSyncer).ReportMinStartTS()

      domain/infosync/info.go:801 +0xc1

  github.com/pingcap/tidb/domain.(*Domain).infoSyncerKeeper()

      domain/domain.go:666 +0x51a

  github.com/pingcap/tidb/domain.(*Domain).infoSyncerKeeper-fm()

      <autogenerated>:1 +0x39

  github.com/pingcap/tidb/util.(*WaitGroupEnhancedWrapper).Run.func1()

      util/wait_group_wrapper.go:96 +0xde


Previous write at 0x00c014ed96b8 by goroutine 47255:

  github.com/pingcap/tidb/sessiontxn/isolation.(*baseTxnContextProvider).OnInitialize()

      sessiontxn/isolation/base.go:111 +0x648

  github.com/pingcap/tidb/sessiontxn/isolation.(*OptimisticTxnContextProvider).OnInitialize()

      <autogenerated>:1 +0x64

  github.com/pingcap/tidb/session.(*txnManager).EnterNewTxn()

      session/txnmanager.go:168 +0xa7

  github.com/pingcap/tidb/sessiontxn.NewTxn()

      sessiontxn/interface.go:224 +0x141

  github.com/pingcap/tidb/ddl/internal/session.(*Session).Begin()

      ddl/internal/session/session.go:44 +0x7c

  github.com/pingcap/tidb/ddl/internal/session.(*Session).RunInTxn()

      ddl/internal/session/session.go:108 +0x64

  github.com/pingcap/tidb/ddl.GetBackfillJobForOneEle()

      ddl/job_table.go:702 +0x1a8

  github.com/pingcap/tidb/ddl.(*ddl).loadBackfillJobAndRun()

      ddl/job_table.go:396 +0x431

  github.com/pingcap/tidb/ddl.(*ddl).startDispatchBackfillJobsLoop()

      ddl/job_table.go:353 +0x564

  github.com/pingcap/tidb/ddl.(*ddl).startDispatchBackfillJobsLoop-fm()

      <autogenerated>:1 +0x39

  github.com/pingcap/tidb/util.(*WaitGroupWrapper).Run.func1()

      util/wait_group_wrapper.go:154 +0x87


Goroutine 47260 (running) created at:

  github.com/pingcap/tidb/util.(*WaitGroupEnhancedWrapper).Run()

      util/wait_group_wrapper.go:91 +0x15a

  github.com/pingcap/tidb/domain.(*Domain).Init()

      domain/domain.go:1181 +0x14ed

  github.com/pingcap/tidb/session.(*domainMap).Get.func1()

      session/tidb.go:93 +0x67c

  github.com/pingcap/tidb/util.RunWithRetry()

      util/misc.go:69 +0xbe

  github.com/pingcap/tidb/session.(*domainMap).Get()

      session/tidb.go:79 +0x2f8

  github.com/pingcap/tidb/session.createSessionWithOpt()

      session/session.go:3529 +0x86

  github.com/pingcap/tidb/session.createSession()

      session/session.go:3525 +0x49

  github.com/pingcap/tidb/session.createSessions()

      session/session.go:3510 +0x9a

  github.com/pingcap/tidb/session.BootstrapSession()

      session/session.go:3285 +0x455

  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

  executor/tiflashtest/tiflashtest_test.TestTiFlashPartitionTableShuffledHashAggregation()

      executor/tiflashtest/tiflash_test.go:941 +0x84

  testing.tRunner()

      GOROOT/src/testing/testing.go:1576 +0x216

  testing.(*T).Run.func1()

      GOROOT/src/testing/testing.go:1629 +0x47


Goroutine 47255 (running) created at:

  github.com/pingcap/tidb/util.(*WaitGroupWrapper).Run()

      util/wait_group_wrapper.go:152 +0xf6

  github.com/pingcap/tidb/ddl.(*ddl).prepareBackfillWorkers()

      ddl/ddl.go:755 +0x276

  github.com/pingcap/tidb/ddl.(*ddl).Start()

      ddl/ddl.go:790 +0x749

  github.com/pingcap/tidb/domain.(*Domain).Init()

      domain/domain.go:1166 +0x1172

  github.com/pingcap/tidb/session.(*domainMap).Get.func1()

      session/tidb.go:93 +0x67c

  github.com/pingcap/tidb/util.RunWithRetry()

      util/misc.go:69 +0xbe

  github.com/pingcap/tidb/session.(*domainMap).Get()

      session/tidb.go:79 +0x2f8

  github.com/pingcap/tidb/session.createSessionWithOpt()

      session/session.go:3529 +0x86

  github.com/pingcap/tidb/session.createSession()

      session/session.go:3525 +0x49

  github.com/pingcap/tidb/session.createSessions()

      session/session.go:3510 +0x9a

  github.com/pingcap/tidb/session.BootstrapSession()

      session/session.go:3285 +0x455

  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

  executor/tiflashtest/tiflashtest_test.TestTiFlashPartitionTableShuffledHashAggregation()

      executor/tiflashtest/tiflash_test.go:941 +0x84

  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)

@hawkingrei hawkingrei added the type/bug The issue is confirmed as a bug. label Apr 11, 2023
@ti-chi-bot ti-chi-bot added may-affects-4.0 This bug maybe affects 4.0.x versions. may-affects-5.0 This bug maybe affects 5.0.x versions. may-affects-5.1 This bug maybe affects 5.1.x versions. may-affects-5.2 This bug maybe affects 5.2.x versions. may-affects-5.3 This bug maybe affects 5.3.x versions. may-affects-5.4 This bug maybe affects 5.4.x versions. may-affects-6.1 may-affects-6.5 labels Apr 11, 2023
@hawkingrei hawkingrei added severity/moderate and removed severity/major may-affects-4.0 This bug maybe affects 4.0.x versions. may-affects-5.1 This bug maybe affects 5.1.x versions. may-affects-5.2 This bug maybe affects 5.2.x versions. may-affects-5.3 This bug maybe affects 5.3.x versions. may-affects-5.4 This bug maybe affects 5.4.x versions. may-affects-5.0 This bug maybe affects 5.0.x versions. may-affects-6.1 may-affects-6.5 labels Apr 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/test severity/moderate type/bug The issue is confirmed as a bug.
Projects
None yet
2 participants