Skip to content

bug(deps): protobuf version incompatibility with chromadb opentelemetry dependencies #3971

@mrveiss

Description

@mrveiss

Issue

ChromaDB initialization fails due to protobuf version mismatch between:

  • protobuf 7.34.1 (installed)
  • opentelemetry-exporter-otlp-proto-grpc 1.11.1 (depends on older protobuf)

Error: "TypeError: Descriptors cannot be created directly" during ChromaDB startup.

Current Workaround

Added PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python env var to ChromaDB systemd service (39c54cc) to force pure-Python implementation instead of C extension. This is a temporary workaround, not a fix.

Root Cause

chromadb >=1.5.5 has transitive dependency on opentelemetry-exporter-otlp-proto-grpc which contains pre-compiled proto files for protobuf <4.24. Newer protobuf 7.x versions changed descriptor handling, causing incompatibility.

Solution Path

  1. Check if upstream chromadb/opentelemetry have released fixed versions
  2. Consider pinning protobuf to <5.0 if necessary, or upgrading chromadb to newer version
  3. Remove the PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python workaround once root cause is resolved

Related

  • Fix applied: 39c54cc (deployment: add PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python to ChromaDB systemd service)
  • Session: KB initialization failure debug (2026-04-08)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdependenciesPull requests that update a dependency filedeployment

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions