Illegal instruction (SIGILL) in libaprutil-1.so.0
When running Apache with SSL enabled, httpd processes frequently crash with the following message:
[Mon Apr 01 13:21:49.170358 2019] [core:notice] [pid 1:tid 140156675435368] AH00051: child pid 332 exit signal Illegal instruction (4), possible coredump in /usr/local/apache2
No issues when the exact same image ran in the same configuration on a VM without AES-NI.
Coredump:
warning: .dynamic section for "/usr/lib/libssl.so.1.1" is not at the expected address (wrong library or version mismatch?)
Core was generated by `httpd -DFOREGROUND'.
Program terminated with signal SIGILL, Illegal instruction.
#0 0x00007f93c3da265b in apr_brigade_flatten () from /usr/lib/libaprutil-1.so.0
[Current thread is 1 (LWP 210)]
(gdb) bt
#0 0x00007f93c3da265b in apr_brigade_flatten () from /usr/lib/libaprutil-1.so.0
#1 0x00007f93c38ef8f3 in get_line () from /usr/local/apache2/modules/mod_http2.so
#2 0x00007f93c38f0690 in h2_from_h1_parse_response () from /usr/local/apache2/modules/mod_http2.so
#3 0x00007f93c391cffb in h2_filter_parse_h1 () from /usr/local/apache2/modules/mod_http2.so
#4 0x000055a3e961729c in ap_pass_brigade ()
#5 0x000055a3e96607bc in ap_process_request_after_handler ()
#6 0x000055a3e9661047 in ap_process_async_request ()
#7 0x000055a3e9661080 in ap_process_request ()
#8 0x00007f93c391e794 in h2_task_process_request () from /usr/local/apache2/modules/mod_http2.so
#9 0x00007f93c391f0ea in h2_task_process_conn () from /usr/local/apache2/modules/mod_http2.so
#10 0x000055a3e964ebef in ap_run_process_connection ()
#11 0x00007f93c391df63 in h2_task_do () from /usr/local/apache2/modules/mod_http2.so
#12 0x00007f93c39248eb in slot_run () from /usr/local/apache2/modules/mod_http2.so
#13 0x00007f93c3e714d8 in ?? () from /lib/ld-musl-x86_64.so.1
#14 0x0000000000000000 in ?? ()
CPU: Intel® Celeron® CPU J3455 @ 1.50GHz
CPU Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx
pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good
nopl xtopology tsc_reliable nonstop_tsc cpuid aperfmperf
tsc_known_freq pni pclmulqdq dtes64 ds_cpl vmx est tm2 ssse3 sdbg
cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer
aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault cat_l2 ibrs ibpb
stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust smep
erms mpx rdt_a rdseed smap clflushopt intel_pt sha_ni xsaveopt xsavec
xgetbv1 xsaves dtherm ida arat pln pts arch_capabilities
I first opened this issue against Alpine Docker image, please see it here for more details: https://github.com/docker-library/httpd/issues/128
(from redmine: issue id 10199, created on 2019-04-04)