Repository navigation
Open
Labels
bugSomething isn't workingSomething isn't workingpriority/highNeeds near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.Needs near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.stability/performanceServer crashes, OOM, hangs, high CPU/memoryServer crashes, OOM, hangs, high CPU/memory
Milestone
Description
Version
codebase-memory-mcp 0.8.1
Platform
macOS (Apple Silicon)
Install channel
GitHub release archive / install.sh / install.ps1
Binary variant
standard
What happened, and what did you expect?
I was trying to index a large repo, trying to limit the workers to 4, but still abort in the end. Is there any workaround on this?
Reproduction
CBM_WORKERS=4 codebase-memory-mcp cli index_repository
'{"repo_path": "/my_repo_path", "mode": "fast", "persistence": true}'
Logs
level=info msg=mem.init budget_mb=24576 total_ram_mb=49152
level=info msg=pipeline.discover files=123856 elapsed_ms=8603
level=info msg=pipeline.route path=full
level=info msg=pass.start pass=structure files=123856
level=info msg=pass.done pass=structure nodes=181977 edges=156452
level=info msg=pass.timing pass=structure elapsed_ms=424
level=info msg=pipeline.mode mode=parallel workers=4 files=123856
level=info msg=parallel.extract.start files=123856 workers=4
level=info msg=parallel.mem.budget total_mb=24576 per_worker_mb=6144
level=info msg=parallel.extract.file.start pos=3 size_kb=4356 path=
....
....
level=info msg=parallel.extract.progress done=123760 total=123856
level=info msg=parallel.extract.progress done=123770 total=123856
level=info msg=parallel.extract.progress done=123780 total=123856
level=info msg=pkgmap.scan_repo manifests=2500
level=info msg=pkgmap.build entries=2588
level=info msg=parallel.extract.mem rss_mb=5548 peak_mb=15352 budget_mb=24576 per_worker_mb=6144
level=info msg=parallel.extract.done nodes=3488953 errors=72
level=info msg=pass.timing pass=parallel_extract elapsed_ms=124294
level=info msg=mem.collect phase=post_extract rss_mb=5548
level=info msg=parallel.registry.start files=123856
level=info msg=parallel.registry.done entries=3358155 defines=3488953 imports=1512960
level=info msg=pass.timing pass=registry_build elapsed_ms=21999
level=info msg=mem.phase phase=registry_build rss_mb=7772 peak_mb=15352
level=info msg=pass.timing pass=lsp_cross_prepare elapsed_ms=1388
level=info msg=mem.phase phase=lsp_cross_prepare rss_mb=8832 peak_mb=15352
level=info msg=parallel.resolve.start files=123856 workers=4
[1] 87829 abort CBM_WORKERS=4 codebase-memory-mcp cli index_repository
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.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingpriority/highNeeds near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.Needs near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.stability/performanceServer crashes, OOM, hangs, high CPU/memoryServer crashes, OOM, hangs, high CPU/memory
Activity
jwu-au commentedon Jun 23, 2026
I ended up with split it into two indexes, domains + components in two folders. The AI gave me reason about it, but I'm not sure it makes sense. Can you help to verify?
DeusData commentedon Jun 23, 2026
Hey, will check ASAP. I believe it could be an edge case inside the repo itself rather than the repo size (I have already indexed bigger repos with less). Can you potentially provide more details like which kinda languages you try to index, what the biggest files in your repo are etc? Ideally an OSS repo which mimics your repo which can be used for reproduction
faytec-tanbo commentedon Jun 25, 2026
@DeusData
I encountered a similar problem when indexing a Laravel (PHP) project.
Show more
codebase-memory-mcp cli index_repository '{"repo_path":"/Users/foo/www/laravel-12"}' level=info msg=mem.init budget_mb=16384 total_ram_mb=32768 level=info msg=pipeline.discover files=1538 elapsed_ms=61 level=info msg=pipeline.route path=full level=info msg=pass.start pass=structure files=1538 level=info msg=pass.done pass=structure nodes=1917 edges=1869 level=info msg=pass.timing pass=structure elapsed_ms=3 level=info msg=pipeline.mode mode=parallel workers=12 files=1538 level=info msg=parallel.extract.start files=1538 workers=12 level=info msg=parallel.mem.budget total_mb=16384 per_worker_mb=1365 .... level=info msg=parallel.extract.progress done=30 total=1538 level=info msg=parallel.extract.progress done=40 total=1538 level=info msg=parallel.extract.progress done=50 total=1538 level=info msg=parallel.extract.progress done=70 total=1538 level=info msg=parallel.extract.progress done=60 total=1538 level=info msg=parallel.extract.progress done=80 total=1538 level=info msg=parallel.extract.progress done=90 total=1538 level=info msg=parallel.extract.progress done=100 total=1538 level=info msg=parallel.extract.progress done=110 total=1538 level=info msg=parallel.extract.progress done=120 total=1538 level=info msg=parallel.extract.progress done=130 total=1538 level=info msg=parallel.extract.progress done=150 total=1538 level=info msg=parallel.extract.progress done=140 total=1538 level=info msg=parallel.extract.progress done=160 total=1538 level=info msg=parallel.extract.progress done=170 total=1538 level=info msg=parallel.extract.progress done=180 total=1538 level=info msg=parallel.extract.progress done=190 total=1538 level=info msg=parallel.extract.progress done=200 total=1538 level=info msg=parallel.extract.progress done=210 total=1538 level=info msg=parallel.extract.progress done=220 total=1538 level=info msg=parallel.extract.progress done=230 total=1538 level=info msg=parallel.extract.progress done=250 total=1538 level=info msg=parallel.extract.progress done=240 total=1538 level=info msg=parallel.extract.progress done=260 total=1538 level=info msg=parallel.extract.progress done=270 total=1538 level=info msg=parallel.extract.progress done=280 total=1538 level=info msg=parallel.extract.progress done=290 total=1538 level=info msg=parallel.extract.progress done=300 total=1538 level=info msg=parallel.extract.progress done=310 total=1538 level=info msg=parallel.extract.progress done=320 total=1538 level=info msg=parallel.extract.progress done=330 total=1538 level=info msg=parallel.extract.progress done=340 total=1538 level=info msg=parallel.extract.progress done=350 total=1538 level=info msg=parallel.extract.progress done=360 total=1538 level=info msg=parallel.extract.progress done=380 total=1538 level=info msg=parallel.extract.progress done=390 total=1538 level=info msg=parallel.extract.progress done=370 total=1538 level=info msg=parallel.extract.progress done=400 total=1538 level=info msg=parallel.extract.progress done=410 total=1538 level=info msg=parallel.extract.progress done=430 total=1538 level=info msg=parallel.extract.progress done=420 total=1538 level=info msg=parallel.extract.progress done=440 total=1538 level=info msg=parallel.extract.progress done=450 total=1538 level=info msg=parallel.extract.progress done=460 total=1538 level=info msg=parallel.extract.progress done=470 total=1538 level=info msg=parallel.extract.progress done=480 total=1538 level=info msg=parallel.extract.progress done=490 total=1538 level=info msg=parallel.extract.progress done=500 total=1538 level=info msg=parallel.extract.progress done=510 total=1538 level=info msg=parallel.extract.progress done=520 total=1538 level=info msg=parallel.extract.progress done=530 total=1538 level=info msg=parallel.extract.progress done=540 total=1538 level=info msg=parallel.extract.progress done=550 total=1538 level=info msg=parallel.extract.progress done=560 total=1538 level=info msg=parallel.extract.progress done=570 total=1538 level=info msg=parallel.extract.progress done=580 total=1538 level=info msg=parallel.extract.progress done=590 total=1538 level=info msg=parallel.extract.progress done=600 total=1538 level=info msg=parallel.extract.progress done=610 total=1538 level=info msg=parallel.extract.progress done=620 total=1538 level=info msg=parallel.extract.progress done=640 total=1538 level=info msg=parallel.extract.progress done=630 total=1538 level=info msg=parallel.extract.progress done=660 total=1538 level=info msg=parallel.extract.progress done=650 total=1538 level=info msg=parallel.extract.progress done=670 total=1538 level=info msg=parallel.extract.progress done=680 total=1538 level=info msg=parallel.extract.progress done=690 total=1538 level=info msg=parallel.extract.progress done=700 total=1538 level=info msg=parallel.extract.progress done=710 total=1538 level=info msg=parallel.extract.progress done=720 total=1538 level=info msg=parallel.extract.progress done=730 total=1538 level=info msg=parallel.extract.progress done=740 total=1538 level=info msg=parallel.extract.progress done=750 total=1538 level=info msg=parallel.extract.progress done=760 total=1538 level=info msg=parallel.extract.progress done=770 total=1538 level=info msg=parallel.extract.progress done=780 total=1538 level=info msg=parallel.extract.progress done=790 total=1538 level=info msg=parallel.extract.progress done=800 total=1538 level=info msg=parallel.extract.progress done=810 total=1538 level=info msg=parallel.extract.progress done=820 total=1538 level=info msg=parallel.extract.progress done=830 total=1538 level=info msg=parallel.extract.progress done=840 total=1538 level=info msg=parallel.extract.progress done=850 total=1538 level=info msg=parallel.extract.progress done=860 total=1538 level=info msg=parallel.extract.progress done=870 total=1538 level=info msg=parallel.extract.progress done=880 total=1538 level=info msg=parallel.extract.progress done=890 total=1538 level=info msg=parallel.extract.progress done=900 total=1538 level=info msg=parallel.extract.progress done=910 total=1538 level=info msg=parallel.extract.progress done=920 total=1538 level=info msg=parallel.extract.progress done=930 total=1538 level=info msg=parallel.extract.progress done=940 total=1538 level=info msg=parallel.extract.progress done=950 total=1538 level=info msg=parallel.extract.progress done=960 total=1538 level=info msg=parallel.extract.progress done=970 total=1538 level=info msg=parallel.extract.progress done=980 total=1538 level=info msg=parallel.extract.progress done=990 total=1538 level=info msg=parallel.extract.progress done=1000 total=1538 level=info msg=parallel.extract.progress done=1010 total=1538 level=info msg=parallel.extract.progress done=1020 total=1538 level=info msg=parallel.extract.progress done=1030 total=1538 level=info msg=parallel.extract.progress done=1040 total=1538 level=info msg=parallel.extract.progress done=1050 total=1538 level=info msg=parallel.extract.progress done=1060 total=1538 level=info msg=parallel.extract.progress done=1070 total=1538 level=info msg=parallel.extract.progress done=1080 total=1538 level=info msg=parallel.extract.progress done=1090 total=1538 level=info msg=parallel.extract.progress done=1100 total=1538 level=info msg=parallel.extract.progress done=1110 total=1538 level=info msg=parallel.extract.progress done=1120 total=1538 level=info msg=parallel.extract.progress done=1130 total=1538 level=info msg=parallel.extract.progress done=1140 total=1538 level=info msg=parallel.extract.progress done=1150 total=1538 level=info msg=parallel.extract.progress done=1160 total=1538 level=info msg=parallel.extract.progress done=1170 total=1538 level=info msg=parallel.extract.progress done=1180 total=1538 level=info msg=parallel.extract.progress done=1190 total=1538 level=info msg=parallel.extract.progress done=1200 total=1538 level=info msg=parallel.extract.progress done=1210 total=1538 level=info msg=parallel.extract.progress done=1220 total=1538 level=info msg=parallel.extract.progress done=1230 total=1538 level=info msg=parallel.extract.progress done=1240 total=1538 level=info msg=parallel.extract.progress done=1250 total=1538 level=info msg=parallel.extract.progress done=1260 total=1538 level=info msg=parallel.extract.progress done=1270 total=1538 level=info msg=parallel.extract.progress done=1280 total=1538 level=info msg=parallel.extract.progress done=1290 total=1538 level=info msg=parallel.extract.progress done=1300 total=1538 level=info msg=parallel.extract.progress done=1310 total=1538 level=info msg=parallel.extract.progress done=1320 total=1538 level=info msg=parallel.extract.progress done=1330 total=1538 level=info msg=parallel.extract.progress done=1340 total=1538 level=info msg=parallel.extract.progress done=1350 total=1538 level=info msg=parallel.extract.progress done=1360 total=1538 level=info msg=parallel.extract.progress done=1370 total=1538 level=info msg=parallel.extract.progress done=1380 total=1538 level=info msg=parallel.extract.progress done=1390 total=1538 level=info msg=parallel.extract.progress done=1400 total=1538 level=info msg=parallel.extract.progress done=1410 total=1538 level=info msg=parallel.extract.progress done=1420 total=1538 level=info msg=parallel.extract.progress done=1430 total=1538 level=info msg=parallel.extract.progress done=1440 total=1538 level=info msg=parallel.extract.progress done=1450 total=1538 level=info msg=parallel.extract.progress done=1460 total=1538 level=info msg=parallel.extract.progress done=1470 total=1538 level=info msg=parallel.extract.progress done=1480 total=1538 level=info msg=parallel.extract.progress done=1490 total=1538 level=info msg=parallel.extract.progress done=1500 total=1538 level=info msg=parallel.extract.progress done=1510 total=1538 level=info msg=parallel.extract.progress done=1520 total=1538 level=info msg=parallel.extract.progress done=1530 total=1538 level=info msg=parallel.extract.progress done=1538 total=1538 [1] 22832 killed codebase-memory-mcp cli index_repositorySystem
OS: macOS Sequoia 15.7.7 arm64
Macbook Pro M2 Max
Memory: 32G
During indexing, my codebase-memory-mcp memory usage (virtual memory) is very high, exceeding 100GB.
After a while, the process was killed, perhaps by the system?
zhaiyuxin103 commentedon Jun 25, 2026
I used auto-indexing on three Laravel projects
which exhausted my $200 ChatGPT account's 5-hour credit limit.
Subsequent conversations also heavily consumed the credit
even a simple "hello" would consume 10%.
Perhaps I'm not very good at using it.
DeusData commentedon Jun 26, 2026
Thanks for the detailed log and for confirming the split-index workaround. The
abortduring
parallel.resolve.startafter a 3.49 M-node clean extract is a specific failureclass we want to reproduce in CI. To localize the assert:
Instructions for your coding agent:
Also: is there a public OSS project that resembles your repo's language mix and
rough file count? Even "a Laravel 10 app with vendor/ included" would let us build
a synthetic repro without needing your private code.
The assert text from stderr (step 1) is the most actionable item — it tells us
exactly which resolve-phase invariant was violated.
Thank you!
github-actions commentedon Jun 26, 2026
Thanks for the report! To move this forward we need a bit more so we can reproduce it ourselves:
codebase-memory-mcp --versionyou're onOnce that's here we'll pick it straight back up. Heads-up: issues left
awaiting-reporterare automatically closed after a few weeks of silence, but a comment reopens the door anytime.faytec-tanbo commentedon Jun 26, 2026
@DeusData
Flawm commentedon Jun 28, 2026
Hey, was seeing something similar which I believe is the same issue. Here's an MRE:
codebase-memory-mcp version:
0.8.1OS:
Linux x86_64command:
/usr/bin/time -v codebase-memory-mcp cli index_repository '{"repo_path":"/tmp/repro"}'Repo folder: ./Test.php
RSS: ~4Gb & takes 15 seconds. With either class name or trait renamed, it's perfectly normal.
Got a fix here which lets my local project get indexed no problem: Flawm@9f8edb2
lindeer commentedon Jul 2, 2026
hello, same issue on my arm64 debian with codebase-memory-mcp-portable 0.8.1 for my Java8 spring project.
DeusData commentedon Sep 25, 2026
Thank you all for the logs and the minimal repros; they covered several distinct failures! @Flawm, your one-file PHP trait example was the key. That self-use OOM was fixed in v0.10.0 (#920, thanks to @muba00), and your example now indexes instantly. The 3.49M-node abort in the resolve phase is exactly the scale v0.11.0's reworked memory core targets: memory now follows the budget and spills under pressure instead of growing past it. @jwu-au, @faytec-tanbo and @lindeer, could you retest on v0.11.0? If it still fails, please share the exit code and the last ~40 stderr lines.
github-actions commentedon Sep 26, 2026
Thanks for the report! To move this forward we need a bit more so we can reproduce it ourselves:
codebase-memory-mcp --versionyou're onOnce that's here we'll pick it straight back up. Heads-up: issues left
awaiting-reporterare automatically closed after a few weeks of silence, but a comment reopens the door anytime.faytec-tanbo commentedon Sep 29, 2026
Thanks, it's working for me now.
DeusData commentedon Oct 25, 2026
Thank you, @faytec-tanbo, for confirming that it works for you now, and thanks to everyone who supplied the earlier failure details. That confirms your case; it does not resolve the other reported aborts by itself. Keeping those separate, with no further retest needed from you at this point. Sorry for the delay—this is waiting on maintainer follow-up, and I’ll follow up soon.