Hi Jim, On Wed, Apr 21, 2021 at 04:46:17AM -0600, Jim Freeman wrote: > Stock 1.8.19-1+deb10u3 on Debian10 runs fine, but when I install > 2.2.8-1~bpo10+1 from buster-backports, I get "Illegal instruction" ? > Is my CPU just too historic ?
Possible but it makes me think that it could also be a matter of lib or toolchain that was built for a slightly different arch with certain extensions (e.g. sse etc). Since it seems to happen easily, you should try it again under gdb, then disassemble the code around the location: # gdb --args ./haproxy -f ~/haproxy.cfg > run Once it crashes, issue: > bt it will report the backtrace and current function where it died, then: > disassemble $rip and press Enter until you see a line with "=>" indicating the current location. Please post a copy of the surrounding lines here, we may possibly figure that we're using an instruction we ought not to use. > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov > pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm > 3dnowext 3dnow rep_good nopl cpuid pni lahf_lm 3dnowprefetch vmmcall > bugs : fxsave_leak sysret_ss_attrs null_seg swapgs_fence spectre_v1 spectre_v2 I'm not seeing cmpxchg16b here ("cx16"), which could be a serious concern, as we've never been aware of any x86_64 CPU without it and have been enabling it by default on x86_64 (and it cannot be enabled nor disabled at run time as it allows to replace certain structures with other ones). Willy