timescale/pgvectorscale

the database crash when I try to enable vectorscale

omarkhatibco opened this issue · 5 comments

Hi everyone,

I'm using timescaleDB docker image timescale/timescaledb-ha:pg16, now when I try to run this command CREATE EXTENSION IF NOT EXISTS vectorscale CASCADE; the database crash and restart it self.

any idea why? or has anyone faced this problem before?

here is the server log

PostgreSQL init process complete; ready for start up.

2024-07-25 21:44:55.635 UTC [1] LOG:  starting PostgreSQL 16.3 (Ubuntu 16.3-1.pgdg22.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, 64-bit
2024-07-25 21:44:55.636 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2024-07-25 21:44:55.636 UTC [1] LOG:  listening on IPv6 address "::", port 5432
2024-07-25 21:44:55.640 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-07-25 21:44:55.650 UTC [104] LOG:  database system was shut down at 2024-07-25 21:44:55 UTC
2024-07-25 21:44:55.669 UTC [1] LOG:  database system is ready to accept connections
2024-07-25 21:44:55.672 UTC [107] LOG:  TimescaleDB background worker launcher connected to shared catalogs
2024-07-25 21:45:27.221 UTC [1] LOG:  server process (PID 159) was terminated by signal 4: Illegal instruction
2024-07-25 21:45:27.221 UTC [1] DETAIL:  Failed process was running: CREATE EXTENSION IF NOT EXISTS vectorscale CASCADE;
2024-07-25 21:45:27.221 UTC [1] LOG:  terminating any other active server processes
2024-07-25 21:45:27.226 UTC [1] LOG:  all server processes terminated; reinitializing
2024-07-25 21:45:27.523 UTC [169] LOG:  database system was interrupted; last known up at 2024-07-25 21:44:55 UTC
2024-07-25 21:45:27.634 UTC [172] FATAL:  the database system is in recovery mode
2024-07-25 21:45:27.798 UTC [169] LOG:  database system was not properly shut down; automatic recovery in progress
2024-07-25 21:45:27.803 UTC [169] LOG:  redo starts at 0/248A600
2024-07-25 21:45:27.855 UTC [169] LOG:  invalid magic number 0000 in WAL segment 000000010000000000000002, LSN 0/275C000, offset 7716864
2024-07-25 21:45:27.855 UTC [169] LOG:  redo done at 0/275B5E8 system usage: CPU: user: 0.03 s, system: 0.01 s, elapsed: 0.05 s
2024-07-25 21:45:27.865 UTC [170] LOG:  checkpoint starting: end-of-recovery immediate wait
2024-07-25 21:45:28.007 UTC [170] LOG:  checkpoint complete: wrote 437 buffers (0.1%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.038 s, sync=0.097 s, total=0.145 s; sync files=95, longest=0.003 s, average=0.002 s; distance=2886 kB, estimate=2886 kB; lsn=0/275C048, redo lsn=0/275C048
2024-07-25 21:45:28.020 UTC [1] LOG:  database system is ready to accept connections
2024-07-25 21:45:28.023 UTC [175] LOG:  TimescaleDB background worker launcher connected to shared catalogs

@omarkhatibco sorry for the delay. What architecture are you running on?

Ubuntu with coolify and timescale docker image

@omarkhatibco amd64 or arm64?

@cevian it's 1x Intel® C2750 (Avoton)
8C/8T - 2.4 GHz so I would assume either

Ahh that CPU is missing AVX and FMA. We compile the binary for our docker images with AVX and FMA as target-features. I think running a binary with those features enabled on a CPU without those features can segfault. I have add #119 to block that for now. I'll get input from colleagues and see if we can support multiple cpu features and how.

I also have a question out in simdeez for feedback: arduano/simdeez#29