Summary
Error
Vertica.log:
2020-04-14 11:47:18.637 Main:7f54f8ab9280 [EE] <INFO> The UDx zygote process is down, restarting it...
2020-04-14 11:47:18.639 Main:7f54f8ab9280 [Main] <INFO> Handling signal: 11
2020-04-14 11:47:18.656 Main:7f54f8ab9280 [Main] <PANIC> Received fatal signal SIGSEGV.
2020-04-14 11:47:18.656 Main:7f54f8ab9280 [Main] <PANIC> Info: si_code: 128, si_pid: 0, si_uid: 0, si_addr: (nil)
Cause
Some Intel CPUs do not handle the Hardware Lock Elision correctly.
Fix
The Hardware Lock Elision (HLE) functionality needs to be disabled.
To disable this, add an absolute path of the directory where the noelision libraries are located in the library load path.
1) Edit /etc/ld.so.conf as in the following. Add the first line to the command:
/lib64/noelision
/usr/local/lib64
/usr/local/lib
include /etc/ld.so.conf.d/*.conf
2) Run ldconfig command.
3) Run ldconfig -p | grep noel command. You should get the following result that includes "noelision" in the target path.
libpthread.so.0 (libc6,x86-64, OS ABI: Linux 3.0.0) => /lib64/noelision/libpthread.so.0
4) Run ldd /opt/vertica/bin/vertica | grep libpthread command. You should get the following result that includes "noelision" in the target path again.
libpthread.so.0 => /lib64/noelision/libpthread.so.0 (0x00007fd4c0275000)
5) add to the noelision linux environment:
export LD_LIBRARY_PATH=/lib64/noelision/:$LD_LIBRARY_PATH
6) Create the database again.