The sigbus_handler() in lib/eal/linux/eal_dev.c is using many direct library calls and DPDK API's that are not safe to be used in a signal handler. Unsafe routines include RTE_LOG() uses sprintf and syslog. etc.. It is also possible that failure_handle_lock could deadlock if called during a change of state by other thread. The safer way would be to use signalfd() and a monitoring thread. Handling signals in Linux and BSD is hard.