Segfault when attempting to run monado without libsurvive
I want to try to use the vive driver without libsurvive, but monado segfaults. I launch it with SETUP_VIVE_OVER_SURVIVE=true monado-service
. Here is a backtrace:
(gdb) bt
#0 0x00007f49e7886912 in () at /usr/lib/libvulkan_radeon.so
#1 0x00007f49e792bd8d in () at /usr/lib/libvulkan_radeon.so
#2 0x000055854fefb9c1 in vk_alloc_and_bind_image_memory
(vk=0x5585506955c8, image=0x558550c41110, max_size=18446744073709551615, pNext_for_allocate=0x0, caller_name=0x5585501e4120 <__func__.10> "vk_create_image_simple", out_mem=0x558550e441d0, out_size=0x0)
at /mnt/xtra/dev/monado/src/xrt/auxiliary/vk/vk_helpers.c:496
#3 0x000055854fefbbbf in vk_create_image_simple (vk=0x5585506955c8, extent=..., format=VK_FORMAT_B8G8R8A8_SRGB, usage=21, out_mem=0x558550e441d0, out_image=0x558550e441c8) at /mnt/xtra/dev/monado/src/xrt/auxiliary/vk/vk_helpers.c:545
#4 0x000055854fee016e in _init_frame_buffer (self=0x558550e441c0, format=VK_FORMAT_B8G8R8A8_SRGB, rp=0x558550d9d0b0, eye=0) at /mnt/xtra/dev/monado/src/xrt/compositor/main/comp_layer_renderer.c:410
#5 0x000055854fee064d in _init (self=0x558550e441c0, s=0x558550697318, vk=0x5585506955c8, extent=..., format=VK_FORMAT_B8G8R8A8_SRGB) at /mnt/xtra/dev/monado/src/xrt/compositor/main/comp_layer_renderer.c:502
#6 0x000055854fee083f in comp_layer_renderer_create (vk=0x5585506955c8, s=0x558550697318, extent=..., format=VK_FORMAT_B8G8R8A8_SRGB) at /mnt/xtra/dev/monado/src/xrt/compositor/main/comp_layer_renderer.c:541
#7 0x000055854fed9d9b in renderer_create_layer_renderer (r=0x558550e58510) at /mnt/xtra/dev/monado/src/xrt/compositor/main/comp_renderer.c:474
#8 0x000055854fed9f7a in renderer_ensure_images_and_renderings (r=0x558550e58510, force_recreate=false) at /mnt/xtra/dev/monado/src/xrt/compositor/main/comp_renderer.c:539
#9 0x000055854feda0aa in renderer_create (r=0x558550e58510, c=0x558550695480) at /mnt/xtra/dev/monado/src/xrt/compositor/main/comp_renderer.c:567
#10 0x000055854fedd1cd in comp_renderer_create (c=0x558550695480) at /mnt/xtra/dev/monado/src/xrt/compositor/main/comp_renderer.c:1589
#11 0x000055854fed7458 in compositor_init_renderer (c=0x558550695480) at /mnt/xtra/dev/monado/src/xrt/compositor/main/comp_compositor.c:1114
#12 0x000055854fed7939 in xrt_gfx_provider_create_system (xdev=0x55855067c7e0, out_xsysc=0x7ffcc4804300) at /mnt/xtra/dev/monado/src/xrt/compositor/main/comp_compositor.c:1181
#13 0x000055854fe7e1cb in t_instance_create_system (xinst=0x5585506642e0, out_xsysd=0x55855064f648, out_xsysc=0x55855064f650) at /mnt/xtra/dev/monado/src/xrt/targets/common/target_instance.c:82
#14 0x000055854fe75c06 in xrt_instance_create_system (xinst=0x5585506642e0, out_xsysd=0x55855064f648, out_xsysc=0x55855064f650) at /mnt/xtra/dev/monado/src/xrt/include/xrt/xrt_instance.h:137
#15 0x000055854fe77125 in init_all (s=0x55855064f630) at /mnt/xtra/dev/monado/src/xrt/ipc/server/ipc_server_process.c:474
#16 0x000055854fe77b9c in ipc_server_main (argc=1, argv=0x7ffcc48044e8) at /mnt/xtra/dev/monado/src/xrt/ipc/server/ipc_server_process.c:794
#17 0x000055854fe75b5e in main (argc=1, argv=0x7ffcc48044e8) at /mnt/xtra/dev/monado/src/xrt/targets/service/main.c:28
Monado runs with no issues if I just use libsurvive.