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

tidb panic while trace format = row for partition table #25848

Closed
aytrack opened this issue Jun 30, 2021 · 3 comments
Closed

tidb panic while trace format = row for partition table #25848

aytrack opened this issue Jun 30, 2021 · 3 comments
Labels
severity/moderate sig/sql-infra SIG: SQL Infra type/bug The issue is confirmed as a bug.

Comments

@aytrack
Copy link
Contributor

aytrack commented Jun 30, 2021

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)

  1. tiup playground v5.1.0 db 1 --kv 1 --pd 1 --tiflash 1 --monitor 0
  2. execute the sql
drop sequence if exists seq;
create sequence seq;
drop table if exists t1, t2, t3;
drop view if exists t1_v, t2_v, t3_v;
create table t1 (a int default nextval(seq), b varchar(10), unique key (a)) partition by range (a) (partition p0 values less than (2),partition p1 values less than (4),partition p3 values less than (7));
create table t2 (a char) partition by range columns (a) (partition p0 values less than ('a'),partition p1 values less than ('j'),partition p3 values less than ('z'));
create table t3 (a int) partition by hash (a) partitions 10;
insert into t1(`a`) values (1), (2), (3), (4), (5), (6);
insert into t2(a) values ('a'), ('b'), ('c'), ('d'), ('e'), ('f');
insert into t3 values (1), (2), (3), (4), (5), (6);
analyze table t1;
analyze table t2;
analyze table t3;
create view t1_v as select * from t1;
create view t2_v as select * from t2 partition (p3);
create view t3_v as select * from t3 partition (p0, p3);
drop table if exists t1, t2, t3;
create table t1 (a int, b varchar(10)) partition by range (a) (partition p0 values less than (10),partition p1 values less than (20),partition p2 values less than maxvalue);
create table t2 (a int, b varchar(10)) partition by hash (a) partitions 4;
create table t3 (a int, b varchar(10)) partition by range columns (b) (partition p0 values less than ('a'),partition p1 values less than ('z'),partition p2 values less than maxvalue);
insert into t1 values (-1, '0'), (0, NULL), (11, 'c'), (22, 'y'), (33, 'zz');
insert into t2 values (-1, '0'), (0, NULL), (11, 'c'), (22, 'y'), (33, 'zz');
insert into t3 values (-1, '0'), (0, NULL), (11, 'c'), (22, 'y'), (33, 'zz');
trace format='row' insert into t1 values (-1, '0'), (0, NULL), (11, 'c'), (22, 'y'), (33, 'zz');

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

all sqls execute successfully

3. What did you see instead (Required)

encounter once tidb panic, but I can't reproduce it again

panic log

[2021/06/30 15:43:25.844 +08:00] [ERROR] [adapter.go:142] ["execute sql panic"] [conn=177] [sql="insert into t1 values (-1, '0'), (0, NULL), (11, 'c'), (22, 'y'), (33, 'zz');"] [stack="github.com/pingcap/tidb/executor.(*recordSet).Next.func1\n\t/Users/pi
ngcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/executor/adapter.go:142\nruntime.gopanic\n\t/usr/local/go1.16.4/src/runtime/panic.go:965\nruntime.goPanicIndex\n\t/usr/local/go1.16.4/src/runtime/panic.go:88\ngithub.com/
pingcap/tidb/executor.dfsTree.func1\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/executor/trace.go:204\nsort.insertionSort_func\n\t/usr/local/go1.16.4/src/sort/zfuncversion.go:12\nsort.quickSort_func\n\t
/usr/local/go1.16.4/src/sort/zfuncversion.go:158\nsort.Slice\n\t/usr/local/go1.16.4/src/sort/slice.go:20\ngithub.com/pingcap/tidb/executor.dfsTree\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/executor/tr
ace.go:199\ngithub.com/pingcap/tidb/executor.(*TraceExec).nextRowJSON\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/executor/trace.go:110\ngithub.com/pingcap/tidb/executor.(*TraceExec).Next\n\t/Users/ping
cap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/executor/trace.go:71\ngithub.com/pingcap/tidb/executor.Next\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/executor/executo
r.go:286\ngithub.com/pingcap/tidb/executor.(*recordSet).Next\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/executor/adapter.go:145\ngithub.com/pingcap/tidb/server.(*tidbResultSet).Next\n\t/Users/pingcap/w
orkspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/server/driver_tidb.go:304\ngithub.com/pingcap/tidb/server.(*clientConn).writeChunks\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/ti
db/server/conn.go:1875\ngithub.com/pingcap/tidb/server.(*clientConn).writeResultset\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/server/conn.go:1823\ngithub.com/pingcap/tidb/server.(*clientConn).handleSt
mt\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/server/conn.go:1717\ngithub.com/pingcap/tidb/server.(*clientConn).handleQuery\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/githu
b.com/pingcap/tidb/server/conn.go:1563\ngithub.com/pingcap/tidb/server.(*clientConn).dispatch\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/server/conn.go:1097\ngithub.com/pingcap/tidb/server.(*clientConn
).Run\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/server/conn.go:860\ngithub.com/pingcap/tidb/server.(*Server).onConn\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/p
ingcap/tidb/server/server.go:485"]
[2021/06/30 15:43:25.865 +08:00] [INFO] [conn.go:877] ["command dispatched failed"] [conn=177] [connInfo="id:177, addr:127.0.0.1:51729 status:10, collation:utf8mb4_general_ci, user:root"] [command=Query] [status="inTxn:0, autocommit:1"] [sql="trace forma
t='row' insert into t1 values (-1, '0'), (0, NULL), (11, 'c'), (22, 'y'), (33, 'zz');"] [txn_mode=PESSIMISTIC] [err="runtime error: index out of range [1] with length 1\ngithub.com/pingcap/tidb/executor.(*recordSet).Next.func1\n\t/Users/pingcap/workspace
/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/executor/adapter.go:141\nruntime.gopanic\n\t/usr/local/go1.16.4/src/runtime/panic.go:965\nruntime.goPanicIndex\n\t/usr/local/go1.16.4/src/runtime/panic.go:88\ngithub.com/pingcap/tidb/ex
ecutor.dfsTree.func1\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/executor/trace.go:204\nsort.insertionSort_func\n\t/usr/local/go1.16.4/src/sort/zfuncversion.go:12\nsort.quickSort_func\n\t/usr/local/go1.
16.4/src/sort/zfuncversion.go:158\nsort.Slice\n\t/usr/local/go1.16.4/src/sort/slice.go:20\ngithub.com/pingcap/tidb/executor.dfsTree\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/executor/trace.go:199\ngit
hub.com/pingcap/tidb/executor.(*TraceExec).nextRowJSON\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/executor/trace.go:110\ngithub.com/pingcap/tidb/executor.(*TraceExec).Next\n\t/Users/pingcap/workspace/o
ptimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/executor/trace.go:71\ngithub.com/pingcap/tidb/executor.Next\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/executor/executor.go:286\ngithu
b.com/pingcap/tidb/executor.(*recordSet).Next\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/executor/adapter.go:145\ngithub.com/pingcap/tidb/server.(*tidbResultSet).Next\n\t/Users/pingcap/workspace/optimi
zation-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/server/driver_tidb.go:304\ngithub.com/pingcap/tidb/server.(*clientConn).writeChunks\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/server/conn.
go:1875\ngithub.com/pingcap/tidb/server.(*clientConn).writeResultset\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/server/conn.go:1823\ngithub.com/pingcap/tidb/server.(*clientConn).handleStmt\n\t/Users/pi
ngcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/server/conn.go:1717\ngithub.com/pingcap/tidb/server.(*clientConn).handleQuery\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/t
idb/server/conn.go:1563\ngithub.com/pingcap/tidb/server.(*clientConn).dispatch\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/server/conn.go:1097\ngithub.com/pingcap/tidb/server.(*clientConn).Run\n\t/Users
/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/server/conn.go:860\ngithub.com/pingcap/tidb/server.(*Server).onConn\n\t/Users/pingcap/workspace/optimization-build-tidb-darwin-amd@8/go/src/github.com/pingcap/tidb/ser
ver/server.go:485\nruntime.goexit\n\t/usr/local/go1.16.4/src/runtime/asm_amd64.s:1371"]

4. What is your TiDB version? (Required)

tidb_version() | Release Version: v5.1.0
Edition: Community
Git Commit Hash: 8acd5c88471cb7b4d4c4a8ed73b4d53d6833f13e
Git Branch: heads/refs/tags/v5.1.0
UTC Build Time: 2021-06-24 07:08:50
GoVersion: go1.16.4
Race Enabled: false
TiKV Min Version: v3.0.0-60965b006877ca7234adaced7890d7b029ed1306
Check Table Before Drop: false
@aytrack aytrack added type/bug The issue is confirmed as a bug. severity/moderate sig/execution SIG execution labels Jun 30, 2021
@lzmhhh123 lzmhhh123 added sig/sql-infra SIG: SQL Infra and removed sig/execution SIG execution labels Jul 2, 2021
@mjonss
Copy link
Contributor

mjonss commented Feb 14, 2022

Could not reproduce, I did not see anything obvious in the trace.go/dfsTree / sort.Slice that was in the trace log.

Closing, but please reopen if it happens again.

@mjonss
Copy link
Contributor

mjonss commented Feb 14, 2022

/close

@ti-chi-bot
Copy link
Member

@mjonss: Closing this issue.

In response to this:

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
severity/moderate sig/sql-infra SIG: SQL Infra type/bug The issue is confirmed as a bug.
Projects
None yet
Development

No branches or pull requests

4 participants