问题现象
在 SUSE 平台下进行 PL debug 时,调试线程接收到系统内核发送的 si_code 为 0 的 SIGTRAP 信号,导致 core。
关键诊断信息
触发条件
SUSE 平台下进行 PL debug。
问题原因
在 SUSE 平台下,调用 ptrace 时使用 PTRACE_GETSIGINFO 参数,内核返回 si_code 设置为 0(SI_USER)而非 128(SI_KERNEL)导致。
问题的风险及影响
SUSE 平台下使用 PL debug 功能时可能发生 core dump。
影响租户
影响 OceanBase 数据库中的 Oracle 租户,对于 SYS 租户和 MySQL 租户无影响。
影响版本
OceanBase 数据库企业版 V3.2.3 GA(oceanbase-3.2.3.0-20220418212020)及之后版本、V3.2.4 GA(oceanbase-3.2.4.0-100000072022102819)及之后版本、V4.1.0 GA(oceanbase-4.1.0.0-100001122023040322)及之后版本。
解决方法及规避方式
升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库企业版 V3.2.3 BP8 Hotfix5(oceanbase-3.2.3.3-108050012023070409)、V3.2.3 BP8 Hotfix6(oceanbase-3.2.3.3-108060012023102510)、V3.2.3 BP9(oceanbase-3.2.3.3-109000182023071410)、V3.2.4 BP5(oceanbase-3.2.4.5-105000012023081513)、V4.1.0 BP3(oceanbase-4.1.0.2-103000072023081111)。
SUSE 平台中暂停使用 PL debug 功能。