You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description Specifically on Linux platform.
Dynamic memory allocations by dxil are released when the dynamic library is released.
A quick look in the DXC source appears to show this happens in the destructor of a static object instance in DXC.
This causes issues when doing custom memory management (memory leaks reported).
Also, by the time those allocations are freed (app exit), the custom memory-manager no longer exists. Causing a segmentation fault.
On Windows platform this is not an issue because the lifetime of the static is bound to the DXC DLL whereas on Linux the dxil dynamic-library appears to be loaded in global space.
Steps to Reproduce On Linux:
Overload global new operator and count allocations
Initialize DXC
Use DXC API
Close and release DXC
Check allocation count (Count > 0)
Exit app
Actual Behavior
Not all allocations are freed after closing and releasing DXC.
Environment
DXC version 2025.02.20
Host Operating System Ubuntu, ArchLinux
The text was updated successfully, but these errors were encountered:
Description
Specifically on Linux platform.
Dynamic memory allocations by dxil are released when the dynamic library is released.
A quick look in the DXC source appears to show this happens in the destructor of a static object instance in DXC.
This causes issues when doing custom memory management (memory leaks reported).
Also, by the time those allocations are freed (app exit), the custom memory-manager no longer exists. Causing a segmentation fault.
On Windows platform this is not an issue because the lifetime of the static is bound to the DXC DLL whereas on Linux the dxil dynamic-library appears to be loaded in global space.
Steps to Reproduce
On Linux:
Actual Behavior
Not all allocations are freed after closing and releasing DXC.
Environment
The text was updated successfully, but these errors were encountered: