-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Bug Description
The SSE3 variant build contains AVX-512 instructions from the bundled roaring bitmaps
third-party dependency. This causes an immediate crash on any CPU without AVX support
(Pentium Silver/Gold, Celeron, Atom, older budget x86 chips).
Steps to Reproduce
- Use any CPU without AVX (e.g. Intel Pentium Silver N6000 has SSE4.2 but no AVX)
- git clone https://github.com/volcengine/OpenViking.git && cd OpenViking
- OV_X86_BUILD_VARIANTS=sse3 pip install -e .
- python -c "import openviking"
→ Crashes immediately
Expected Behavior
The SSE3 variant should run cleanly on any CPU with SSE3/SSE4 support,
with no AVX instructions anywhere in the build including third-party dependencies.
Actual Behavior
Process crashes with "Illegal instruction (core dumped)" or "Segmentation fault
(core dumped)" on import. The official Docker image (ghcr.io/volcengine/openviking:latest)
also crashes the same way, confirming this is not an environment issue.
Minimal Reproducible Example
import openviking # crashes here on non-AVX CPUError Logs
$ python -c "import openviking; print('import OK')"
corrupted size vs. prev_size
Aborted (core dumped)
$ objdump -d openviking/storage/vectordb/engine/_x86_sse3.cpython-312-x86_64-linux-gnu.so | grep -E "ymm|zmm" | head -5
141d2d: 62 f1 fe 48 6f 01 vmovdqu64 (%rcx),%zmm0
141d33: 62 f1 7d 48 74 00 vpcmpeqb (%rax),%zmm0,%k0
141dac: 62 f2 fd 48 7c c8 vpbroadcastq %rax,%zmm1
141db2: 62 f2 fd 48 7c c1 vpbroadcastq %rcx,%zmm0
141dba: 62 f1 fd 48 6f 15 3c vmovdqa64 0xec23c(%rip),%zmm2
Symbol _ZN7roaring8internal appears alongside these AVX-512 instructions,
identifying roaring bitmaps as the source. OV_X86_BUILD_VARIANTS=sse3 does
not propagate to third-party deps.OpenViking Version
v0.1.12 (main branch, built from source)
Python Version
3.12.9
Operating System
Linux
Model Backend
None
Additional Context
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working
Type
Projects
Status
Backlog