Skip to content

invalid memory address or nil pointer dereference during constant propagation #40536

@wjhuang2016

Description

@wjhuang2016

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)

CREATE TABLE `6bf9e76d-ab44-4031-8a07-418b10741580` (
  `e0b5f703-6cfe-49b4-bc21-16a6455e43a7` set('7','va','ung60','ow','1g','gxwz5','uhnh','k','5la1','q8d9c','1f') NOT NULL DEFAULT '7,1g,uhnh,5la1,q8d9c',
  `fbc3527f-9617-4b9d-a5dc-4be31c00d8a5` datetime DEFAULT '6449-09-28 14:39:04',
  PRIMARY KEY (`e0b5f703-6cfe-49b4-bc21-16a6455e43a7`) /*T![clustered_index] CLUSTERED */
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_bin;

CREATE TABLE `8919f3f4-25be-4a1a-904a-bb5e863d8fc8` (
  `9804d5f2-cbc7-43b7-b241-ea2656dc941a` enum('s951','36d','ua65','49yru','6l2em','4ea','jf2d2','vprsc','3yl7n','hz','ov') DEFAULT '4ea',
  `323cdbcb-0c14-4362-90ab-ea42caaed6a5` year(4) NOT NULL DEFAULT '1983',
  `b9b70f39-1a02-4114-9d7d-fa6259c1b691` time DEFAULT '20:18:04',
  PRIMARY KEY (`323cdbcb-0c14-4362-90ab-ea42caaed6a5`) /*T![clustered_index] CLUSTERED */,
  KEY `a704d6bb-772b-44ea-8cb0-6f7491c1aaa6` (`323cdbcb-0c14-4362-90ab-ea42caaed6a5`,`9804d5f2-cbc7-43b7-b241-ea2656dc941a`)
) ENGINE=InnoDB DEFAULT CHARSET=ascii COLLATE=ascii_bin;



delete from `6bf9e76d-ab44-4031-8a07-418b10741580` where not( `6bf9e76d-ab44-4031-8a07-418b10741580`.`e0b5f703-6cfe-49b4-bc21-16a6455e43a7` in ( select `9804d5f2-cbc7-43b7-b241-ea2656dc941a` from `8919f3f4-25be-4a1a-904a-bb5e863d8fc8` where `6bf9e76d-ab44-4031-8a07-418b10741580`.`e0b5f703-6cfe-49b4-bc21-16a6455e43a7` in ( '1f' ) and `6bf9e76d-ab44-4031-8a07-418b10741580`.`e0b5f703-6cfe-49b4-bc21-16a6455e43a7` in ( '1g' ,'va' ,'uhnh' ) ) ) and not( IsNull( `6bf9e76d-ab44-4031-8a07-418b10741580`.`e0b5f703-6cfe-49b4-bc21-16a6455e43a7` ) );

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

No error

3. What did you see instead (Required)

[conn.go:1058] ["connection running loop panic"] [conn=5894092609390903715] [lastSQL="delete from `6bf9e76d-ab44-4031-8a07-418b10741580` where not( `6bf9e76d-ab44-4031-8a07-418b10741580`.`e0b5f703-6cfe-49b4-bc21-16a6455e43a7` in ( select `9804d5f2-cbc7-43b7-b241-ea2656dc941a` from `8919f3f4-25be-4a1a-904a-bb5e863d8fc8` where `6bf9e76d-ab44-4031-8a07-418b10741580`.`e0b5f703-6cfe-49b4-bc21-16a6455e43a7` in ( '1f' ) and `6bf9e76d-ab44-4031-8a07-418b10741580`.`e0b5f703-6cfe-49b4-bc21-16a6455e43a7` in ( '1g' ,'va' ,'uhnh' ) ) ) and not( IsNull( `6bf9e76d-ab44-4031-8a07-418b10741580`.`e0b5f703-6cfe-49b4-bc21-16a6455e43a7` ) ) "] [err="runtime error: invalid memory address or nil pointer dereference"] [stack="github.com/pingcap/tidb/server.(*clientConn).Run.func1\n\t/Users/bba/pc/tidb/server/conn.go:1061\nruntime.gopanic\n\t/Users/bba/.gvm/gos/go1.19/src/runtime/panic.go:884\ngithub.com/pingcap/tidb/executor.(*Compiler).Compile.func1\n\t/Users/bba/pc/tidb/executor/compiler.go:70\nruntime.gopanic\n\t/Users/bba/.gvm/gos/go1.19/src/runtime/panic.go:884\nruntime.panicmem\n\t/Users/bba/.gvm/gos/go1.19/src/runtime/panic.go:260\nruntime.sigpanic\n\t/Users/bba/.gvm/gos/go1.19/src/runtime/signal_unix.go:835\ngithub.com/pingcap/tidb/expression.DeriveCollationFromExprs\n\t/Users/bba/pc/tidb/expression/collation.go:307\ngithub.com/pingcap/tidb/expression.ColumnSubstituteImpl\n\t/Users/bba/pc/tidb/expression/util.go:457\ngithub.com/pingcap/tidb/expression.ColumnSubstitute\n\t/Users/bba/pc/tidb/expression/util.go:388\ngithub.com/pingcap/tidb/expression.(*propOuterJoinConstSolver).propagateConstantEQ\n\t/Users/bba/pc/tidb/expression/constant_propagation.go:475\ngithub.com/pingcap/tidb/expression.(*propOuterJoinConstSolver).solve\n\t/Users/bba/pc/tidb/expression/constant_propagation.go:610\ngithub.com/pingcap/tidb/expression.PropConstOverOuterJoin\n\t/Users/bba/pc/tidb/expression/constant_propagation.go:646\ngithub.com/pingcap/tidb/planner/core.(*LogicalJoin).outerJoinPropConst\n\t/Users/bba/pc/tidb/planner/core/rule_predicate_push_down.go:752\ngithub.com/pingcap/tidb/planner/core.(*LogicalJoin).PredicatePushDown\n\t/Users/bba/pc/tidb/planner/core/rule_predicate_push_down.go:158\ngithub.com/pingcap/tidb/planner/core.(*LogicalSelection).PredicatePushDown\n\t/Users/bba/pc/tidb/planner/core/rule_predicate_push_down.go:108\ngithub.com/pingcap/tidb/planner/core.(*baseLogicalPlan).PredicatePushDown\n\t/Users/bba/pc/tidb/planner/core/rule_predicate_push_down.go:81\ngithub.com/pingcap/tidb/planner/core.(*LogicalProjection).PredicatePushDown\n\t/Users/bba/pc/tidb/planner/core/rule_predicate_push_down.go:484\ngithub.com/pingcap/tidb/planner/core.(*ppdSolver).optimize\n\t/Users/bba/pc/tidb/planner/core/rule_predicate_push_down.go:46\ngithub.com/pingcap/tidb/planner/core.logicalOptimize\n\t/Users/bba/pc/tidb/planner/core/optimizer.go:1094\ngithub.com/pingcap/tidb/planner/core.DoOptimize\n\t/Users/bba/pc/tidb/planner/core/optimizer.go:288\ngithub.com/pingcap/tidb/planner/core.(*PlanBuilder).buildDelete\n\t/Users/bba/pc/tidb/planner/core/logical_plan_builder.go:5936\ngithub.com/pingcap/tidb/planner/core.(*PlanBuilder).Build\n\t/Users/bba/pc/tidb/planner/core/planbuilder.go:787\ngithub.com/pingcap/tidb/planner.buildLogicalPlan\n\t/Users/bba/pc/tidb/planner/optimize.go:470\ngithub.com/pingcap/tidb/planner.optimize\n\t/Users/bba/pc/tidb/planner/optimize.go:391\ngithub.com/pingcap/tidb/planner.Optimize\n\t/Users/bba/pc/tidb/planner/optimize.go:254\ngithub.com/pingcap/tidb/executor.(*Compiler).Compile\n\t/Users/bba/pc/tidb/executor/compiler.go:114\ngithub.com/pingcap/tidb/session.(*session).ExecuteStmt\n\t/Users/bba/pc/tidb/session/session.go:2178\ngithub.com/pingcap/tidb/server.(*TiDBContext).ExecuteStmt\n\t/Users/bba/pc/tidb/server/driver_tidb.go:247\ngithub.com/pingcap/tidb/server.(*clientConn).handleStmt\n\t/Users/bba/pc/tidb/server/conn.go:2093\ngithub.com/pingcap/tidb/server.(*clientConn).handleQuery\n\t/Users/bba/pc/tidb/server/conn.go:1943\ngithub.com/pingcap/tidb/server.(*clientConn).dispatch\n\t/Users/bba/pc/tidb/server/conn.go:1374\ngithub.com/pingcap/tidb/server.(*clientConn).Run\n\t/Users/bba/pc/tidb/server/conn.go:1123\ngithub.com/pingcap/tidb/server.(*Server).onConn\n\t/Users/bba/pc/tidb/server/server.go:625"]

4. What is your TiDB version? (Required)

master

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions