#231·flowsint

Illegal instruction ( core dumped ) on CPU without AVX2.

Author: HassanAlmaCreated Sep 21, 2026Updated Sep 21, 2026

[~/flowsint]

$ grep -c 'NPY_DISABLE' docker-compose.prod.yml config> /dev/null && echo YAML OK" YAML OK

Summary:

Tje 'flowsint-api' production container crashes immediately on startup with 'illegal instruction (core dumped)' on a CPU that doesn't supported AVX2.

The container never becomes healthy, which blocks 'celery' and 'app' from starting ( depend on 'api: condition: service _healthy').

Environment

  • OS : Kali rolling 26.3

  • docker : 28.5.2+dfsg4 ( debian package 'docker.io')

  • git : 2.53.0

  • GNU Make: 4.4.1 -CPU : x86_64 ( without AVX2**)

  • 'grep -o 'avx2' /proc/cpuinfo | head -l'

===> EMPTY.

  • ' grep -o -ml 'abx[^ ]*' /proc/cpuinfo | sort -u'

===> NO AVX flags at all ).

-installation path: '~/flowsint'

-install method: ' git clone https://guthub.com/reconurge/flowsint.git && cd flowsint && make prod'

Steps to reproduce

  1. on a host whose CPU doesn't expose AVX2 ( Bare-Metal or VM wirh CPU type that doesn't pass AVX2 through, e.g. QEMU/KVM 'qemu64').

  2. Clone the repo and run

'''bash git clone https://github.com/reconurge/flowsint.git cd flowsint make prod

***actual behaviour:

'flowsint-api-prod' fails to start. Endless restart loop with exit code 132:

flowsint-api-prod | running database migrationss...

flowsint-api-prod | illegal instructions ( core dumped)

flowsint-api-prod is exited with code 132 ( restarting)

text:

'postgres' 'redis' 'neo4j' become healthy - only the API doesn't.

This blocks 'celery' and 'app' from starting ( tjey depend on 'api: condition: service_healthy').

Already tried*

Set in 'docker-compose.prod.yml' for both 'api' and 'celery' ;

''' yaml

NPY_DISABlE_CPU_FEATURES=AVX512F AVX512CD AVX512_SKK

FAISS_OPT_LEVEL=o

OMP_NUM_THREADS=1

MKL_ENABLE_INSTRUCTIONS=SSE4.2


grep -c NPY_DISABLE ==> 2, docker compose config =>YAML OK.

Result: same crash !.

Analysis

A binary in the image ( ghcr.io/reconurge/flowsint-api:latest) appears to be compiled with AVX2 optimisations.

My CPU has no AVX2

(grep avx2 /proc/cpuinfo ==> EMPTY). Tje env vars do not help because tje crash happens before python starts.

Request

please build image with a conservative -march=x86-64-v2 baseline, or publish a :latest-generic tag. happy to test