Snapchat / KeyDB

A Multithreaded Fork of Redis
https://keydb.dev
BSD 3-Clause "New" or "Revised" License
11.02k stars 564 forks source link

version 6.3.4 won't start after upgrade #744

Closed altesockensuppe closed 7 months ago

altesockensuppe commented 7 months ago

Describe the bug

OS: Debian GNU/Linux 12 (bookworm)

After updating keydb via apt from version 6:6.3.3-1+deb12u1 to version 6:6.3.4-1+deb12u1, it won't start

output syslog

2023-11-20T19:53:16.082982+01:00 mysystem systemd[1]: Starting keydb-server.service - Advanced key-value store...
2023-11-20T19:53:16.175235+01:00 mysystem kernel: [  198.388661] traps: keydb-server[2483] trap invalid opcode ip:5633afec0831 sp:7ffca883eec0 error:0 in keydb-server[5633afe77000+677000]
2023-11-20T19:53:16.178421+01:00 mysystem systemd[1]: keydb-server.service: Main process exited, code=killed, status=4/ILL
2023-11-20T19:53:16.178689+01:00 mysystem systemd[1]: keydb-server.service: Failed with result 'signal'.
2023-11-20T19:53:16.179031+01:00 mysystem systemd[1]: Failed to start keydb-server.service - Advanced key-value store.

During the apt upgrade the following message was displayed after the setup of keydb.

Setting up keydb-server (6:6.3.4-1+deb12u1) ...
Could not execute systemctl:  at /usr/bin/deb-systemd-invoke line 145.

To reproduce

run

apt update
apt upgrade

Expected behavior

After the update, keydb start normal

Additional information

My workaround was to go back to version 6:6.3.3-1+deb12u1

apt remove keydb
apt install keydb-tools=6:6.3.3-1+deb12u1
apt install keydb-server=6:6.3.3-1+deb12u
doptime commented 7 months ago

me too, may be it's because instruction reason. i was told: 6.3.3 binary: Instruction set extensions used: CMOV, MODE64, SSE1, SSE2 6.3.4 binary: Instruction set extensions used: AVX, AVX2, BMI, CMOV, MODE64, NOVLX, PCLMUL, SSE1, SSE2, SSE42

hope there 's a version needs no AVX2

altesockensuppe commented 7 months ago

We have keydb running on a VM. I will change the processor type to Intel Broadwell and see if that helps. The current setting is kvm64. Thx for the hint!

altesockensuppe commented 7 months ago

I have now switched the CPU to host and rebooted. Then updated to version 6.3.4 with apt keydb. It works. :+1:

We have installed the following CPU:

model name  : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat umip md_clear arch_capabilities

A list of all CPUs that support AVX2 can be found here: https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#CPUs_with_AVX2

It would be good if this change was noted as a breaking change in the changelog.