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 HashAggFinalWorker.loadFinalResult #39682

Closed
hawkingrei opened this issue Dec 6, 2022 · 0 comments · Fixed by #39718
Closed

DATA RACE in the HashAggFinalWorker.loadFinalResult #39682

hawkingrei opened this issue Dec 6, 2022 · 0 comments · Fixed by #39718
Labels
component/test severity/major 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)

==================
WARNING: DATA RACE
Write at 0x00c00659fa90 by goroutine 85:
  github.com/pingcap/tidb/executor.ResetContextOfStmt()
      executor/executor.go:2164 +0x3450
  github.com/pingcap/tidb/session.(*session).ExecuteStmt()
      session/session.go:2133 +0x39c
  github.com/pingcap/tidb/session.(*session).Execute()
      session/session.go:1701 +0x47c
  github.com/pingcap/tidb/session.exec()
      session/main_test.go:111 +0xc1
  github.com/pingcap/tidb/session.mustExec()
      session/main_test.go:103 +0x89
  github.com/pingcap/tidb/session.TestBootstrap()
      session/bootstrap_test.go:88 +0xea8
  github.com/pingcap/tidb/session.runStmt()
      session/session.go:2346 +0x761
  github.com/pingcap/tidb/session.(*session).ExecuteStmt()
      session/session.go:2210 +0x1025
  github.com/pingcap/tidb/session.(*session).Execute()
      session/session.go:1701 +0x47c
  github.com/pingcap/tidb/session.exec()
      session/main_test.go:111 +0xc1
  github.com/pingcap/tidb/session.mustExec()
      session/main_test.go:103 +0x89
  github.com/pingcap/tidb/session.TestBootstrap()
      session/bootstrap_test.go:47 +0x16e
  github.com/pingcap/tidb/sessionctx/variable.(*SysVar).ValidateWithRelaxedValidation()
      sessionctx/variable/variable.go:361 +0x1c7
  github.com/pingcap/tidb/domain.(*Domain).rebuildSysVarCache()
      domain/sysvar_cache.go:146 +0x844
  github.com/pingcap/tidb/domain.(*Domain).LoadSysVarCacheLoop()
      domain/domain.go:1360 +0xa8
  github.com/pingcap/tidb/session.BootstrapSession()
      session/session.go:3016 +0x693
  github.com/pingcap/tidb/domain.(*Domain).GetSessionCache()
      domain/sysvar_cache.go:62 +0x59
  github.com/pingcap/tidb/session.(*session).loadCommonGlobalVariablesIfNeeded()
      session/session.go:3268 +0x104
  github.com/pingcap/tidb/session.(*session).ExecuteStmt()
      session/session.go:2125 +0x2a5
  github.com/pingcap/tidb/session.(*session).ExecuteInternal()
      session/session.go:1673 +0x471
  github.com/pingcap/tidb/domain.(*Domain).LoadPrivilegeLoop()
      domain/domain.go:1302 +0x130
  github.com/pingcap/tidb/session.BootstrapSession()
      session/session.go:3009 +0x644
  github.com/pingcap/tidb/session.createStoreAndBootstrap()
      session/main_test.go:88 +0x64
  github.com/pingcap/tidb/session.TestBootstrap()
      session/bootstrap_test.go:43 +0x4a
  testing.tRunner()
      GOROOT/src/testing/testing.go:1446 +0x216
  testing.(*T).Run.func1()
      GOROOT/src/testing/testing.go:1493 +0x47
Previous read at 0x00c00659fa90 by goroutine 18036:
  github.com/pingcap/tidb/executor.(*HashAggFinalWorker).loadFinalResult()
      executor/aggregate.go:731 +0x66f
  github.com/pingcap/tidb/executor.(*HashAggFinalWorker).run()
      executor/aggregate.go:778 +0x210
  github.com/pingcap/tidb/executor.(*HashAggExec).prepare4ParallelExec.func5()
      executor/aggregate.go:883 +0x64
Goroutine 85 (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
  github.com/pingcap/tidb/testkit/testmain.(*testingM).Run()
      testkit/testmain/wrapper.go:27 +0x42
  go.uber.org/goleak.VerifyTestMain()
      external/org_uber_go_goleak/testmain.go:53 +0x70
  github.com/pingcap/tidb/session.TestMain()
      session/main_test.go:78 +0xf33
  main.main()
      bazel-out/k8-fastbuild/bin/session/session_test_/testmain.go:350 +0x5e8
Goroutine 18036 (finished) created at:
  github.com/pingcap/tidb/executor.(*HashAggExec).prepare4ParallelExec()
      executor/aggregate.go:883 +0x6e4
  github.com/pingcap/tidb/executor.(*HashAggExec).parallelExec()
      executor/aggregate.go:904 +0x9c
  github.com/pingcap/tidb/executor.(*HashAggExec).Next()
      executor/aggregate.go:787 +0x146
  github.com/pingcap/tidb/executor.Next()
      executor/executor.go:328 +0x5c3
  github.com/pingcap/tidb/executor.(*ExecStmt).next()
      executor/adapter.go:1142 +0x89
  github.com/pingcap/tidb/executor.(*recordSet).Next()
      executor/adapter.go:153 +0x164
  github.com/pingcap/tidb/session.(*execStmtResult).Next()
      <autogenerated>:1 +0x76
  github.com/pingcap/tidb/session.TestBootstrap()
      session/bootstrap_test.go:83 +0xcc6
  github.com/pingcap/tidb/session.runStmt()
      session/session.go:2346 +0x761
  github.com/pingcap/tidb/session.(*session).ExecuteStmt()
      session/session.go:2210 +0x1025
  github.com/pingcap/tidb/session.(*session).Execute()
      session/session.go:1701 +0x47c
  github.com/pingcap/tidb/session.exec()
      session/main_test.go:111 +0xc1
  github.com/pingcap/tidb/session.mustExec()
      session/main_test.go:103 +0x89
  github.com/pingcap/tidb/session.TestBootstrap()
      session/bootstrap_test.go:47 +0x16e
  github.com/pingcap/tidb/sessionctx/variable.(*SysVar).ValidateWithRelaxedValidation()
      sessionctx/variable/variable.go:361 +0x1c7
  github.com/pingcap/tidb/domain.(*Domain).rebuildSysVarCache()
      domain/sysvar_cache.go:146 +0x844
  github.com/pingcap/tidb/domain.(*Domain).LoadSysVarCacheLoop()
      domain/domain.go:1360 +0xa8
  github.com/pingcap/tidb/session.BootstrapSession()
      session/session.go:3016 +0x693
  github.com/pingcap/tidb/domain.(*Domain).GetSessionCache()
      domain/sysvar_cache.go:62 +0x59
  github.com/pingcap/tidb/session.(*session).loadCommonGlobalVariablesIfNeeded()
      session/session.go:3268 +0x104
  github.com/pingcap/tidb/session.(*session).ExecuteStmt()
      session/session.go:2125 +0x2a5
  github.com/pingcap/tidb/session.(*session).ExecuteInternal()
      session/session.go:1673 +0x471
  github.com/pingcap/tidb/domain.(*Domain).LoadPrivilegeLoop()
      domain/domain.go:1302 +0x130
  github.com/pingcap/tidb/session.BootstrapSession()
      session/session.go:3009 +0x644
  github.com/pingcap/tidb/session.createStoreAndBootstrap()
      session/main_test.go:88 +0x64
  github.com/pingcap/tidb/session.TestBootstrap()
      session/bootstrap_test.go:43 +0x4a
  testing.tRunner()
      GOROOT/src/testing/testing.go:1446 +0x216
  testing.(*T).Run.func1()
      GOROOT/src/testing/testing.go:1493 +0x47
================== 

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

3. What did you see instead (Required)

4. What is your TiDB version? (Required)

@hawkingrei hawkingrei added the type/bug The issue is confirmed as a bug. label Dec 6, 2022
@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.0 may-affects-6.1 may-affects-6.2 may-affects-6.3 may-affects-6.4 labels Dec 7, 2022
@ChenPeng2013 ChenPeng2013 removed 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.0 may-affects-6.1 may-affects-6.2 may-affects-6.3 may-affects-6.4 labels Dec 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/test severity/major type/bug The issue is confirmed as a bug.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants