Summary
Opening a zvec collection (HNSW index) fails on Apple Silicon (macOS arm64) with a segment-mapping error. The exact same collection opens successfully on x86_64 Linux, so this is architecture-specific.
Error
On macOS 26.5.2, Apple M-series (arm64):
index_mapping.cc:379 Map segment failed, segment id HnswT2S0
hnsw_chunk.cc:42 Storage append segment failed for Duplicate
hnsw_streamer_entity.cc:380 Open index failed for Duplicate
index.cc:337 Failed to open streamer, path: .../collection.zvec
Zvec error: open collection failed err=8
err=8 on macOS is ENOEXEC. The failing path is the HNSW segment mmap in index_mapping.cc.
On x86_64 Linux, the identical collection opens fine.
Environment
- macOS 26.5.2 (build 25F84), Apple Silicon arm64
- zvec built from source, cmake
-DBUILD_C_BINDINGS=ON -DBUILD_TOOLS=OFF -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0
- CMake detects
turbo: ARM64 detected, NEON enabled by default
- zvec commit tested:
e5e799221b45bbb90f5fdc5c69b6b8dfbf017e78
- SDK: macOS 26.x
Steps to reproduce
- Build zvec C bindings natively on Apple Silicon (see env above).
- Open any existing HNSW zvec collection (created on x86_64).
- Observe the
Map segment failed, segment id HnswT2S0 error and open collection failed err=8.
Notes
- Reproduced with both a GitHub-release prebuilt binary and a freshly source-built library, so it is not a packaging/artifact issue.
- The collection was created on Linux x86_64; cross-architecture open fails at the HNSW segment map step.
- Related:
zvec-ai/zvec-rust#13 (same failure surfaced through the Rust binding).
Summary
Opening a zvec collection (HNSW index) fails on Apple Silicon (macOS arm64) with a segment-mapping error. The exact same collection opens successfully on x86_64 Linux, so this is architecture-specific.
Error
On macOS 26.5.2, Apple M-series (arm64):
err=8on macOS isENOEXEC. The failing path is the HNSW segment mmap inindex_mapping.cc.On x86_64 Linux, the identical collection opens fine.
Environment
-DBUILD_C_BINDINGS=ON -DBUILD_TOOLS=OFF -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0turbo: ARM64 detected, NEON enabled by defaulte5e799221b45bbb90f5fdc5c69b6b8dfbf017e78Steps to reproduce
Map segment failed, segment id HnswT2S0error andopen collection failed err=8.Notes
zvec-ai/zvec-rust#13(same failure surfaced through the Rust binding).