chroma-core / chroma-core/chroma

chromadb_rust_bindings SIGSEGV on macOS ARM64 (Python 3.14)

Open
#6,984 3 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Rust
Stars
29.3k
Forks
2.5k
Avg merge
1d 4h
Merged PRs (30d)
38

Description

### What happened?

## Bug Report: chromadb_rust_bindings SIGSEGV on macOS ARM64 (Python 3.14)

**Package:** chromadb 1.5.8 (`chromadb_rust_bindings.abi3.so`)

**OS:** macOS 26.4.1 (Darwin 25.4.0), Apple Silicon ARM64

**Python:** 3.14.3 (Homebrew)

**Reproduces:** Every run, ~13s after startup

**Crash type:** `EXC_BAD_ACCESS (SIGSEGV)` — `KERN_INVALID_ADDRESS at 0x0000000000000088`

---

### Summary

Background thread in `chromadb_rust_bindings.abi3.so` segfaults with a null pointer dereference (offset +0x88). All frames in the triggered thread point to image index 50 (`chromadb_rust_bindings.abi3.so`) with no symbols resolved. Main thread is idle in `__psynch_cvwait`. Crash is deterministic and generates a macOS crash reporter dialog on every invocation.

**Also loaded:** onnxruntime 1.25.0, numpy, tokenizers

**Crash incident ID:** 7B4FC6EB-402A-42C3-B8B2-07BB49EB796E

---

### Expected Behavior

No crash.

### Actual Behavior

macOS crash reporter dialog every run, Python exits with SIGSEGV.

### Versions

chromadb 1.5.8, Python 3.14.3 (Homebrew), macOS 26.4.1 (Darwin 25.4.0) Apple Silicon ARM64; also loaded: onnxruntime 1.25.0, numpy, tokenizers

### Relevant log output

```shell

---
**Environment**
- Python: 3.14.3 (arm64, Homebrew: /opt/homebrew/...)
- chromadb: 1.5.8
- chromadb_rust_bindings: abi3.so (arm64)
- onnxruntime: 1.25.0
- OS: macOS 26.4.1 (25E253), Apple Silicon

**Crash**
- Type: EXC_BAD_ACCESS (SIGSEGV)
- Subtype: KERN_INVALID_ADDRESS at 0x0000000000000088
- Signal: SIGSEGV
- Raw codes: 0x0000000000000001, 0x0000000000000088
- Uptime at crash: ~13s
- Incident ID: 7B4FC6EB-402A-42C3-B8B2-07BB49EB796E

**Crashed thread** — all frames in chromadb_rust_bindings.abi3.so [image 50], no symbols:
0 chromadb_rust_bindings.abi3.so offset: 25958564
1 chromadb_rust_bindings.abi3.so offset: 25943260
2 chromadb_rust_bindings.abi3.so offset: 25931232
3 chromadb_rust_bindings.abi3.so offset: 9018588
4 chromadb_rust_bindings.abi3.so offset: 10211600
5 chromadb_rust_bindings.abi3.so offset: 10398672
6 chromadb_rust_bindings.abi3.so offset: 10160324
7 chromadb_rust_bindings.abi3.so offset: 10162124
8 chromadb_rust_bindings.abi3.so offset: 10398848
(repeating pattern continues)

**Main thread** — blocked in condition wait, called from chromadb_rust_bindings:
0 __psynch_cvwait
1 _pthread_cond_wait
2-9 chromadb_rust_bindings.abi3.so (no symbols, offsets: 24621764, 14167048, 16023340, 16783236, 14838104, 14790504, 14921160, 14786212)
10 method_vectorcall_VARARGS_KEYWORDS (Python)
11 PyObject_Vectorcall
12 _PyEval_EvalFrameDefault
... pymain_run_file → Py_RunMain → start

```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the crash with chromadb 1.5.8, Python 3.14.3, and macOS ARM64, then inspect the unsymbolized frames in chromadb_rust_bindings.abi3.so and the reported crash details. The report names no source file or test; done means the deterministic SIGSEGV no longer occurs and Python exits normally.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, python, rust
Domain
backend, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.