Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

index_repository 导致 oom

Abierto
#2,649 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
15/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
c
Área
devtools

Línea de trabajo

The crash is in the index_repository tool with mode: fast on a large repo, and the logs point at the indexing worker pool and the memory budget (about 971 MB with 16 workers), which the reporter says was exceeded. The repository is not shareable, so first reproduce on a public C/C++ repo of similar size and watch peak RSS. Done means the budget is respected or the memory growth is explained, with .cbmignore exclusions tested as a workaround.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug editor/integration stability/performance
Version

codebase-memory-mcp 0.10.8

Platform

Linux (x64)

Install channel

GitHub release archive / install.sh / install.ps1

Binary variant

standard

What happened, and what did you expect?

在ubuntu 22.04,16g内存的pc上,使用codex,在一个新的代码仓库下,帮我快速了解一下这个项目,然后codex使用这个工具,配置为
mcp__codebase_memory.index_repository({
"repo_path": "/home/jenkins/code/Middleware",
"mode": "fast",
"name": "home-jenkins-code-Middleware"
})
然后会引起pc死机(必须强制关机),重试多次,都是如此,dmesg显示
[ 272.000873] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=user.slice,mems_allowed=0,global_oom,task_memcg=/user.slice/user-1000.slice/session-2.scope,task=codebase-memory,pid=9329,uid=1000
[ 272.000924] Out of memory: Killed process 9329 (codebase-memory) total-vm:25597872kB, anon-rss:12487496kB, file-rss:0kB, shmem-rss:0kB, UID:1000 pgtables:44476kB oom_score_adj:0

随后,让codex自己分析:
"""
确认了,这是我刚才触发的代码索引任务被 OOM 杀掉,不是测试框架运行导致的。抱歉,这次“快速了解”不该启动整个仓库的索引。

  • 进程完全对应:索引日志中的 PID 是 9329,与内核日志一致。
  • 实际内存占用约 11.9 GiB:anon-rss:12487496kB;total-vm 约 24.4 GiB 是虚拟地址空间,不等于实际物理内存占用。
  • 触发全局 OOM:日志明确为 global_oom,不是命中某个容器的内存上限。
  • 索引范围过大:实际扫描了 15,543 个文件,结束前正在处理大量 Boost 头文件;仓库的第三方依赖目录就有 15,218 个受版本管理的文件。
  • 预算未控制住实际占用:索引日志记录约 971 MB 的内存预算、16 个并行 worker,但占用仍远超预算;具体分配原因尚未定位。

我没有重跑索引,也没有修改仓库。后续会直接按需阅读源码;若要继续使用索引,应先通过 .cbmignore 排除第三方依赖,再单独验证内存占用。
Worked for 1m 37s • 4:29 PM

你是哪个命令引起的OOM

是我调用的这个全仓库代码索引工具引起的:

mcp__codebase_memory.index_repository({
"repo_path": "/home/jenkins/code/Middleware",
"mode": "fast",
"name": "home-jenkins-code-Middleware"
})

这是 MCP 工具调用,不是我在终端执行的 shell 命令。它启动的 codebase-memory 进程 PID 为 9329,与 OOM 日志完全一致
"""

不太清楚此现象是否是正常的,这只是一个中等小型代码仓库。按我的理解,它不应该让我的pc死机

Reproduction

codebase-memory-mcp 0.10.8

mcp__codebase_memory.index_repository({
"repo_path": "/home/jenkins/code/Middleware",
"mode": "fast",
"name": "home-jenkins-code-Middleware"
})
对项目代码初始化阶段就会出现上述问题
抱歉,我不能把我的本地代码提供给你们

Logs

Diagnostics trajectory (memory / performance / leak issues)

Project scale (if relevant)

No response

Confirmations
  • I searched existing issues and this is not a duplicate.
  • My reproduction uses shareable code (a dummy snippet or a public OSS repository), not proprietary code.
Lenguaje dominante
C
Estrellas
45.8k
Forks
3.8k
Merge medio
3 d 4 h
PR fusionados (30 d)
208

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de DeusData/codebase-memory-mcp

Todos los issues de DeusData/codebase-memory-mcp

Issues similares

Más issues de C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.