Skip to content

Index failed in large repo #563

Open

Description

@jwu-au

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.

Activity

  1. jwu-au commented on Jun 23, 2026

    @jwu-au
    Author

    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?

    Why the full single-index couldn't work (settled)
    Your last log was the proof: the full repo's registry build alone peaks at 23.9 GB vs the 24.5 GB budget — only 677 MB of headroom — so the resolve phase gets hard-killed before it can finish. It's not the OS being aggressive and not the cross-resolve pass specifically; it's the raw symbol-table size of 3.49M nodes exceeding the tool's auto-derived memory ceiling. Splitting into domains + components keeps each run's peak (20.5 GB / well under) within budget.

  2. DeusData commented on Jun 23, 2026

    @DeusData
    Owner

    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

  3. faytec-tanbo commented on Jun 25, 2026

    @faytec-tanbo

    @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_repository
    

    System

    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.

    Image

    After a while, the process was killed, perhaps by the system?


    $ cat .cbmignore
    storage/framework/
    storage/logs/
    bootstrap/cache/
    public/build/
    node_modules/
    vendor/
    
  4. zhaiyuxin103 commented on Jun 25, 2026

    @zhaiyuxin103

    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.

  5. DeusData commented on Jun 26, 2026

    @DeusData
    Owner

    Thanks for the detailed log and for confirming the split-index workaround. The abort
    during parallel.resolve.start after a 3.49 M-node clean extract is a specific failure
    class we want to reproduce in CI. To localize the assert:

    Instructions for your coding agent:

    # 1. Re-run with stderr captured separately (SIGABRT assertion text goes to stderr)
    CBM_WORKERS=4 codebase-memory-mcp cli index_repository \
      '{"repo_path":"/my_repo_path","mode":"fast","persistence":true}' \
      > /tmp/cbm-563-stdout.log 2> /tmp/cbm-563-stderr.log
    echo "exit=$?"
    echo "--- stderr ---"
    cat /tmp/cbm-563-stderr.log
    
    # 2. Language breakdown of the repo
    find /my_repo_path -type f | sed 's/.*\.//' | sort | uniq -c | sort -rn | head -20
    
    # 3. Largest source files (generated files can cause resolve OOMs)
    find /my_repo_path -type f \( -name "*.php" -o -name "*.ts" -o -name "*.js" \
      -o -name "*.py" -o -name "*.go" \) | xargs du -sh 2>/dev/null | sort -rh | head -10
    
    # 4. .cbmignore contents if present
    cat /my_repo_path/.cbmignore 2>/dev/null || echo "none"

    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!

  6. added
    awaiting-reporterWaiting on the reporter for info/repro; stale bot will warn then close
    on Jun 26, 2026
  7. github-actions commented on Jun 26, 2026

    @github-actions

    Thanks for the report! To move this forward we need a bit more so we can reproduce it ourselves:

    • the codebase-memory-mcp --version you're on
    • the exact steps or command you ran
    • a public repo (or a small dummy snippet) that shows the problem — please don't paste proprietary code

    Once that's here we'll pick it straight back up. Heads-up: issues left awaiting-reporter are automatically closed after a few weeks of silence, but a comment reopens the door anytime.

  8. faytec-tanbo commented on Jun 26, 2026

    @faytec-tanbo

    @DeusData

    cat codebase.sh
    CBM_WORKERS=4 codebase-memory-mcp cli index_repository \
      '{"repo_path":"/Users/foo/develop/www/laravel-12","mode":"fast","persistence":true}' \
      > /tmp/cbm-563-stdout.log 2> /tmp/cbm-563-stderr.log
    echo "exit=$?"
    echo "--- stderr ---"
    cat /tmp/cbm-563-stderr.log
    
    # 2. Language breakdown of the repo
    find /Users/foo/develop/www/laravel-12 -type f | sed 's/.*\.//' | sort | uniq -c | sort -rn | head -20
    
    # 3. Largest source files (generated files can cause resolve OOMs)
    find /Users/foo/develop/www/laravel-12 -type f \( -name "*.php" -o -name "*.ts" -o -name "*.js" \
      -o -name "*.py" -o -name "*.go" \) | xargs du -sh 2>/dev/null | sort -rh | head -10
    
    # 4. .cbmignore contents if present
    cat /Users/foo/develop/www/laravel-12/.cbmignore 2>/dev/null || echo "none"
    
    $ chmod u+x codebase.sh
    $ ./codebase.sh
    ./codebase.sh: line 3: 33204 Killed: 9               CBM_WORKERS=4 codebase-memory-mcp cli index_repository '{"repo_path":"/Users/foo/develop/www/laravel-12","mode":"fast","persistence":true}' > /tmp/cbm-563-stdout.log 2> /tmp/cbm-563-stderr.log
    exit=137
    --- stderr ---
    level=info msg=mem.init budget_mb=16384 total_ram_mb=32768
    level=info msg=pipeline.discover files=1348 elapsed_ms=22
    level=info msg=pipeline.route path=full
    level=info msg=pass.start pass=structure files=1348
    level=info msg=pass.done pass=structure nodes=1714 edges=1666
    level=info msg=pass.timing pass=structure elapsed_ms=2
    level=info msg=pipeline.mode mode=parallel workers=4 files=1348
    level=info msg=parallel.extract.start files=1348 workers=4
    level=info msg=parallel.mem.budget total_mb=16384 per_worker_mb=4096
    <....>
    level=info msg=parallel.extract.progress done=30 total=1348
    level=info msg=parallel.extract.progress done=40 total=1348
    level=info msg=parallel.extract.progress done=50 total=1348
    level=info msg=parallel.extract.progress done=60 total=1348
    level=info msg=parallel.extract.progress done=70 total=1348
    level=info msg=parallel.extract.progress done=80 total=1348
    level=info msg=parallel.extract.progress done=90 total=1348
    level=info msg=parallel.extract.progress done=100 total=1348
    level=info msg=parallel.extract.progress done=110 total=1348
    level=info msg=parallel.extract.progress done=120 total=1348
    level=info msg=parallel.extract.progress done=130 total=1348
    level=info msg=parallel.extract.progress done=140 total=1348
    level=info msg=parallel.extract.progress done=150 total=1348
    level=info msg=parallel.extract.progress done=160 total=1348
    level=info msg=parallel.extract.progress done=170 total=1348
    level=info msg=parallel.extract.progress done=180 total=1348
    level=info msg=parallel.extract.progress done=190 total=1348
    level=info msg=parallel.extract.progress done=200 total=1348
    level=info msg=parallel.extract.progress done=210 total=1348
    level=info msg=parallel.extract.progress done=220 total=1348
    level=info msg=parallel.extract.progress done=230 total=1348
    level=info msg=parallel.extract.progress done=240 total=1348
    level=info msg=parallel.extract.progress done=250 total=1348
    level=info msg=parallel.extract.progress done=260 total=1348
    level=info msg=parallel.extract.progress done=270 total=1348
    level=info msg=parallel.extract.progress done=280 total=1348
    level=info msg=parallel.extract.progress done=290 total=1348
    level=info msg=parallel.extract.progress done=300 total=1348
    level=info msg=parallel.extract.progress done=310 total=1348
    level=info msg=parallel.extract.progress done=320 total=1348
    level=info msg=parallel.extract.progress done=330 total=1348
    level=info msg=parallel.extract.progress done=340 total=1348
    level=info msg=parallel.extract.progress done=350 total=1348
    level=info msg=parallel.extract.progress done=360 total=1348
    level=info msg=parallel.extract.progress done=370 total=1348
    level=info msg=parallel.extract.progress done=380 total=1348
    level=info msg=parallel.extract.progress done=390 total=1348
    level=info msg=parallel.extract.progress done=400 total=1348
    level=info msg=parallel.extract.progress done=410 total=1348
    level=info msg=parallel.extract.progress done=420 total=1348
    level=info msg=parallel.extract.progress done=430 total=1348
    level=info msg=parallel.extract.progress done=440 total=1348
    level=info msg=parallel.extract.progress done=450 total=1348
    level=info msg=parallel.extract.progress done=460 total=1348
    level=info msg=parallel.extract.progress done=470 total=1348
    level=info msg=parallel.extract.progress done=480 total=1348
    level=info msg=parallel.extract.progress done=500 total=1348
    level=info msg=parallel.extract.progress done=510 total=1348
    level=info msg=parallel.extract.progress done=520 total=1348
    level=info msg=parallel.extract.progress done=530 total=1348
    level=info msg=parallel.extract.progress done=540 total=1348
    level=info msg=parallel.extract.progress done=550 total=1348
    level=info msg=parallel.extract.progress done=560 total=1348
    level=info msg=parallel.extract.progress done=570 total=1348
    level=info msg=parallel.extract.progress done=580 total=1348
    level=info msg=parallel.extract.progress done=590 total=1348
    level=info msg=parallel.extract.progress done=600 total=1348
    level=info msg=parallel.extract.progress done=610 total=1348
    level=info msg=parallel.extract.progress done=620 total=1348
    level=info msg=parallel.extract.progress done=630 total=1348
    level=info msg=parallel.extract.progress done=640 total=1348
    level=info msg=parallel.extract.progress done=650 total=1348
    level=info msg=parallel.extract.progress done=660 total=1348
    level=info msg=parallel.extract.progress done=670 total=1348
    level=info msg=parallel.extract.progress done=680 total=1348
    level=info msg=parallel.extract.progress done=690 total=1348
    level=info msg=parallel.extract.progress done=700 total=1348
    level=info msg=parallel.extract.progress done=710 total=1348
    level=info msg=parallel.extract.progress done=720 total=1348
    level=info msg=parallel.extract.progress done=730 total=1348
    level=info msg=parallel.extract.progress done=740 total=1348
    level=info msg=parallel.extract.progress done=750 total=1348
    level=info msg=parallel.extract.progress done=760 total=1348
    level=info msg=parallel.extract.progress done=770 total=1348
    level=info msg=parallel.extract.progress done=780 total=1348
    level=info msg=parallel.extract.progress done=790 total=1348
    level=info msg=parallel.extract.progress done=800 total=1348
    level=info msg=parallel.extract.progress done=810 total=1348
    level=info msg=parallel.extract.progress done=820 total=1348
    level=info msg=parallel.extract.progress done=830 total=1348
    level=info msg=parallel.extract.progress done=840 total=1348
    level=info msg=parallel.extract.progress done=850 total=1348
    level=info msg=parallel.extract.progress done=860 total=1348
    level=info msg=parallel.extract.progress done=870 total=1348
    level=info msg=parallel.extract.progress done=880 total=1348
    level=info msg=parallel.extract.progress done=890 total=1348
    level=info msg=parallel.extract.progress done=900 total=1348
    level=info msg=parallel.extract.progress done=910 total=1348
    level=info msg=parallel.extract.progress done=920 total=1348
    level=info msg=parallel.extract.progress done=930 total=1348
    level=info msg=parallel.extract.progress done=940 total=1348
    level=info msg=parallel.extract.progress done=950 total=1348
    level=info msg=parallel.extract.progress done=960 total=1348
    level=info msg=parallel.extract.progress done=970 total=1348
    level=info msg=parallel.extract.progress done=980 total=1348
    level=info msg=parallel.extract.progress done=990 total=1348
    level=info msg=parallel.extract.progress done=1000 total=1348
    level=info msg=parallel.extract.progress done=1010 total=1348
    level=info msg=parallel.extract.progress done=1020 total=1348
    level=info msg=parallel.extract.progress done=1030 total=1348
    level=info msg=parallel.extract.progress done=1040 total=1348
    level=info msg=parallel.extract.progress done=1050 total=1348
    level=info msg=parallel.extract.progress done=1060 total=1348
    level=info msg=parallel.extract.progress done=1070 total=1348
    level=info msg=parallel.extract.progress done=1080 total=1348
    level=info msg=parallel.extract.progress done=1090 total=1348
    level=info msg=parallel.extract.progress done=1100 total=1348
    level=info msg=parallel.extract.progress done=1110 total=1348
    level=info msg=parallel.extract.progress done=1120 total=1348
    level=info msg=parallel.extract.progress done=1130 total=1348
    level=info msg=parallel.extract.progress done=1140 total=1348
    level=info msg=parallel.extract.progress done=1150 total=1348
    level=info msg=parallel.extract.progress done=1160 total=1348
    level=info msg=parallel.extract.progress done=1170 total=1348
    level=info msg=parallel.extract.progress done=1180 total=1348
    level=info msg=parallel.extract.progress done=1190 total=1348
    level=info msg=parallel.extract.progress done=1200 total=1348
    level=info msg=parallel.extract.progress done=1210 total=1348
    level=info msg=parallel.extract.progress done=1220 total=1348
    level=info msg=parallel.extract.progress done=1230 total=1348
    level=info msg=parallel.extract.progress done=1240 total=1348
    level=info msg=parallel.extract.progress done=1250 total=1348
    level=info msg=parallel.extract.progress done=1260 total=1348
    level=info msg=parallel.extract.progress done=1270 total=1348
    level=info msg=parallel.extract.progress done=1280 total=1348
    level=info msg=parallel.extract.progress done=1290 total=1348
    level=info msg=parallel.extract.progress done=1300 total=1348
    level=info msg=parallel.extract.progress done=1310 total=1348
    level=info msg=parallel.extract.progress done=1320 total=1348
    level=info msg=parallel.extract.progress done=1330 total=1348
    level=info msg=parallel.extract.progress done=1340 total=1348
    level=info msg=parallel.extract.progress done=1348 total=1348
    23252 php
    3025 js
    2542 json
    1626 jpg
    1497 html
    1268 md
    1135 map
    1103 ts
     477 out
     477 in
     378 asciidoc
     220 stub
     103 yml
      99 txt
      93 vue
      90 png
      85 po
      85 mo
      52 css
      51 xml
    4.3M	/Users/foo/develop/www/laravel-12/node_modules/tailwindcss/peers/index.js
    2.2M	/Users/foo/develop/www/laravel-12/vendor/composer/autoload_static.php
    2.0M	/Users/foo/develop/www/laravel-12/vendor/composer/autoload_classmap.php
    1.7M	/Users/foo/develop/www/laravel-12/node_modules/jiti/dist/babel.js
    1.6M	/Users/foo/develop/www/laravel-12/vendor/laravel/telescope/dist/app.js
    1.6M	/Users/foo/develop/www/laravel-12/node_modules/vite/dist/node/chunks/dep-Bid9ssRr.js
    1.5M	/Users/foo/develop/www/laravel-12/public/vendor/telescope/app.js
    1.4M	/Users/foo/develop/www/laravel-12/vendor/laravel/horizon/dist/app.js
    1.3M	/Users/foo/develop/www/laravel-12/vendor/aws/aws-sdk-php/src/data/ec2/2016-11-15/api-2.json.php
    1.0M	/Users/foo/develop/www/laravel-12/_ide_helper.php
    storage/framework/
    storage/logs/
    bootstrap/cache/
    public/build/
    node_modules/
    vendor/
    
    $ codebase-memory-mcp --version
    codebase-memory-mcp 0.8.1
    
    $ codebase-memory-mcp cli list_projects
    level=info msg=mem.init budget_mb=16384 total_ram_mb=32768
    {"projects":[],"hint":"No projects indexed. Call index_repository(repo_path=...) first."}
    
  9. Flawm commented on Jun 28, 2026

    @Flawm

    Hey, was seeing something similar which I believe is the same issue. Here's an MRE:

    codebase-memory-mcp version: 0.8.1
    OS: Linux x86_64
    command: /usr/bin/time -v codebase-memory-mcp cli index_repository '{"repo_path":"/tmp/repro"}'

    Repo folder: ./Test.php

    <?php
    
    namespace Foo;
    
    class Test
    {
        use \Bar\Test;
    
        public function baz() {}
    }

    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

  10. added
    priority/backlogValuable contribution, lower scheduling urgency; review when maintainer capacity opens.
    on Jun 30, 2026
  11. lindeer commented on Jul 2, 2026

    @lindeer

    hello, same issue on my arm64 debian with codebase-memory-mcp-portable 0.8.1 for my Java8 spring project.

    Image Image
  12. added this to the 0.9.1-rc milestone on Jul 8, 2026
  13. removed
    awaiting-reporterWaiting on the reporter for info/repro; stale bot will warn then close
    on Jul 10, 2026
  14. added
    priority/highNeeds near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.
    stability/performanceServer crashes, OOM, hangs, high CPU/memory
    and removed
    priority/backlogValuable contribution, lower scheduling urgency; review when maintainer capacity opens.
    on Sep 5, 2026
  15. DeusData commented on Sep 25, 2026

    @DeusData
    Owner

    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.

  16. added
    awaiting-reporterWaiting on the reporter for info/repro; stale bot will warn then close
    on Sep 25, 2026
  17. github-actions commented on Sep 26, 2026

    @github-actions

    Thanks for the report! To move this forward we need a bit more so we can reproduce it ourselves:

    • the codebase-memory-mcp --version you're on
    • the exact steps or command you ran
    • a public repo (or a small dummy snippet) that shows the problem — please don't paste proprietary code

    Once that's here we'll pick it straight back up. Heads-up: issues left awaiting-reporter are automatically closed after a few weeks of silence, but a comment reopens the door anytime.

  18. faytec-tanbo commented on Sep 29, 2026

    @faytec-tanbo

    Thanks, it's working for me now.

    Image
  19. removed
    awaiting-reporterWaiting on the reporter for info/repro; stale bot will warn then close
    on Oct 19, 2026
  20. DeusData commented on Oct 25, 2026

    @DeusData
    Owner

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpriority/highNeeds near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.stability/performanceServer crashes, OOM, hangs, high CPU/memory

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions