Kea can crash if configured with a library of wrong hook version
$ kea-dhcp6 -c /etc/kea-dhcp6.conf
2022-05-31 12:53:51.888 INFO [kea-dhcp6.dhcp6/675118.139644852165696] DHCP6_STARTING Kea DHCPv6 server version 2.1.7-git (development) starting
[...]
ERROR HOOKS_INCORRECT_VERSION hook library /opt/kea/lib/kea/hooks/libdhcp_cb_cmds.so is at version 20105, require version 20106
[1] 675118 segmentation fault (core dumped) kea-dhcp6 -c /etc/kea-dhcp6.conf
A message is being logged, but logger was likely destroyed as part of Kea shutting down.
#0 isc::log::Logger::isInfoEnabled (this=0x7ffff61ff1a0 <isc::hooks::hooks_logger>) at logger.cc:118
#1 0x00007ffff61d2490 in isc::hooks::LibraryManager::closeLibrary (this=0x7fffffffa940) at library_manager.cc:99
#2 0x00007ffff61d39fd in isc::hooks::LibraryManager::validateLibrary (name="/opt/kea/lib/kea/hooks/libdhcp_cb_cmds.so") at library_manager.cc:423
#3 0x00007ffff61d4794 in isc::hooks::LibraryManagerCollection::validateLibraries (libraries=std::vector of length 6, capacity 8 = {...}) at library_manager_collection.cc:144
#4 0x00007ffff61c26f0 in isc::hooks::HooksManager::validateLibraries (libraries=std::vector of length 6, capacity 8 = {...}) at hooks_manager.cc:259
#5 0x00007ffff61c4f38 in isc::hooks::HooksConfig::verifyLibraries (this=0x555555875548, position=...) at hooks_config.cc:39
#6 0x00005555556fcc31 in isc::dhcp::configureDhcp6Server (server=..., config_set=..., check_only=false) at json_config_parser.cc:617
#7 0x00005555556e89d1 in isc::dhcp::ControlledDhcpv6Srv::processConfig (config=...) at ctrl_dhcp6_srv.cc:872
#8 0x00005555556e4872 in isc::dhcp::ControlledDhcpv6Srv::commandConfigSetHandler (this=0x7fffffffc0f0, args=...) at ctrl_dhcp6_srv.cc:408
#9 0x00005555556e7e2c in isc::dhcp::ControlledDhcpv6Srv::processCommand (command="config-set", args=...) at ctrl_dhcp6_srv.cc:810
#10 0x00005555556e208b in isc::dhcp::ControlledDhcpv6Srv::loadConfigFile (this=0x7fffffffc0f0, file_name="/etc/kea-dhcp6.conf") at ctrl_dhcp6_srv.cc:129
#11 0x00005555556e28db in isc::dhcp::ControlledDhcpv6Srv::init (this=0x7fffffffc0f0, file_name="/etc/kea-dhcp6.conf") at ctrl_dhcp6_srv.cc:172
#12 0x0000555555676a32 in main (argc=3, argv=0x7fffffffc358) at main.cc:240
One could argue that impact is low or zero because Kea was shutting down anyway. I can't disagree.
Null checks in the log macros would cover all shutting down scenarios, not only loading of wrong hook version.