Stacktrace
-----------------------------------------------------
<unknown> 0x0000000000000000
vk::WaylandSurfaceKHR::WaylandSurfaceKHR WaylandSurfaceKHR.cpp:51
vk::Create<…> VkObject.hpp:65
vk::ObjectBase::Create<…> VkObject.hpp:92
vkCreateWaylandSurfaceKHR libVulkan.cpp:4357
terminator_CreateWaylandSurfaceKHR 0x00007ffff7cd747d
AppCreateWaylandSurface vulkaninfo.h:1012
main vulkaninfo.cpp:1104
__libc_start_call_main 0x00007ffff784a510
__libc_start_main_impl 0x00007ffff784a5c9
_start 0x00000000004048a5
Variables
-----------------------------------------------------
Signal = SIGSEGV (Segmentation fault)
this = {vk::WaylandSurfaceKHR *} 0x5f8d88
vk::SurfaceKHR = {vk::SurfaceKHR}
vk::ObjectBase<vk::WaylandSurfaceKHR, VkNonDispatchableHandle<VkSurfaceKHR_T*> > = {vk::ObjectBase<vk::WaylandSurfaceKHR, VkNonDispatchableHandle<VkSurfaceKHR_T *>>}
display = {wl_display *} 0x58c480
surface = {wl_surface *} 0x58bc40
shm = {wl_shm *} NULL
imageMap = {std::unordered_map<vk::PresentImage *, vk::WaylandImage *, std::hash<vk::PresentImage *>, std::equal_to<vk::PresentImage *>, std::allocator<std::pair<vk::PresentImage *const, vk::WaylandImage *>>>}
pCreateInfo = {const VkWaylandSurfaceCreateInfoKHR *} 0x7fffffffd870
sType = {VkStructureType} VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR
pNext = {const void *} NULL
flags = {VkWaylandSurfaceCreateFlagsKHR} 0 [0x0]
display = {wl_display *} 0x58c480
surface = {wl_surface *} 0x58bc40
mem = {void *} NULL
The definition of wl_display_get_registry is in a header file generated by wayland scanner from a protocol (xml) file. So this isn't available as a symbol from libwayland.so. I'm suspecting it's available with wlroots...
So this code is the problem, as the function pointer is never resolved -> nullptr.