Skip to content

Pin chromadb to a tested range, current unpinned dependency can pull crashing 1.x builds #100

@yeager

Description

@yeager

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:

chromadb>=0.6,<1

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions