Skip to content

[Bug]: SIGILL: Illegal instruction (core dumped) on Intel Broadwell (i5-5200U) #92

@GracePeterMutiibwa

Description

@GracePeterMutiibwa

Description

I am encountering an Illegal instruction (core dumped) error immediately upon trying to create/open a collection. This occurs with VECTOR_FP32, VECTOR_FP16, and VECTOR_FP64.

It appears the PyPI binary wheels may be compiled with AVX-512 instructions enabled, which causes a crash on older architecture CPUs (like Intel Broadwell) that support AVX2 but lack AVX-512.

Crash occurs here

collection = zvec.create_and_open(path="./zvec_example", schema=schema)

Image

Expected Behavior

The library should either:

Detect the lack of AVX-512 support at runtime and fall back to AVX2 kernels.

Or provide a separate non-AVX-512 build on PyPI for compatibility with older x86_64 processors.

Steps to Reproduce

import zvec

# Define collection schema
schema = zvec.CollectionSchema(
    name="example",
    vectors=zvec.VectorSchema("embedding", zvec.DataType.VECTOR_FP32, 4),
)

Logs / Stack Trace

My CPU supports avx and avx2 but does not support avx512. Output of cat /proc/cpuinfo | grep flags | head -1:

flags : ... sse4_1 sse4_2 ... avx ... avx2 ... (avx512 is missing)

Operating System

ubuntu 24.04 (Kernel 6.8.0), Intel Core i5-5200U @ 2.20GHz (Broadwell)

Build & Runtime Environment

Python 3.12.3, zvec version 0.1.1

Additional Context

  • I've checked git status — no uncommitted submodule changes
  • I built with CMAKE_BUILD_TYPE=Debug
  • This occurs with or without COVERAGE=ON
  • The issue involves Python ↔ C++ integration (pybind11)

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

Status

In progress

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions