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
Starting with commit 8758bce a few applications started crashing on shutdown inside RtlAcquireSRWLockExclusive. Reverting this commit fixes the issue.
Here is a backtrace of the crash:
ntdll.dll!RtlAcquireSRWLockExclusive() Unknown
> [Inline Frame] d3d11.dll!dxvk::mutex::lock() Line 182 C++
[Inline Frame] d3d11.dll!std::lock_guard<dxvk::mutex>::{ctor}(dxvk::mutex &) Line 427 C++
[Inline Frame] d3d11.dll!dxvk::DxvkMemoryAllocator::free(const dxvk::DxvkMemory &) Line 443 C++
d3d11.dll!dxvk::DxvkMemory::free() Line 56 C++
d3d11.dll!dxvk::DxvkMemory::~DxvkMemory() Line 50 C++
d3d11.dll!dxvk::DxvkImage::`scalar deleting destructor'(unsigned int) C++
[Inline Frame] d3d11.dll!dxvk::D3D11Texture2D::{dtor}() Line 1175 C++
d3d11.dll!dxvk::D3D11Texture2D::`scalar deleting destructor'(unsigned int) C++
[Inline Frame] d3d11.dll!dxvk::ComObject<ID3D11Texture2D1>::ReleasePrivate() Line 67 C++
d3d11.dll!dxvk::D3D11Texture2D::Release() Line 1203 C++
Ashes_DX11.exe!...() Unknown
Software information
Reproduced on an internal Ashes of the Singularity frame capture. It also happens on other titles.
I can try reproducing it in a real application if the bug is not obvious.
The reason why we don't crash without that commit is most likely because we're straight-up leaking the D3D11 device.
What exactly is happening anyway? This sounds like the underlying DXVK device already got destroyed by the time the texture gets destroyed (which however should hold a strong reference to the D3D11 device), so this should be impossible, not sure what to make of this.
Either way, yes, COM reference counting is known to be extremely broken in DXVK, but it's also extremely hard to get right.
Starting with commit 8758bce a few applications started crashing on shutdown inside
RtlAcquireSRWLockExclusive
. Reverting this commit fixes the issue.Here is a backtrace of the crash:
Software information
Reproduced on an internal Ashes of the Singularity frame capture. It also happens on other titles.
I can try reproducing it in a real application if the bug is not obvious.
System information
Log files
The text was updated successfully, but these errors were encountered: