Skip to content

[Bug]: SIGILL (exit code 132) on CPUs without AVX2 support (e.g. AMD A8-6410) #604

@bruhismyname

Description

@bruhismyname

Bug Description

The server crashes immediately with SIGILL (exit code 132) on CPUs that do not support AVX2 instructions. The libagfsbinding.so library appears to be compiled with AVX2 instructions, making OpenViking completely unusable on older CPUs.

Steps to Reproduce

  1. Run on a CPU without AVX2 support (e.g. AMD A8-6410)
  2. Start the server: docker compose up or openviking-server --config ov.conf
  3. Server initializes, loads embedder, then immediately crashes

Expected Behavior

Server starts successfully, or falls back to a non-AVX2 code path.

Actual Behavior

Process terminates with exit code 132 (SIGILL - Illegal Instruction) immediately after "Initialized embedder" log line. Happens both with Docker image and pip install.

Minimal Reproducible Example

Error Logs

openviking | Initialized embedder (dim 768, sparse False)
openviking exited with code 132 (restarting)

Direct run: fish: Job 1, 'openviking-server --config ...' terminated by signal SIGILL (Illegal instruction)

OpenViking Version

v0.2.5

Python Version

3.12.3

Operating System

Linux

Model Backend

None

Additional Context

ARM (Kunpeng) support was added in v0.2.1 (#482), which suggests a non-AVX2 build path is feasible. Please consider providing a fallback build of libagfsbinding.so for x86 CPUs without AVX2.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions