POE 2 Complete PC Freeze while loading screen
" " Here we go again. Hey, at least we have Map stash tab #sarcasm |
|
|
Ok, so because I was angry and my pc still freezes I was investigating the bug a bit more and it seems to be a deadlock at first glance. I triggered the bug multiple times with multiple breakpoints.
This is the thread that calls RaiseException (the following stack strace is right before calling RaiseException): " so PathOfExileSteam+0xd78fd looks like this in assembly: " Now we know that an exception is generated but we need to find what causes this exception. Since sometimes the instance loading was working I was thinking about investigating some race condition. " So we have a critical section that is owned by thread with threadId 0x18f0. Those are all the threads: " And this is the stacktrace for the thread that owns that critical section: " RecursionCount 1 suggests that thread 33 (TID == 0x18f0) took the lock once and somehow when the crash occurs that thread is in ntdll!NtWaitForAlertByThreadId+0x14 Now about the LockCount member from the CRITICAL_SECTION struct. In this case LockCount == 0 " So in this case LockCount - (RecursionCount - 1) is 0, meaning that there is no other thread waiting to acquire the critical section but somehow that critical section is still locked :| . So it seems like some kind of deadlock. I hope this helps and this bug will be fixed.... I will try to investigate it further when I have some time |
|
" From what I've seen: First of all: All the first few frames are from PathOfExileSteam, meaning the crash originates within the game’s own code, not a system DLL (like ntdll.dll or KERNEL32.dll). The code here is also seems to be a recurring or a looping one unless they are all together within one single manager. This is a stack unwinder: "06 000000ea`a29f85a0 00007ff9`263a3886 ntdll!RcConsolidateFrames+0x6" It is used when Windows unwinds the stack after an exception. "jmp cs:RaiseException at 0x1400D7906" suggests this function deliberately triggers an exception. As in the code itself calls the exception. This is not a standard Windows exception such as 0xC0000005 for access violation or 0xC00000FD for stack overflow. It is probably their debug process. Now normally if I were to see something like this without having the context I would say this function is part of an error reporting system and its job is to ensure that when something unexpected happens, the game crashes in a controlled manner rather than behaving unpredictably. In our case however, for some reason it doesn't do that and instead behaves unpredictably. Like you have said this is probably due to a deadlock. Since Lock Count is 0 it means no thread has attempted to acquire the lock after thread 18f0 locked it and since Recursion Count is 1 this is the first and only lock acquisition by this thread. "ContentionCount 1820" means that 000001fc88061350 has been requested 1820 times by other threads. So the problem is here. Since WaiterWoken is No, no thread has been released from waiting on this lock. The thread 18f0 is holding it firmly. Further down the line you have used k to see that There is probably a wake signal that is commented out. Because the thread is not actively running but is waiting indefinitely inside SleepConditionVariableSRW() - this is by the way a standard system API used for thread synchronization, it makes a thread wait (sleep) until another thread signals a condition variable. It is implemented in KERNELBASE.dll and internally calls RtlSleepConditionVariableSRW() from ntdll.dll. So the only way I can think of that can lead this to happen is that the thread is waiting on a condition variable that never comes due to faulty programming. This is a thread synchronization issue: 1) The thread belongs to Direct3D 12's background task scheduler. 2) It is inside a task loop, but instead of executing work, it is waiting for a condition to be met. 3) This means it is expecting another thread to push work into the queue and notify it, and that may not be happening. This is not an immediate crash. The thread is stuck waiting for a condition variable that never gets signaled. The system freezes because other threads are likely waiting on this one, causing a cascading stall. Which is what we have been experiencing since 2 months. The game engine mishandles worker thread synchronization. If the GPU is waiting for CPU work and the CPU is waiting for a GPU response, the system enters a fatal deadlock. My guess is a commented out code. To debug this we need to find which other thread was supposed to call WakeConditionVariable(). If you have time could you please use send the full result when you run !stacks. We can then look for threads that are waiting on a lock or another condition variable and/or threads that might have been responsible for signaling Thread 33. Obligatory: If only GGG were honest we would not even have to have this conversation... We could simply look at GGGs explanation of the situation with proper technical information but we can never know why exactly this is happening as GGG keeps being dodgy and dishonest. By the way, Microsoft is still not acknowledging this is a Windows 11 24H2 issue as claimed by GGG. As long as GGG is not interested in open and honest communication our only other option is to increase the pressure and warn others by giving a negative review for Path of Exile 2 on Steam in a detailed and informative manner. I cannot send/reply to direct messages because my in-game character has not finished Act 1. What to do: 1)Write a short review about the hard crashes in notepad. 2)Copy and paste it to steam reviews, put up a negative review. 3)Copy and paste it to steam discussions, put it up there. Последняя редакция: Cainrith#2807. Время: 17 февр. 2025 г., 18:28:13
|
|
|
After countless hours and money spent on trying to figure out why my game was crashing I finally determined the root cause.
For those of you with an i9 14900k go to your bios settings and sync all pcore ratios to 55. This completely fixed the game for me and I'm even able to use directx12 with everything on high settings And the newest version of windows 24h2 I hope this helps someone Good luck out there exiles Последняя редакция: glitche#2433. Время: 18 февр. 2025 г., 23:57:27
|
|
|
Even after the new patch. still hard crashing. this sucks.
|
|
|
Reminder to use the "--ex-crash-report" to send crash report data to GGG whenever you crash.
(freeze or crash, both works) For Steam: Goto Library->Path of Exile 2 properties by right-clicking the icon->General->Launch Option-> Add --ex-crash-report to the box. ![]() For Standalone client: Right the desktop shortcut->Properties->In the target field add --ex-crash-report ![]() Последняя редакция: Climet#7103. Время: 18 февр. 2025 г., 06:37:18
|
|
" Something tells me the two of you would have solved this issue in 1 day if you where given permissions to the actual code. Would be so sad but hilarious if the actual issue is because someone commented out code somewhere in the engine that no-one dares to touch anymore. Or if it were their own doing even: like "This piece of code don't seem to do anything .. load-times will likely be a bit faster if we just remove it" We will likely never know, but lets hope that the info might help them solve the issue. Im actually rooting for them. I believe no fans of the genre actually wants to see GGG fail. This old crappy engine they are using is really staring to become a huge problem though. Последняя редакция: snurrfint#5780. Время: 18 февр. 2025 г., 09:03:25
|
|
|
Because I have some time I tried to investigate the hang some more. But then I saw that there was an update and I tried to generate the hang "burning" some low tier maps. Entering the map and then go back to hideout and after like 10+ maps I had 0 crashes :). Idk what happened and idk if my last analysis helped GGG but at first glance it seems to be fixed
// LE: Nvm. Just got a crash Последняя редакция: IceCool10#6669. Время: 18 февр. 2025 г., 13:21:56
|
|
|
can't play since I "upgraded" to windows 11...
online up to 5-10mins. hard crash, freeze... this is rubbish! fix it please. DxDiag has been sent. |
|
|
I gave up and uninstalled the game.
Good luck. |
|















