ConfettiFX/The-Forge

Unit tests crash on Linux with vulkan-icd-loader 1.3.285

sandroandrade opened this issue · 0 comments

Hi,

In spite of Linux no longer being a standalone target, I'm reporting this because it could potentially impact other Vulkan-based platforms. I'm building the unit tests on ArchLinux and they crash with the following stacktrace when using vulkan-icd-loader 1.3.285. Downgrading to 1.3.279 fixes the issue, not sure if that's a bug in The Forge's Vulkan.cpp or in vulkan-icd-loader itself.

#0  0x0000555555807258 in gVkFree (pUserData=0x5555562a03c4 <GetAllocationCallbacks(VkObjectType)::objectUserData+4>, pMemory=0x55555640ae70) at /home/sandroandrade/devel/The-Forge/Common_3/Graphics/Vulkan/Vulkan.cpp:638
#1  0x00007ffff57c1255 in loader_free (pAllocator=<optimized out>, pMemory=<optimized out>) at /usr/src/debug/vulkan-icd-loader/Vulkan-Loader-1.3.285/loader/allocation.c:77
#2  loader_instance_heap_free (inst=0x555556593a40, pMemory=<optimized out>) at /usr/src/debug/vulkan-icd-loader/Vulkan-Loader-1.3.285/loader/allocation.c:114
#3  loader_unload_scanned_icd (inst=<optimized out>, scanned_icd=<optimized out>) at /usr/src/debug/vulkan-icd-loader/Vulkan-Loader-1.3.285/loader/loader.c:1449
#4  unload_drivers_without_physical_devices (inst=<optimized out>) at /usr/src/debug/vulkan-icd-loader/Vulkan-Loader-1.3.285/loader/loader.c:6532
#5  vkEnumeratePhysicalDevices (instance=<optimized out>, pPhysicalDeviceCount=<optimized out>, pPhysicalDevices=<optimized out>) at /usr/src/debug/vulkan-icd-loader/Vulkan-Loader-1.3.285/loader/trampoline.c:912
#6  0x0000555555812c1e in vk_initRendererContext (appName=0x5555558e3146 "01_Transformations", pDesc=0x7fffffffd620, ppContext=0x55555640de48) at /home/sandroandrade/devel/The-Forge/Common_3/Graphics/Vulkan/Vulkan.cpp:4073
#7  0x000055555581371c in vk_initRenderer (appName=0x5555558e3146 "01_Transformations", pDesc=0x7fffffffd9c0, ppRenderer=0x5555559ef5c0 <pRenderer>) at /home/sandroandrade/devel/The-Forge/Common_3/Graphics/Vulkan/Vulkan.cpp:4232
#8  0x000055555582eb2f in initVulkanRenderer (appName=0x5555558e3146 "01_Transformations", pSettings=0x7fffffffd9c0, ppRenderer=0x5555559ef5c0 <pRenderer>)
    at /home/sandroandrade/devel/The-Forge/Common_3/Graphics/Vulkan/Vulkan.cpp:10037
#9  0x00005555557bc895 in initRendererAPI (appName=0x5555558e3146 "01_Transformations", pSettings=0x7fffffffd9c0, ppRenderer=0x5555559ef5c0 <pRenderer>, api=RENDERER_API_VULKAN)
    at /home/sandroandrade/devel/The-Forge/Common_3/Graphics/PickRenderingAPI.cpp:313
#10 0x00005555557bcdef in initRenderer (appName=0x5555558e3146 "01_Transformations", pSettings=0x7fffffffd9c0, ppRenderer=0x5555559ef5c0 <pRenderer>) at /home/sandroandrade/devel/The-Forge/Common_3/Graphics/PickRenderingAPI.cpp:534
#11 0x0000555555571dfd in Transformations::Init (this=0x5555559e8bc0 <main::app>) at /home/sandroandrade/devel/The-Forge/Examples_3/Unit_Tests/src/01_Transformations/01_Transformations.cpp:450
#12 0x0000555555662532 in LinuxMain (argc=1, argv=0x7fffffffe1d8, app=0x5555559e8bc0 <main::app>) at /home/sandroandrade/devel/The-Forge/Common_3/OS/Linux/LinuxBase.cpp:466
#13 0x000055555556f2f9 in main (argc=1, argv=0x7fffffffe1d8) at /home/sandroandrade/devel/The-Forge/Examples_3/Unit_Tests/src/01_Transformations/01_Transformations.cpp:1344