pingcap / tidb

TiDB is an open-source, cloud-native, distributed, MySQL-Compatible database for elastic scale and real-time analytics. Try AI-powered Chat2Query free at : https://www.pingcap.com/tidb-serverless/
https://pingcap.com
Apache License 2.0
37.01k stars 5.82k forks source link

【/tidb/pkg/session/txn.go:476】 invalid memory address or nil pointer dereference #54859

Open lkx-del opened 2 months ago

lkx-del commented 2 months ago

Bug Report

![Uploading image.png…]()

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)

4. What is your TiDB version? (Required)

7.5.0

7.5.0

lkx-del commented 2 months ago

["command dispatched failed"] [conn=1308624348] [session_alias=] [connInfo="id:1308624348, addr:...:40664 status:10, collation:utf8mb4_general_ci, user:zos"] [command=Execute] [status="inTxn:0, autocommit:1"] [sql="SELECT * FROM table WHERE obj_key=? FOR UPDATE [arguments: \"**\"]"] [txn_mode=PESSIMISTIC] [timestamp=451316544126320644] [err="runt ime error: invalid memory address or nil pointer dereference\n github.com/pingcap/tidb/pkg/executor.(recordSet).Next.func1\n\t /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/pkg/executor/adapter.go:151\n runtime.gopanic\n\t /usr/local/go/src/runtime/panic.go:914\n runtime.panicmem\n\t/usr/local/go/src/runtime/panic.go:261\n runtime.sigpanic\n\t/usr/local/go/src/runtime/signal_unix.go:861\n github.com/pingcap/tidb/pkg/session.(LazyTxn).LockKeysFunc\n\t /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/pkg/session/txn.go:476\n github.com/pingcap/tidb/pkg/session.(LazyTxn).LockKeys\n\t /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/pkg/session/txn.go:451\n github.com/pingcap/tidb/pkg/executor.doLockKeys\n\t /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/pkg/executor/executor.go:1271\n github.com/pingcap/tidb/pkg/executor.(PointGetExecutor).lockKeyBase\n\t /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/pkg/executor/point_get.go:409\n github.com/pingcap/tidb/pkg/executor.(PointGetExecutor).lockKeyIfNeeded\n\t /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/pkg/executor/point_get.go:384\n github.com/pingcap/tidb/pkg/executor.(PointGetExecutor).getAndLock\n\t /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/pkg/executor/point_get.go:369\n github.com/pingcap/tidb/pkg/executor.(PointGetExecutor).Next\n\t /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/pkg/executor/point_get.go:310\n github.com/pingcap/tidb/pkg/executor/internal/exec.Next\n\t /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/pkg/executor/internal/exec/executor.go:283\n github.com/pingcap/tidb/pkg/executor.(ExecStmt).next\n\t /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/pkg/executor/adapter.go:1223\n github.com/pingcap/tidb/pkg/executor.(recordSet).Next\n\t /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/pkg/executor/adapter.go:155\n github.com/pingcap/tidb/pkg/server/internal/resultset.(tidbResultSet).Next\n\t /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/pkg/server/internal/resultset/resultset.go:62\n github.com/pingcap/tidb/pkg/server.(clientConn).writeChunks\n\t /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/pkg/server/conn.go:2229\n github.com/pingcap/tidb/pkg/server.(clientConn).writeResultSet\n\t /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/pkg/server/conn.go:2172\n github.com/pingcap/tidb/pkg/server.(clientConn).executePreparedStmtAndWriteResult\n\t/home/jenkins/agent/work space/build-common/go/src/github.com/pingcap/tidb/pkg/server/conn_stmt.go:419\n github.com/pingcap/tidb/pkg/server.(clientConn).executePlanCacheStmt\n\t /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/pkg/server/conn_stmt.go:233\n github.com/pingcap/tidb/pkg/server.(clientConn).handleStmtExecute\n\t /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/pkg/server/conn_stmt.go:225\n github.com/pingcap/tidb/pkg/server.(clientConn).dispatch\n\t /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/pkg/server/conn.go:1315\n github.com/pingcap/tidb/pkg/server.(clientConn).Run\n\t /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/pkg/server/conn.go:1067\n github.com/pingcap/tidb/pkg/server.(Server).onConn\n\t /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/pkg/server/server.go:700\n runtime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1650\n

cfzjywxk commented 2 months ago

Hi @lkx-del, thanks for the feedback, could you provide the reproducing steps?