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 mockProxyProtocolProxy #41685

Closed
Tracked by #41316
hawkingrei opened this issue Feb 23, 2023 · 1 comment · Fixed by #42358
Closed
Tracked by #41316

DATA RACE in the mockProxyProtocolProxy #41685

hawkingrei opened this issue Feb 23, 2023 · 1 comment · Fixed by #42358
Assignees
Labels
component/test severity/major sig/sql-infra SIG: SQL Infra 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 0x00c01987b2f8 by goroutine 48454:
  github.com/pingcap/tidb/server.(*mockProxyProtocolProxy).ListenAddr()
      server/tidb_test.go:3020 +0x604
  github.com/pingcap/tidb/server.TestProxyProtocolWithIpFallbackable()
      server/tidb_test.go:3153 +0x656
  github.com/pingcap/tidb/domain.(*Domain).rebuildSysVarCache()
      domain/sysvar_cache.go:146 +0x7c4
  github.com/pingcap/tidb/domain.(*Domain).LoadSysVarCacheLoop()
      domain/domain.go:1449 +0xb9
  github.com/pingcap/tidb/session.BootstrapSession()
      session/session.go:3350 +0x7cc
  github.com/pingcap/tidb/domain.(*Domain).GetSessionCache()
      domain/sysvar_cache.go:62 +0x71
  github.com/pingcap/tidb/session.(*session).loadCommonGlobalVariablesIfNeeded()
      session/session.go:3683 +0x11e
  github.com/pingcap/tidb/session.(*session).ExecuteStmt()
      session/session.go:2148 +0x16b
  github.com/pingcap/tidb/session.(*session).ExecuteInternal()
      session/session.go:1678 +0x365
  github.com/pingcap/tidb/domain.(*Domain).LoadPrivilegeLoop()
      domain/domain.go:1393 +0x143
  github.com/pingcap/tidb/session.BootstrapSession()
      session/session.go:3343 +0x76c
  github.com/pingcap/tidb/server.createTidbTestSuiteWithCfg()
      server/tidb_test.go:102 +0x219
  github.com/pingcap/tidb/server.createTidbTestSuite()
      server/tidb_test.go:91 +0xc5
  github.com/pingcap/tidb/server.TestProxyProtocolWithIpFallbackable()
      server/tidb_test.go:3125 +0x110
  testing.tRunner()
      GOROOT/src/testing/testing.go:1576 +0x216
  testing.(*T).Run.func1()
      GOROOT/src/testing/testing.go:1629 +0x47

Previous write at 0x00c01987b2f8 by goroutine 70748:
  github.com/pingcap/tidb/server.(*mockProxyProtocolProxy).Run()
      server/tidb_test.go:3025 +0x96
  github.com/pingcap/tidb/server.TestProxyProtocolWithIpFallbackable.func3()
      server/tidb_test.go:3145 +0x30

Goroutine 48454 (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
  github.com/pingcap/tidb/server.TestMain()
      server/main_test.go:74 +0xe59
  main.main()
      bazel-out/k8-fastbuild/bin/server/server_test_/testmain.go:424 +0x7ce

Goroutine 70748 (running) created at:
  github.com/pingcap/tidb/server.TestProxyProtocolWithIpFallbackable()
      server/tidb_test.go:3144 +0x56b
  github.com/pingcap/tidb/domain.(*Domain).rebuildSysVarCache()
      domain/sysvar_cache.go:146 +0x7c4
  github.com/pingcap/tidb/domain.(*Domain).LoadSysVarCacheLoop()
      domain/domain.go:1449 +0xb9
  github.com/pingcap/tidb/session.BootstrapSession()
      session/session.go:3350 +0x7cc
  github.com/pingcap/tidb/domain.(*Domain).GetSessionCache()
      domain/sysvar_cache.go:62 +0x71
  github.com/pingcap/tidb/session.(*session).loadCommonGlobalVariablesIfNeeded()
      session/session.go:3683 +0x11e
  github.com/pingcap/tidb/session.(*session).ExecuteStmt()
      session/session.go:2148 +0x16b
  github.com/pingcap/tidb/session.(*session).ExecuteInternal()
      session/session.go:1678 +0x365
  github.com/pingcap/tidb/domain.(*Domain).LoadPrivilegeLoop()
      domain/domain.go:1393 +0x143
  github.com/pingcap/tidb/session.BootstrapSession()
      session/session.go:3343 +0x76c
  github.com/pingcap/tidb/server.createTidbTestSuiteWithCfg()
      server/tidb_test.go:102 +0x219
  github.com/pingcap/tidb/server.createTidbTestSuite()
      server/tidb_test.go:91 +0xc5
  github.com/pingcap/tidb/server.TestProxyProtocolWithIpFallbackable()
      server/tidb_test.go:3125 +0x110
  testing.tRunner()
      GOROOT/src/testing/testing.go:1576 +0x216
  testing.(*T).Run.func1()
      GOROOT/src/testing/testing.go:1629 +0x4

4. What is your TiDB version? (Required)

@hawkingrei hawkingrei added the type/bug The issue is confirmed as a bug. label Feb 23, 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.0 may-affects-6.1 may-affects-6.2 may-affects-6.3 may-affects-6.4 may-affects-6.5 may-affects-6.6 labels Feb 24, 2023
@aytrack aytrack 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 may-affects-6.5 may-affects-6.6 labels Feb 24, 2023
@hawkingrei
Copy link
Member Author

==================
WARNING: DATA RACE
Write at 0x00c01c321308 by goroutine 56229:
  github.com/pingcap/tidb/server.(*mockProxyProtocolProxy).Close()
      server/tidb_test.go:3041 +0x3e
  github.com/pingcap/tidb/server.TestProxyProtocolWithIpFallbackable.func4()
      server/tidb_test.go:3150 +0x32
  runtime.deferreturn()
      GOROOT/src/runtime/panic.go:476 +0x32
  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/server.createTidbTestSuiteWithCfg()
      server/tidb_test.go:102 +0x22f
  github.com/pingcap/tidb/server.createTidbTestSuite()
      server/tidb_test.go:91 +0x224
  github.com/pingcap/tidb/server.TestProxyProtocolWithIpFallbackable()
      server/tidb_test.go:3126 +0x285
  testing.tRunner()
      GOROOT/src/testing/testing.go:1576 +0x216
  testing.(*T).Run.func1()
      GOROOT/src/testing/testing.go:1629 +0x47
Previous read at 0x00c01c321308 by goroutine 83905:
  github.com/pingcap/tidb/server.(*mockProxyProtocolProxy).Run()
      server/tidb_test.go:3030 +0x104
  github.com/pingcap/tidb/server.TestProxyProtocolWithIpFallbackable.func3()
      server/tidb_test.go:3146 +0x30
Goroutine 56229 (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
  github.com/pingcap/tidb/server.TestMain()
      server/main_test.go:74 +0xe79
  main.main()
      bazel-out/k8-fastbuild/bin/server/server_test_/testmain.go:412 +0x5e8
      server/tidb_test.go:3126 +0x285
  testing.tRunner()
      GOROOT/src/testing/testing.go:1576 +0x216
  testing.(*T).Run.func1()
      GOROOT/src/testing/testing.go:1629 +0x47
================== 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/test severity/major 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.

4 participants