Cogwheels of doom - constant DX12 crashes (client-caused) - UNFIXED as of 0.4
|
Same Issue here, Freeze / COG WHEEL
Ryzen 7 9800XD3 RTX 5080 32 GB RAM Running DX12. And NVIDIA DLSS Zuletzt bearbeitet von Scarface335#4801 um 27.01.2026, 10:28:46
|
|
|
I tried again to look into asm and what happens.
And I saw this code: " the interesting part is : " 0AAAAAAAAAAAAAAABh -> is usually a magic value used by compilers to avoid using div instructions. Basically, multiplying by 0xAAAAAAAAAAAAAAAB and then shifting right (shr rdx, 2) is the mathematical equivalent of Dividing by 3. So that entire code is just a "Divide by 3" operation followed by getting the Reminder (the Modulo) -> 0,1 or 2 stored in r8. Probably last 3 frames? So my intuition tells me that this is a Circular buffer of size 3 and the modulo calculated gives the index to a write. Then the code should hit : " Basically if the circular buffer is full it compares the RCX register with 6. But it seems like both paths reach the " but with different values in [r9+0x48]. " So basically its something like : if RCX <= 6 and error code is not 0x887A0005 ( which is I think the code for DEVICE_REMOVED ) then al = 0 Otherwise -> al = 1. So far so good. Now we know the al values based on certain condition. But who calls this function ? Well, in windbg I've got this stack trace : " Parent: (frame 1) " Breaking it down it seems like : " So if al = 0 it calls another function: " And the loc_141013430 is : " Seems like the game is trying to crash/close/generate an exception if the second check returns an al == 0 Given the fact that the function has a "comment means that Windows begins Stack Unwinding when _CxxThrowException is called. And for me, this might lead to a deadlock since if a NVIDIA clean-up code is called, it should send a callback / message back but the main thread is busy "Unwinding" So basically my intuition is : The hang is happening because Path of Exile 2 is throwing a C++ Exception on the Main Thread when the GPU stutters. During the cleanup of that exception, the NVIDIA Streamline interposer deadlocks while waiting for a window message callback that the blocked Main Thread can't provide. The hang occurs in sub_141013380 when Present() fails. The subsequent call to _CxxThrowException triggers a synchronous stack unwind that deadlocks within the Streamline interposer's window-message handshake." I might be completely wrong, but its all I've got and I hope I give GGG some paths to investigate and maybe give them other ideas / scenarios that could get to the real root cause( Hoping they read this ). |
|
|
hey thank you all for looking into this deeper and brining more attention to GGG.
Hopefully your valuable info will be looked at and they can do something or look into getting it fixed for amd users. I have also noticed i hang up a lot when my merchant tab sells something or the currency exchange part when the message pops up. It may be related or just a ton of coincidences. I will have to do some logs this weekend and add em here and on my own thread. I had hoped 9950x/x3d would've been better but same issues happening, the underwhelming 9850x3d refresh and the 9950x/x3d refresh being dec release prolly. More thank likely have the same issue, unless ggg fixes it. I don't see a fix anytime soon from them and its unfortunate. So for now, even though i run other games amazingly, poe 2 being my primary game i play with family and friends. I hate to downgrade out of a 9800x3d, ill have to swap over to intel for now. I'm at frustrations end and since as far as i know the 14th gen and arrow lake cpus are not having this specific issue, ill just swap over for now. Its just a mobo and cpu for me, everything i have is interchangeable between the 2 otherwise. If ggg addresses and actually fixes it, then ill simply swap back. |
|


























