Skip to content

NFC: Add LSAN leak suppression to ASAN pipeline#7503

Merged
tex3d merged 1 commit into
microsoft:mainfrom
tex3d:lsan-suppression
Jun 4, 2025
Merged

NFC: Add LSAN leak suppression to ASAN pipeline#7503
tex3d merged 1 commit into
microsoft:mainfrom
tex3d:lsan-suppression

Conversation

@tex3d
Copy link
Copy Markdown
Contributor

@tex3d tex3d commented Jun 3, 2025

Address-sanitizer reports a leak coming from the dynamic shared library loading code, though dlopen() is paired with dlclose(). This leak doesn't manifest on main yet because dxc adds dxcompiler directly to target_link_libraries (which it shouldn't have to), and dxil is loaded within that library. A PR to remove dxil loading from dxcompiler exposes the leak when dxc loads dxil dynamically.

This change adds a suppressions file for LSAN to suppress the leak in the loader code that happens under call_init. This also changes the Linux_Clang_Release build to RelWithDebInfo so symbols are present.

address-sanitizer reports a leak coming from the dynamic shared library loading code, though dlopen() is paired with dlclose().
This leak doesn't manifest on main yet because dxc adds dxcompiler directly to target_link_libraries (which it shouldn't have to), and dxil is loaded within that library.
A PR to remove dxil loading from dxcompiler exposes the leak when dxc loads dxil dynamically.

This change adds a suppressions file for LSAN to suppress the leak in the loader code that happens under call_init.
To make this work, it must also change the Release build to RelWithDebInfo so symbols are present, which are required to resolve the function name we match in the suppressions file.
@tex3d tex3d merged commit 296d4ae into microsoft:main Jun 4, 2025
13 checks passed
@github-project-automation github-project-automation Bot moved this from New to Done in HLSL Roadmap Jun 4, 2025
@tex3d tex3d deleted the lsan-suppression branch June 4, 2025 02:56
damyanp pushed a commit that referenced this pull request Feb 10, 2026
Address-sanitizer reports a leak coming from the dynamic shared library
loading code, though dlopen() is paired with dlclose(). This leak
doesn't manifest on main yet because dxc adds dxcompiler directly to
target_link_libraries (which it shouldn't have to), and dxil is loaded
within that library. A PR to remove dxil loading from dxcompiler exposes
the leak when dxc loads dxil dynamically.

This change adds a suppressions file for LSAN to suppress the leak in
the loader code that happens under call_init. This also changes the
Linux_Clang_Release build to RelWithDebInfo so symbols are present.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants