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

runtime error: index out of range [0] with length #50659

Closed
knull-cn opened this issue Jan 23, 2024 · 3 comments · Fixed by #53216
Closed

runtime error: index out of range [0] with length #50659

knull-cn opened this issue Jan 23, 2024 · 3 comments · Fixed by #53216

Comments

@knull-cn
Copy link
Contributor

knull-cn commented Jan 23, 2024

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)

None

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

run normal

3. What did you see instead (Required)

panic

4. What is your TiDB version? (Required)

panic: runtime error: index out of range [0] with length 0

goroutine 17864218114 [running]:
github.com/pingcap/tidb/expression.(*ParamMarker).GetUserVar(...)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/expression/constant.go:91
github.com/pingcap/tidb/expression.(*Constant).getLazyDatum(0xc04e6ac5c8?, {0x0?, 0x0?})
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/expression/constant.go:187 +0x26a
github.com/pingcap/tidb/expression.(*Constant).Eval(0xc1295c72c0, {0x0?, 0x6ece040?})
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/expression/constant.go:197 +0x98
github.com/pingcap/tidb/expression.(*Constant).ExplainInfo(0x4f855c0?)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/expression/explain.go:83 +0x65
github.com/pingcap/tidb/expression.(*ScalarFunction).explainInfo(0xc42cd5ee10, 0x0)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/expression/explain.go:52 +0x1d3
github.com/pingcap/tidb/expression.(*ScalarFunction).ExplainInfo(0x0?)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/expression/explain.go:30 +0x1b
github.com/pingcap/tidb/expression.sortedExplainExpressionList({0xc1295ef5e0, 0x1, 0x483949d?}, 0x0)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/expression/explain.go:149 +0x2b1
github.com/pingcap/tidb/expression.SortedExplainExpressionList(...)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/expression/explain.go:139
github.com/pingcap/tidb/planner/core.(*PhysicalSelection).ExplainInfo(0xc12981e1c0)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/planner/core/explain.go:302 +0x3c
github.com/pingcap/tidb/planner/core.encodeFlatPlanTree({0xc14f021a60, 0x4, 0x4}, 0x0, 0x7?)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/planner/core/encode.go:114 +0x2cb
github.com/pingcap/tidb/planner/core.EncodeFlatPlan(0xc28e39b4a0)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/planner/core/encode.go:62 +0x1c5
github.com/pingcap/tidb/executor.getEncodedPlan(0xc14e0b5de0, 0x1)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/adapter.go:1671 +0xc7
github.com/pingcap/tidb/executor.(*ExecStmt).SummaryStmt.func1()
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/adapter.go:1732 +0x2b
github.com/pingcap/tidb/util/stmtsummary.newStmtSummaryByDigestElement(0xc0d6d949a0, 0x65aa7958, 0x43?)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/util/stmtsummary/statement_summary.go:646 +0x39
github.com/pingcap/tidb/util/stmtsummary.(*stmtSummaryByDigest).add.func1(0xc29d7c4e00, 0xc29d7c4e00?, 0x65aa7958, 0xc29c8cd020?, 0x18)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/util/stmtsummary/statement_summary.go:601 +0x1af
github.com/pingcap/tidb/util/stmtsummary.(*stmtSummaryByDigest).add(0xc0000c4780?, 0xc0d6d949a0?, 0x160?, 0xc000100800?, 0xc0d6d949a0?)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/util/stmtsummary/statement_summary.go:612 +0x25
github.com/pingcap/tidb/util/stmtsummary.(*stmtSummaryByDigestMap).AddStatement(0xc0000c4780, 0xc0d6d949a0)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/util/stmtsummary/statement_summary.go:340 +0x177
github.com/pingcap/tidb/executor.(*ExecStmt).SummaryStmt(0xc1243fee10, 0x1)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/adapter.go:1819 +0xc55
github.com/pingcap/tidb/executor.(*ExecStmt).FinishExecuteStmt(0xc1243fee10, 0xc14213a570?, {0x0, 0x0}, 0xb0?)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/adapter.go:1388 +0x2f0
github.com/pingcap/tidb/executor.(*ExecStmt).CloseRecordSet(0xc1243fee10, 0x0?, {0x0?, 0x0?})
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/adapter.go:1418 +0x2e
github.com/pingcap/tidb/executor.(*recordSet).Close(0xc085fe60f0)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/executor/adapter.go:183 +0x5d
github.com/pingcap/tidb/session.(*execStmtResult).Close(0xc17fce1200)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/session/session.go:2404 +0x36
github.com/pingcap/tidb/server.(*tidbResultSet).Close(0xc04e6ad420?)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/driver_tidb.go:441 +0x3c
github.com/pingcap/tidb/parser/terror.Call(0x42d40c0?)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/parser/terror/terror.go:306 +0x31
github.com/pingcap/tidb/server.(*TiDBStatement).Close(0xc1726231f0)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/driver_tidb.go:189 +0x2b9
github.com/pingcap/tidb/parser/terror.Call(0xc04e6ad760?)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/parser/terror/terror.go:306 +0x31
github.com/pingcap/tidb/server.(*TiDBContext).Close(0xc14213a3a8)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/driver_tidb.go:265 +0x90
github.com/pingcap/tidb/server.closeConn(0xc09b19fc80, 0xc19be2c0f0?)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:357 +0x1dc
github.com/pingcap/tidb/server.(*clientConn).Close(0xc09b19fc80)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:341 +0x89
github.com/pingcap/tidb/server.(*Server).onConn.func3()
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/server.go:601 +0x2f
github.com/pingcap/tidb/server.(*Server).onConn(0xc0d7af0500, 0xc09b19fc80)
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/server.go:641 +0xbb4
created by github.com/pingcap/tidb/server.(*Server).startNetworkListener
	/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/server.go:482 +0x5ca

v6.5.0

@knull-cn knull-cn added the type/bug This issue is a bug. label Jan 23, 2024
@knull-cn
Copy link
Contributor Author

@XuHuaiyu
Can we do a security check here, such as returning an error?
This way, you can also know that an error has occurred here, but it will not cause the TIDB instance to panic
constant.go#L89-L92

@XuHuaiyu
Copy link
Contributor

similar issue: #38748

@XuHuaiyu XuHuaiyu added sig/sql-infra SIG: SQL Infra and removed sig/execution SIG execution labels Apr 28, 2024
@bb7133 bb7133 assigned bb7133 and xhebox and unassigned bb7133 May 8, 2024
@tiancaiamao
Copy link
Contributor

similar issue: #38748

Duplicated or just similar?
I see the version is v6.5.1, so is this one has already been fixed? @XuHuaiyu @mengxin9014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants