执行特定sql语句系统宕机

windows11 docker使用oceanbase/oceanbase-ce:4.3.5-lts镜像
运行命令为docker run -p 2881:2881 --name oceanbase-ce1 -e MINI_MODE=1 -d oceanbase/oceanbase-ce:4.3.5-lts
重复执行以下sql两次,即可触发bug

drop table if EXISTS t3612;
CREATE TABLE t3612 (c1 BIGINT UNSIGNED ZEROFILL)  PARALLEL 10;
INSERT IGNORE INTO t3612 (c1) VALUES (12117683927882269443);
INSERT IGNORE INTO t3612 (c1) VALUES (2177035436127512273);
INSERT INTO t3612 (c1) VALUES (9629457802077467462);
SELECT * FROM t3612 NATURAL JOIN t3612 AS ta1 INNER JOIN t3612 AS ta2 WHERE (CAST((0 <= SOME (SELECT t3612.c1 AS ca2 FROM t3612)) AS SIGNED) NOT IN (t3612.c1, LENGTH('')));

日志中的内容为

CRASH ERROR!!! IP=7c5ed18cfcf7, RBP=7c5de294eff0, sig=11, sig_code=1, sig_addr=0x0, RLIMIT_CORE=0, timestamp=1763466738415535, tid=1658, tname=T1002_PX_G0, trace_id=YB42AC110002-000643DD164924F0-0-0, lbt=0x267a4518 0x2640e0cd 0x7c5ed1c12cdf 0x7c5ed18cfcf7 0x1686e1ad 0x16870f4c 0x1681420c 0x179db450 0x179c90f7 0x17a69452 0x18cadce4 0x18cef8f4 0x13568be3 0x13568791 0x263e59e1 0x7c5ed1c081ce 0x7c5ed1839dd2, SQL_ID=BE216BD142DE269F52420F92AF5E1966, SQL_STRING=SELECT * FROM t3612 NATURAL JOIN t3612 AS ta1 INNER JOIN t3612 AS ta2 WHERE (CAST((0 <= SOME (SELECT t3612.c1 AS ca2 FROM t3612)
1 个赞

1 个赞

提供一下ob的详细版本

1 个赞

OS Version and CPU Arch( uname -a ):
Linux a898a4c3bc12 6.6.87.2-microsoft-standard-WSL2 #1 SMP PREEMPT_DYNAMIC Thu Jun 5 18:30:46 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
OB Version( LD LIBRARY PATH=…/lib:$LD LIBRARY PATH ./observer -V ):
observer (OceanBase_CE 4.3.5.4)

REVISION: 104000042025090916-5cf5b925a25bf888aebaa288e251b85b1924e98a
BUILD_BRANCH: HEAD
BUILD_TIME: Sep 9 2025 17:07:11
BUILD_FLAGS: RelWithDebInfo
BUILD_INFO:
我之前跟您提交过一个crash bug,和当时的环境是一样的。执行特定sql语句后无法连接数据库

1 个赞


这个在我这边435bp4执行不报错

1 个赞

整个测试用例要重复执行2-3次会触发,如果435bp4还是没有报错的话,估计又是一个被修复的已知bug。我这边在多台机器上能稳定复现

这边在435bp4上复现出来了,稍等这边反馈一下

请问能透露具体的出错原因吗?并且下个版本能否修复?

你好,该问题具体原因还在分析。目前在新版ob也复现出来了。
想问一下你是怎么构造出这个有问题的case的呢?

我们是一个专注于数据库管理系统测试的研究组。这个测试用例是由基于我们最新研究的工具生成的。我们目前正在准备关于该方法的论文,所以具体的实现细节只能在论文被录用后才能透露。