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

A data race has been detected #9860

Closed
ngaut opened this issue Mar 22, 2019 · 0 comments · Fixed by #10224
Closed

A data race has been detected #9860

ngaut opened this issue Mar 22, 2019 · 0 comments · Fixed by #10224
Assignees
Labels
type/bug The issue is confirmed as a bug.

Comments

@ngaut
Copy link
Member

ngaut commented Mar 22, 2019

See the goroutine stack:

WARNING: DATA RACE
Write at 0x00c00123f590 by goroutine 121:
  github.com/pingcap/tidb/expression.(*compareFunctionClass).generateCmpSigs()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/expression/util.go:582 +0x1dc
  github.com/pingcap/tidb/expression.(*compareFunctionClass).getFunction()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/expression/builtin_compare.go:1208 +0x1c7
  github.com/pingcap/tidb/expression.newFunctionImpl()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/expression/scalar_function.go:87 +0x290
  github.com/pingcap/tidb/expression.NewFunction()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/expression/scalar_function.go:107 +0xb0
  github.com/pingcap/tidb/planner/core.(*expressionRewriter).newFunction()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/planner/core/expression_rewriter.go:894 +0x1de
  github.com/pingcap/tidb/planner/core.(*expressionRewriter).constructBinaryOpFunction()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/planner/core/expression_rewriter.go:192 +0x1586
  github.com/pingcap/tidb/planner/core.(*expressionRewriter).binaryOpToExpression()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/planner/core/expression_rewriter.go:990 +0x281
  github.com/pingcap/tidb/planner/core.(*expressionRewriter).Leave()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/planner/core/expression_rewriter.go:841 +0xe39
  github.com/pingcap/parser/ast.(*BinaryOperationExpr).Accept()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/pkg/mod/github.com/pingcap/[email protected]/ast/expressions.go:200 +0x22e
  github.com/pingcap/parser/ast.(*ParenthesesExpr).Accept()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/pkg/mod/github.com/pingcap/[email protected]/ast/expressions.go:935 +0x152
  github.com/pingcap/tidb/planner/core.(*PlanBuilder).rewriteExprNode()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/planner/core/expression_rewriter.go:138 +0x72
  github.com/pingcap/tidb/planner/core.(*PlanBuilder).rewriteWithPreprocess()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/planner/core/expression_rewriter.go:109 +0x1f8
  github.com/pingcap/tidb/planner/core.(*PlanBuilder).rewrite()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/planner/core/expression_rewriter.go:85 +0xa6
  github.com/pingcap/tidb/planner/core.(*PlanBuilder).buildProjection()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/planner/core/logical_plan_builder.go:695 +0x7af
  github.com/pingcap/tidb/planner/core.(*PlanBuilder).buildSelect()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/planner/core/logical_plan_builder.go:1966 +0x640
  github.com/pingcap/tidb/planner/core.(*PlanBuilder).Build()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/planner/core/planbuilder.go:201 +0xcce
  github.com/pingcap/tidb/planner.Optimize()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/planner/optimize.go:38 +0x265
  github.com/pingcap/tidb/executor.(*Compiler).Compile()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/executor/compiler.go:50 +0x238
  github.com/pingcap/tidb/session.(*session).execute()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/session.go:973 +0xd57
  github.com/pingcap/tidb/session.(*session).Execute()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/session.go:933 +0xd4
  github.com/pingcap/tidb/util/testkit.(*TestKit).Exec()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/util/testkit/testkit.go:137 +0x100
  github.com/pingcap/tidb/util/testkit.(*TestKit).MustQuery()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/util/testkit/testkit.go:182 +0x212
  github.com/pingcap/tidb/expression_test.(*testIntegrationSuite).TestCompareBuiltin()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/expression/integration_test.go:2858 +0x80e
  github.com/pingcap/tidb/expression_test.(*testIntegrationSuite).TestCompareBuiltin()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/expression/integration_test.go:2827 +0x19c
  runtime.call32()
      /usr/local/go/src/runtime/asm_amd64.s:519 +0x3a
  reflect.Value.Call()
      /usr/local/go/src/reflect/value.go:308 +0xc0
  github.com/pingcap/check.(*suiteRunner).forkTest.func1()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/pkg/mod/github.com/pingcap/[email protected]/check.go:836 +0x9fc
  github.com/pingcap/check.(*suiteRunner).forkCall.func1()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/pkg/mod/github.com/pingcap/[email protected]/check.go:730 +0xb7

