ci(amd64/clang/lsan): fix leak sanitizer errors #57

Merged
light7734 merged 35 commits from ci/leak_sanatizer_fix into main 2025-10-09 14:08:14 +00:00
Showing only changes of commit 13ed750f68 - Show all commits

View file

@ -231,10 +231,11 @@ void Instance::initialize_instance()
void Instance::load_library() void Instance::load_library()
{ {
library = dlopen("libvulkan.so.1", RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE); constexpr auto runtime_loader_flags = RTLD_NOW | RTLD_DEEPBIND | RTLD_LOCAL | RTLD_NODELETE;
library = dlopen("libvulkan.so.1", runtime_loader_flags);
if (!library) if (!library)
{ {
library = dlopen("libvulkan.so", RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE); library = dlopen("libvulkan.so", runtime_loader_flags);
} }
ensure(library, "Failed to dlopen vulkan library"); ensure(library, "Failed to dlopen vulkan library");
@ -256,8 +257,8 @@ void Instance::unload_library()
// eg. https://github.com/google/sanitizers/issues/89 // eg. https://github.com/google/sanitizers/issues/89
// with no noticable gains, so we just don't bother closing it. // with no noticable gains, so we just don't bother closing it.
dlclose(library); // dlclose(library);
library = nullptr; // library = nullptr;
} }
void Instance::load_global_functions() void Instance::load_global_functions()