Summary
mempalace 3.0.0 currently depends on:
Requires: chromadb, pyyaml
That leaves pip free to install the latest Chroma release. In my case it pulled chromadb 1.5.6, and MemPalace later started crashing with segmentation faults on macOS ARM after successful indexing.
Downgrading to chromadb 0.6.3 and rebuilding the palace fixed the problem on the same machine.
Why this matters
This makes installs non-deterministic:
- one user may get an older working Chroma build
- another user may get a newer 1.x build with different behavior
- MemPalace then looks broken even though the immediate fault is in the Chroma layer
At minimum, the package should pin Chroma to a tested range.
What I observed
Environment:
- MemPalace: 3.0.0
- Python: 3.9.6
- macOS: Darwin 25.4.0 arm64
Behavior with fresh install:
pip install mempalace pulled chromadb 1.5.6
mempalace init and mempalace mine worked
mempalace status, mempalace search, and mempalace wake-up later segfaulted
Crash path from faulthandler:
Fatal Python error: Segmentation fault
Thread ...:
File ".../site-packages/chromadb/api/rust.py", line 421 in _get
File ".../site-packages/chromadb/api/models/Collection.py", line 159 in get
File ".../site-packages/mempalace/miner.py", line 402 in status
Workaround that fixed it for me:
pip install --force-reinstall 'chromadb<1'
# I tested with chromadb==0.6.3
# then rebuild the palace
Requested fix
Please pin chromadb to a known-good range in package metadata, for example something like:
Or whatever range you have actually tested.
If there is a real intention to support Chroma 1.x, that should probably be explicit and tested in CI, because right now installs are effectively rolling the dice.
Summary
mempalace 3.0.0currently depends on:That leaves pip free to install the latest Chroma release. In my case it pulled
chromadb 1.5.6, and MemPalace later started crashing with segmentation faults on macOS ARM after successful indexing.Downgrading to
chromadb 0.6.3and rebuilding the palace fixed the problem on the same machine.Why this matters
This makes installs non-deterministic:
At minimum, the package should pin Chroma to a tested range.
What I observed
Environment:
Behavior with fresh install:
pip install mempalacepulledchromadb 1.5.6mempalace initandmempalace mineworkedmempalace status,mempalace search, andmempalace wake-uplater segfaultedCrash path from
faulthandler:Workaround that fixed it for me:
Requested fix
Please pin
chromadbto a known-good range in package metadata, for example something like:Or whatever range you have actually tested.
If there is a real intention to support Chroma 1.x, that should probably be explicit and tested in CI, because right now installs are effectively rolling the dice.