Previous read at 0x00c00123f590 by goroutine 123:
  github.com/pingcap/tidb/statistics.(*Handle).columnStatsFromStorage()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/statistics/table.go:167 +0x1780
  github.com/pingcap/tidb/statistics.(*Handle).tableStatsFromStorage()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/statistics/table.go:266 +0x455
  github.com/pingcap/tidb/statistics.(*Handle).Update()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/statistics/handle.go:157 +0x690
  github.com/pingcap/tidb/domain.(*Domain).updateStatsWorker()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/domain/domain.go:908 +0x1207

Goroutine 121 (running) created at:
  github.com/pingcap/check.(*suiteRunner).forkCall()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/pkg/mod/github.com/pingcap/[email protected]/check.go:727 +0x4a7
  github.com/pingcap/check.(*suiteRunner).forkTest()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/pkg/mod/github.com/pingcap/[email protected]/check.go:818 +0x1b9
  github.com/pingcap/check.(*suiteRunner).doRun()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/pkg/mod/github.com/pingcap/[email protected]/check.go:659 +0x12d
  github.com/pingcap/check.(*suiteRunner).run()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/pkg/mod/github.com/pingcap/[email protected]/check.go:689 +0x176
  github.com/pingcap/check.Run()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/pkg/mod/github.com/pingcap/[email protected]/run.go:142 +0x5a
  github.com/pingcap/check.RunAll()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/pkg/mod/github.com/pingcap/[email protected]/run.go:105 +0xf32
  github.com/pingcap/check.TestingT()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/pkg/mod/github.com/pingcap/[email protected]/run.go:91 +0x770
  github.com/pingcap/tidb/expression.TestT()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/expression/evaluator_test.go:38 +0x4f
  testing.tRunner()
      /usr/local/go/src/testing/testing.go:865 +0x163

Goroutine 123 (running) created at:
  github.com/pingcap/tidb/domain.(*Domain).UpdateTableStatsLoop()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/domain/domain.go:852 +0x20b
  github.com/pingcap/tidb/session.BootstrapSession()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/session.go:1351 +0x1df
  github.com/pingcap/tidb/session.doDDLWorks()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/bootstrap.go:809 +0x325
  github.com/pingcap/tidb/session.doDDLWorks()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/bootstrap.go:807 +0x2f8
  github.com/pingcap/tidb/session.doDDLWorks()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/bootstrap.go:805 +0x2cb
  github.com/pingcap/tidb/session.doDDLWorks()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/bootstrap.go:803 +0x29e
  github.com/pingcap/tidb/session.doDDLWorks()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/bootstrap.go:801 +0x271
  github.com/pingcap/tidb/session.doDDLWorks()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/bootstrap.go:799 +0x244
  github.com/pingcap/tidb/session.doDDLWorks()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/bootstrap.go:797 +0x217
  github.com/pingcap/tidb/session.doDDLWorks()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/bootstrap.go:795 +0x1ea
  github.com/pingcap/tidb/session.doDDLWorks()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/bootstrap.go:793 +0x1bd
  github.com/pingcap/tidb/session.doDDLWorks()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/bootstrap.go:791 +0x190
  github.com/pingcap/tidb/session.doDDLWorks()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/bootstrap.go:790 +0x163
  github.com/pingcap/tidb/session.doDDLWorks()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/bootstrap.go:789 +0x136
  github.com/pingcap/tidb/session.doDDLWorks()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/bootstrap.go:787 +0x109
  github.com/pingcap/tidb/session.doDDLWorks()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/bootstrap.go:785 +0xdc
  github.com/pingcap/tidb/session.doDDLWorks()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/bootstrap.go:783 +0x5b
  github.com/pingcap/tidb/session.bootstrap()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/bootstrap.go:262 +0xd1
  github.com/pingcap/tidb/session.runInBootstrapSession()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/session.go:1405 +0x167
  github.com/pingcap/tidb/session.BootstrapSession()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/session/session.go:1322 +0x950
  github.com/pingcap/tidb/expression_test.newStoreWithBootstrap()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/expression/integration_test.go:3773 +0xe1
  github.com/pingcap/tidb/expression_test.(*testIntegrationSuite).SetUpSuite()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/src/github.com/pingcap/tidb/expression/integration_test.go:68 +0x3a
  runtime.call32()
      /usr/local/go/src/runtime/asm_amd64.s:519 +0x3a
  reflect.Value.Call()
      /usr/local/go/src/reflect/value.go:308 +0xc0
  github.com/pingcap/check.(*suiteRunner).runFixture.func1()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/pkg/mod/github.com/pingcap/[email protected]/check.go:785 +0x172
  github.com/pingcap/check.(*suiteRunner).forkCall.func1()
      /home/jenkins/workspace/tidb_ghpr_unit_test/go/pkg/mod/github.com/pingcap/[email protected]/check.go:730 +0xb7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/bug The issue is confirmed as a bug.
Projects
None yet
2 participants