---
title: 如何确认 CORE 是由于递归函数导致的爆栈-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于如何确认 CORE 是由于递归函数导致的爆栈相关的常见问题和使用技巧，帮助您快速解决如何确认 CORE 是由于递归函数导致的爆栈的难题。
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# 如何确认 CORE 是由于递归函数导致的爆栈

更新时间：2026-06-04 09:56

适用版本： V2.1.x、V2.2.x、V3.1.x、V3.2.x 内容类型：How-to  

本文讲述当出现 CORE 时，如何快速确认是由于递归函数导致的爆栈产生。 ​ 通过获取 CRASH 堆栈信息，当最后几个栈地址重复度非常高时，大概率是递归函数导致的爆栈。

## 适用版本

OceanBase 数据库 V2.x、V3.x 版本。

## 操作步骤

1. 获取 CRASH 堆栈信息，类似如下内容。

   ```shell
   CRASH ERROR!!! sig=11, sig_code=2, sig_addr=7ff5000eaff8, timestamp=1664366994522192, tid=3441460, tname=TNT_L0_1002, trace_id=12378274812623-1661380279865382, extra_info=((null)), lbt=0xa13ecfb 0xa13a737 0x7ff884d2a5cf 0x9502e0b 0x958ff33 0x95847aa 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc

   ```
 2. 观察最后的几个栈地址，当最后几个栈地址重复度非常高时，大概率是递归函数导致的爆栈，类似如下内容。

   ```shell
   [root@ob12 log]# addr2line -pCfe /home/admin/oceanbase/bin/observer 0xa13ecfb 0xa13a737 0x7ff884d2a5cf 0x9502e0b 0x958ff33 0x95847aa 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc 0x95847fc
   safe_backtrace at ??:?
   oceanbase::common::coredump_cb(int, siginfo_t*) at ??:?
   ?? ??:0
   oceanbase::sql::ObDMLStmt::get_child_stmts(oceanbase::common::ObIArray<oceanbase::sql::ObSelectStmt*>&) const at ??:?
   oceanbase::sql::ObSelectStmt::get_child_stmts(oceanbase::common::ObIArray<oceanbase::sql::ObSelectStmt*>&) const at ??:?
   oceanbase::sql::ObSelectStmt::check_table_be_modified(unsigned long) const at ??:?
   oceanbase::sql::ObSelectStmt::check_table_be_modified(unsigned long) const at ??:?
   oceanbase::sql::ObSelectStmt::check_table_be_modified(unsigned long) const at ??:?
   oceanbase::sql::ObSelectStmt::check_table_be_modified(unsigned long) const at ??:?
   oceanbase::sql::ObSelectStmt::check_table_be_modified(unsigned long) const at ??:?
   oceanbase::sql::ObSelectStmt::check_table_be_modified(unsigned long) const at ??:?
   oceanbase::sql::ObSelectStmt::check_table_be_modified(unsigned long) const at ??:?
   oceanbase::sql::ObSelectStmt::check_table_be_modified(unsigned long) const at ??:?
   oceanbase::sql::ObSelectStmt::check_table_be_modified(unsigned long) const at ??:?
   oceanbase::sql::ObSelectStmt::check_table_be_modified(unsigned long) const at ??:?
   oceanbase::sql::ObSelectStmt::check_table_be_modified(unsigned long) const at ??:?
   oceanbase::sql::ObSelectStmt::check_table_be_modified(unsigned long) const at ??:?
   oceanbase::sql::ObSelectStmt::check_table_be_modified(unsigned long) const at ??:?
   oceanbase::sql::ObSelectStmt::check_table_be_modified(unsigned long) const at ??:?
   oceanbase::sql::ObSelectStmt::check_table_be_modified(unsigned long) const at ??:?
   oceanbase::sql::ObSelectStmt::check_table_be_modified(unsigned long) const at ??:?
   oceanbase::sql::ObSelectStmt::check_table_be_modified(unsigned long) const at ??:?
   oceanbase::sql::ObSelectStmt::check_table_be_modified(unsigned long) const at ??:?
   oceanbase::sql::ObSelectStmt::check_table_be_modified(unsigned long) const at ??:?
   ```​
   ```

上一篇

[ObParserResultPrintWrapper 未检查导致 core](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000036894)

下一篇

[在大量写入的场景下对于虚拟表 __all_virtual_memstore_info 访问会 core](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000048147) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
