FreeBSD/i386, stable/10, OpenSSL from ports, optimized assembly code, Dell PowerEdge 1950, Xeon X5450@3.00GHz, and BIOS 2.5.0

The strange combination of FreeBSD/i386, stable/10, OpenSSL from ports, optimized assembly code, Dell PowerEdge 1950, Intel Xeon X5450@3.00GHz, and BIOS 2.5.0, resulted in core dumps for all applications linked with OpenSSL from ports.

A debug session using any executable and the associated core dump gave a couple of clues:

(gdb) bt
#0  0x2817c205 in MD4_Update () from /usr/local/lib/libcrypto.so.8
#1  0x286168ab in OPENSSL_cpuid_setup () from /lib/libcrypto.so.7
#2  0x28510fbd in _init () from /lib/libcrypto.so.7
#3  0x00000000 in ?? ()

The short term solution is to disable optimized assembly code for security/openssl (option ASM), and recompile OpenSSL and everything depending on this port.

The long term solution might be to fix the assembly code or to upgrade the server firmware to the latest version, 2.7.0, and test to see if optimized assembly code no longer produces any core dumps. Version 2.7.0 contains a number of microcode updates for many Xeon models, including the X5400 series.