Question PC crashes to a black screen then reboots, typically when I play League of Legends and CS2 ?

Nov 10, 2023
22
3
15
I have had this pesky issue of my PC crashing when playing some games. This typically occurs when I play League of legends or CS2. I originally bought a Prebuild from MSI, since then I have replaced the Case, The PSU with a 1000W Corsair, reinstalled Windows three times on clean boot. Bought extra fans for cooling. I ran driver verifier and Memtest 86 and passed both. I am running all my PC settings at base level and have turned off A-XMP profile and CPU OC.

The error is always IRQL_NOT_LESS_OR_EQUAL with an address stack of ntoskrnl.exe+2f8c39

At this point I'm not sure what to do except replace my MB and CPU combo.

PC Specs:

CPU: AMD Ryzen 9 5950X 16-Core Processor 3.40 GHz
CPU cooler: iBUYPOWER 360mm Addressable RGB Liquid Cooling System - Black
Motherboard: MSI MPG X570S CARBON MAX WIFI (MS-7D52)
GPU: MSI RTX 3080 Ti Ventus 3x OC
RAM: Corsair DDR4 3200 32.0 GB
Microsoft Windows 10 Professional
PSU: Corsair HX1000iw
Chasis: Lian Li O11 Dynamic EVO

Dump files:

 
Hello and welcome to the forum!

Sadly I don't have a concrete answer for you. Dump analysis isn't as cut-and-dried as some people imagine, it's often a process of looking at what's happened and using one's knowledge and experience to make a best judgement. This is one of those cases.

Both dumps are a 0xA (IRQL_NOT_LESS_OR_EQUAL) bugchecks, that indicates that a memory reference was invalid (page not allocated, paged-out, or bad RAM) whilst running at an elevated IRQL (when page faults are not permitted). This bugcheck is common in many third-party drivers, they foul up their memory pointers, or even their memory allocations, and end up referencing memory that is invalid whilst running at an elevated IRQL.

Windows modules do not make these kinds of error. Windows modules can be considered error free.

In both of your dumps there are no third-party drivers referenced on the call stack (the function calls leading up to the bug check), but that doesn't mean that this isn't a third party driver issue. I note that both dumps fail in eaxctly the same way...
Code:
TRAP_FRAME:  fffff1896c5677b0 -- (.trap 0xfffff1896c5677b0)
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=ffffde0f92267e60 rbx=0000000000000000 rcx=0000000000000003
rdx=ffffde0f91c43340 rsi=0000000000000000 rdi=0000000000000000
rip=fffff8025a8f8c39 rsp=fffff1896c567940 rbp=fffff1896c567999
 r8=0000000000000000  r9=0000000000000002 r10=0000fffff8025ac3
r11=ffff887955000000 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei pl zr na po nc
nt!KiDeliverApc+0x2a9:
fffff802`5a8f8c39 48395108        cmp     qword ptr [rcx+8],rdx ds:00000000`0000000b=????????????????
Resetting default scope
At the bottom there you can see the Windows function nt!KiDeliverApc, which is delivering an asynchronous procedure call (APC), this is a way of calling procedures in real-time. The instruction that failed is a CMP instruction using the RCX pointer to reference one value to be compared (the RDX register references the other). You can see that the RCX register contains the value (0x3) and when added to the 0x8 in the CMP instruction a reference to the memory location 0x00000000 0000000B is made - and that location is invalid (note the ????????????????).

Clearly some other bit of code (or some other function) set the RCX register value incorrectly.

I note also that both dumps failed with League of Legends.exe in control and I note that you have the FACEIT_AC.sys driver installed, this is a component of the FaceIt anti-cheat feature...
Code:
17: kd> lmDvmFACEIT_AC
Browse full module list
start             end                 module name
fffff802`77cf0000 fffff802`7c008000   FACEIT_AC   (deferred)         
    Image path: \??\C:\Program Files\FACEIT AC\FACEIT_AC.sys
    Image name: FACEIT_AC.sys
    Browse all global symbols  functions  data
    Timestamp:        Wed Nov  8 12:05:06 2023 (654B5D52)
    CheckSum:         043208AF
    ImageSize:        04318000
    Translations:     0000.04b0 0000.04e4 0409.04b0 0409.04e4
    Information from resource tables:
The very recent date of this driver makes me wonder whether it's the installation of this driver that is causing your BSODS? In the absence of any other information I would query the FaceIt anti-cheat product. Can you do without that? Or roll-back to whatever version you were running?

You mentioned Driver Verifier and that it 'passed' your system. That's not at all what Driver Verfier does. It's designed to subject selected drivers to additional tests and checks to see whether they are behaving properly, the objective being to trap flaky drivers. Driver Verifier needs to be run correctly to be of any use, so if you're happy to run with Driver Verifier enabled that would be an excellent way of finding what driver is causing these BSODs. Here's how to enable Driver Verifier properly...

1. Take a System Restore point and/or take a disk image of your system drive (with Acronis, Macrium Reflect, or similar). It is possible that Driver Verifier may BSOD a driver during the boot process (some drivers are loaded during boot). If that happens you'll be stuck in a boot-BSOD loop.

If you should end up in a boot-BSOD loop, boot the Windows installation media and use that to run system restore and restore to the restore point you took, to remove Driver Verifier and get you booting again. Alternatively you can use the Acronis, Macrium Reflect, or similar, boot media to restore the disk image you took.

Please don't skip this step. it's the only way out of a Driver Verifier boot-BSOD loop.

2. Start the Driver Verifier setup dialog by entering the command verifier in either the Run command box or in a command prompt.

3. On that initial dialog, click the radio button for 'Create custom settings (for code developers)' - the second option - and click the Next button.

4. On the second dialog check (click) the checkboxes for the following tests...
  • Special Pool
  • Force IRQL checking
  • Pool Tracking
  • Deadlock Detection
  • Security Checks
  • Miscellaneous Checks
  • Power framework delay fuzzing
  • DDI compliance checking
Then click the Next button.

5. On the next dialog click the radio button for 'Select driver names from a list' - the last option - and click the Next button.

6. On the next dialog click on the 'Provider' heading, this will sort the drivers on this column (it makes it easier to isolate Microsoft drivers).

7. Now check (click) ALL drivers that DO NOT have Microsoft as the provider (ie. check all third-party drivers).

8. Then, on the same dialog, check the following Microsoft drivers (and ONLY these Microsoft drivers)...
  • Wdf01000.sys
  • ndis.sys
  • fltMgr.sys
  • Storport.sys
These are high-level Microsoft drivers that manage lower-level third-party drivers that we otherwise wouldn't be able to trap. That's why they're included.

9. Now click Finish and then reboot. Driver Verifiier will be enabled.

Be aware that Driver Verifier will remain enabled across all reboots and shutdowns. It can only be disabled manually.

Also be aware that we expect BSODs. Indeed, we want BSODs, to be able to identify the flaky driver(s). You MUST keep all minidumps created whilst Driver Verifier is running, so disable any disk cleanup tools you may have.

10. Leave Driver Verifier running for 48 hours, use your PC as normal during this time, but do try and make it BSOD. Use every game or app and device that you normally use, and especially those where you have seen it BSOD in the past. If Windows doesn't automatically reboot after each BSOD then just reboot as normal and continue testing.

Note: Because Driver Verifier is doing extra work each time a third-party driver is loaded you will notice some performance degradation with Driver Verifier enabled. This is a price you'll have to pay in order to locate any flaky drivers. And remember, Driver Verifier can only test drivers that are loaded, so you need to ensure that every third-party driver gets loaded by using all apps, features and devices.

11. To turn Driver Verifier off enter the command verifier /reset in either Run command box or a command prompt and reboot.

Should you wish to check whether Driver Verfier is enabled or not, open a command prompt and enter the command verifier /query. If drivers are listed then it's enabled, if no drivers are listed then it's not.

12. When Driver Verifier has been disabled, navigate to the folder C:\Windows\Minidump and locate all .dmp files in there that are related to the period when Driver Verifier was running (check the timestamps). Zip these files up if you like, or not as you choose. Upload the file(s) to the cloud with a link to it/them here (be sure to make it public).
 
Hello and welcome to the forum!

Sadly I don't have a concrete answer for you. Dump analysis isn't as cut-and-dried as some people imagine, it's often a process of looking at what's happened and using one's knowledge and experience to make a best judgement. This is one of those cases.

Both dumps are a 0xA (IRQL_NOT_LESS_OR_EQUAL) bugchecks, that indicates that a memory reference was invalid (page not allocated, paged-out, or bad RAM) whilst running at an elevated IRQL (when page faults are not permitted). This bugcheck is common in many third-party drivers, they foul up their memory pointers, or even their memory allocations, and end up referencing memory that is invalid whilst running at an elevated IRQL.

Windows modules do not make these kinds of error. Windows modules can be considered error free.

In both of your dumps there are no third-party drivers referenced on the call stack (the function calls leading up to the bug check), but that doesn't mean that this isn't a third party driver issue. I note that both dumps fail in eaxctly the same way...
Code:
TRAP_FRAME:  fffff1896c5677b0 -- (.trap 0xfffff1896c5677b0)
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=ffffde0f92267e60 rbx=0000000000000000 rcx=0000000000000003
rdx=ffffde0f91c43340 rsi=0000000000000000 rdi=0000000000000000
rip=fffff8025a8f8c39 rsp=fffff1896c567940 rbp=fffff1896c567999
 r8=0000000000000000  r9=0000000000000002 r10=0000fffff8025ac3
r11=ffff887955000000 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei pl zr na po nc
nt!KiDeliverApc+0x2a9:
fffff802`5a8f8c39 48395108        cmp     qword ptr [rcx+8],rdx ds:00000000`0000000b=????????????????
Resetting default scope
At the bottom there you can see the Windows function nt!KiDeliverApc, which is delivering an asynchronous procedure call (APC), this is a way of calling procedures in real-time. The instruction that failed is a CMP instruction using the RCX pointer to reference one value to be compared (the RDX register references the other). You can see that the RCX register contains the value (0x3) and when added to the 0x8 in the CMP instruction a reference to the memory location 0x00000000 0000000B is made - and that location is invalid (note the ????????????????).

Clearly some other bit of code (or some other function) set the RCX register value incorrectly.

I note also that both dumps failed with League of Legends.exe in control and I note that you have the FACEIT_AC.sys driver installed, this is a component of the FaceIt anti-cheat feature...
Code:
17: kd> lmDvmFACEIT_AC
Browse full module list
start             end                 module name
fffff802`77cf0000 fffff802`7c008000   FACEIT_AC   (deferred)        
    Image path: \??\C:\Program Files\FACEIT AC\FACEIT_AC.sys
    Image name: FACEIT_AC.sys
    Browse all global symbols  functions  data
    Timestamp:        Wed Nov  8 12:05:06 2023 (654B5D52)
    CheckSum:         043208AF
    ImageSize:        04318000
    Translations:     0000.04b0 0000.04e4 0409.04b0 0409.04e4
    Information from resource tables:
The very recent date of this driver makes me wonder whether it's the installation of this driver that is causing your BSODS? In the absence of any other information I would query the FaceIt anti-cheat product. Can you do without that? Or roll-back to whatever version you were running?

You mentioned Driver Verifier and that it 'passed' your system. That's not at all what Driver Verfier does. It's designed to subject selected drivers to additional tests and checks to see whether they are behaving properly, the objective being to trap flaky drivers. Driver Verifier needs to be run correctly to be of any use, so if you're happy to run with Driver Verifier enabled that would be an excellent way of finding what driver is causing these BSODs. Here's how to enable Driver Verifier properly...

1. Take a System Restore point and/or take a disk image of your system drive (with Acronis, Macrium Reflect, or similar). It is possible that Driver Verifier may BSOD a driver during the boot process (some drivers are loaded during boot). If that happens you'll be stuck in a boot-BSOD loop.

If you should end up in a boot-BSOD loop, boot the Windows installation media and use that to run system restore and restore to the restore point you took, to remove Driver Verifier and get you booting again. Alternatively you can use the Acronis, Macrium Reflect, or similar, boot media to restore the disk image you took.

Please don't skip this step. it's the only way out of a Driver Verifier boot-BSOD loop.

2. Start the Driver Verifier setup dialog by entering the command verifier in either the Run command box or in a command prompt.

3. On that initial dialog, click the radio button for 'Create custom settings (for code developers)' - the second option - and click the Next button.

4. On the second dialog check (click) the checkboxes for the following tests...
  • Special Pool
  • Force IRQL checking
  • Pool Tracking
  • Deadlock Detection
  • Security Checks
  • Miscellaneous Checks
  • Power framework delay fuzzing
  • DDI compliance checking
Then click the Next button.

5. On the next dialog click the radio button for 'Select driver names from a list' - the last option - and click the Next button.

6. On the next dialog click on the 'Provider' heading, this will sort the drivers on this column (it makes it easier to isolate Microsoft drivers).

7. Now check (click) ALL drivers that DO NOT have Microsoft as the provider (ie. check all third-party drivers).

8. Then, on the same dialog, check the following Microsoft drivers (and ONLY these Microsoft drivers)...
  • Wdf01000.sys
  • ndis.sys
  • fltMgr.sys
  • Storport.sys
These are high-level Microsoft drivers that manage lower-level third-party drivers that we otherwise wouldn't be able to trap. That's why they're included.

9. Now click Finish and then reboot. Driver Verifiier will be enabled.

Be aware that Driver Verifier will remain enabled across all reboots and shutdowns. It can only be disabled manually.

Also be aware that we expect BSODs. Indeed, we want BSODs, to be able to identify the flaky driver(s). You MUST keep all minidumps created whilst Driver Verifier is running, so disable any disk cleanup tools you may have.

10. Leave Driver Verifier running for 48 hours, use your PC as normal during this time, but do try and make it BSOD. Use every game or app and device that you normally use, and especially those where you have seen it BSOD in the past. If Windows doesn't automatically reboot after each BSOD then just reboot as normal and continue testing.

Note: Because Driver Verifier is doing extra work each time a third-party driver is loaded you will notice some performance degradation with Driver Verifier enabled. This is a price you'll have to pay in order to locate any flaky drivers. And remember, Driver Verifier can only test drivers that are loaded, so you need to ensure that every third-party driver gets loaded by using all apps, features and devices.

11. To turn Driver Verifier off enter the command verifier /reset in either Run command box or a command prompt and reboot.

Should you wish to check whether Driver Verfier is enabled or not, open a command prompt and enter the command verifier /query. If drivers are listed then it's enabled, if no drivers are listed then it's not.

12. When Driver Verifier has been disabled, navigate to the folder C:\Windows\Minidump and locate all .dmp files in there that are related to the period when Driver Verifier was running (check the timestamps). Zip these files up if you like, or not as you choose. Upload the file(s) to the cloud with a link to it/them here (be sure to make it public).
Thank you for the quick reply! I just grabbed Faceit about 3 days ago so I know it isn't that piece of software. I will definitely try this method and post back here with the DMP files.
 
Update: I played league today testing it out and didn't encounter any crashes while playing. I did notice the performance decrease however when playing.

I did disable the drive verifier for a game and had an application crash (not a full windows crash so no minidump was generated) in the first 3 minutes of the game. The 8 hours prior I had no issues with the verifier running, other than performance loss in game.
 
Last edited:
8 hours of Driver Verifier isn't long enough. I asked for 48 hours for a reason. Driver Verifier can only check drivers that are loaded, so you must run it long enough to have loaded every third-party driver, so run every app and use every device.
 
8 hours of Driver Verifier isn't long enough. I asked for 48 hours for a reason. Driver Verifier can only check drivers that are loaded, so you must run it long enough to have loaded every third-party driver, so run every app and use every device.
For clarity I had every program open to mimic the same setting as when I crash. I even was running the FaceIT application. I realize it wasn't 48 hours just wanted to post that it crashed as soon as I turned off verifier and ran fine when it was on (at least for the 8 hours).

I did turn verifier back on and boot up FaceIT Anticheat and league at the same time which did cause an instantaneous crash twice. I will say I was having these crashes before installing and running the FaceIT Anticheat. I only downloaded and ran the FaceIT anti cheat about 3 days ago 11/08/2023, since posting this I have uninstalled the FaceIT application to remove it from the equation. This issue with league crashing has been an ongoing issue since I purchased my PC back in 2022.

Posting some dump files below:


 
Last edited:
8 hours of Driver Verifier isn't long enough. I asked for 48 hours for a reason. Driver Verifier can only check drivers that are loaded, so you must run it long enough to have loaded every third-party driver, so run every app and use every device.
Am I able to cycle the verifier off when I actually want to play a different game besides League? Or do I need to keep it running constantly for 48 hours straight.
 
If you want Driver Verifier to stand the best chance of finding a flaky driver you MUST keep it running.

FWIW both of the dumps you just uploaded Driver Verifier detected BSODs caused by FACEIT_AC.sys illegally referencing a user handle. This version of FaceIt needs to be uninstalled. Permanently.
 
If you want Driver Verifier to stand the best chance of finding a flaky driver you MUST keep it running.

FWIW both of the dumps you just uploaded Driver Verifier detected BSODs caused by FACEIT_AC.sys illegally referencing a user handle. This version of FaceIt needs to be uninstalled. Permanently.
I uninstalled it after I posted those dump files. For my own knowledge what does it mean they were referencing a user handle.

I do want to add that while verifier runs my league of legends is completely stable and hasn't crashed a single time. When I cycled it off that one time the game did crash immediately every game after, sometimes multiples times. Not sure if this even helps but wanted to add this just in case. The game also goes into a "suspended" state in task manager.
 
Last edited:
I uninstalled it after I posted those dump files. For my own knowledge what does it mean they were referencing a user handle.
In kernel mode, drivers should only reference kernel-mode structures. By attempting to reference a user-mode handle (a link to a file) the driver caused the BSOD. It's likely just bad driver coding.
I do want to add that while verifier runs my league of legends is completely stable and hasn't crashed a single time. When I cycled it off that one time the game did crash immediately every game after, sometimes multiples times. Not sure if this even helps but wanted to add this just in case. The game also goes into a "suspended" state in task manager.
I've seen that before (working with Driver Verfier enabled but BSODing with it off). I suspect that this probably indicates a hardware issue, the extra delay in the driver caused by Driver Verifier is enough to allow the device to respond properly. But that's just a (plausible) theory.

It's probably worth popping the graphics card out and then re-seating it fully. Also check that any additional power leads are properly seated - at both ends. While you're in there, pop all other PCIe cards out and re-seat them fully.

The 'suspended' state is seen with UWP apps (mostly Microsoft Store apps, but with any Universal Windows Platform app). It only means that the app is not currently responding (it may be waiting for a hardware device to respond, for example) so Windows swaps all it's working set pages out to the swap file (swapfil.sys) to prevent its pages being stolen by normal memory management. Wen the app comes ready again (when the wait has ended) the entire working set is swapped back in with minimal performance delay.
 
In kernel mode, drivers should only reference kernel-mode structures. By attempting to reference a user-mode handle (a link to a file) the driver caused the BSOD. It's likely just bad driver coding.

I've seen that before (working with Driver Verfier enabled but BSODing with it off). I suspect that this probably indicates a hardware issue, the extra delay in the driver caused by Driver Verifier is enough to allow the device to respond properly. But that's just a (plausible) theory.

It's probably worth popping the graphics card out and then re-seating it fully. Also check that any additional power leads are properly seated - at both ends. While you're in there, pop all other PCIe cards out and re-seat them fully.

The 'suspended' state is seen with UWP apps (mostly Microsoft Store apps, but with any Universal Windows Platform app). It only means that the app is not currently responding (it may be waiting for a hardware device to respond, for example) so Windows swaps all it's working set pages out to the swap file (swapfil.sys) to prevent its pages being stolen by normal memory management. Wen the app comes ready again (when the wait has ended) the entire working set is swapped back in with minimal performance delay.
I recently went into my system and popped out all the connectors to the PSU and everything attached, thinking it was a possible loose connection or bad cable. Unfortunately the issue still persists. I am still running the verifier so will keep you posted.

I have a spare GPU I will pop in once the 48 hour test period is up to see if the issue is still present. If the issue is solved I think I will have my culprit as much as it sucks to have a dud GPU.
 
Just got a crash when playing the TeamFightTactics PBE, same kind of lock up and crash to restart. Not playing on the league client though but hope this helps.

Dump:
 
It's interesting that you say...
Not playing on the league client though but hope this helps.
...because the process in control when the bugcheck occurred was - LeagueClient.exe...
Code:
CUSTOMER_CRASH_COUNT:  1

PROCESS_NAME:  LeagueClient.exe

TRAP_FRAME:  fffffc03190677a0 -- (.trap 0xfffffc03190677a0)
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=0000000000000100 rbx=0000000000000000 rcx=ffff850aad814e50
rdx=ffff850aa6bb2a20 rsi=0000000000000000 rdi=0000000000000000
rip=fffff8024f42fb88 rsp=fffffc0319067930 rbp=fffff80200000000
 r8=ffff850aa6bb2a20  r9=fffffc0319067ac0 r10=ffff850a619b6c00
r11=ffff850a94215de0 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei pl zr na po nc
nt!KeWaitForSingleObject+0x258:
fffff802`4f42fb88 448865a0        mov     byte ptr [rbp-60h],r12b ss:0018:fffff801`ffffffa0=??
Resetting default scope
You can see the page fault in the trap frame there (note the ?? for the memory reference). If the requested memory was supposed to be allocated in non-pageable memory that will generate this 0x50 BSOD.

The fact that LeagueClient.exe was the process in control doesn't necessarily mean that it's the process at fault, but it is clearly active. It might be wise to ensure that the League Client is not running (disable it if you can) and see whether you still get these BSODs.

I think you can safely disable Driver Verifier now, it clearly isn't failing any third-party drivers and that recent dump was not Driver Verifier generated. In addition, there were no third-party drivers on that recent dump's call stack. I rather think this may be a hardware issue.

Trying a different GPU is an excellent idea, be sure to use DDU before you install it to remove the driver for the current card.
 
It's interesting that you say...

...because the process in control when the bugcheck occurred was - LeagueClient.exe...
Code:
CUSTOMER_CRASH_COUNT:  1

PROCESS_NAME:  LeagueClient.exe

TRAP_FRAME:  fffffc03190677a0 -- (.trap 0xfffffc03190677a0)
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=0000000000000100 rbx=0000000000000000 rcx=ffff850aad814e50
rdx=ffff850aa6bb2a20 rsi=0000000000000000 rdi=0000000000000000
rip=fffff8024f42fb88 rsp=fffffc0319067930 rbp=fffff80200000000
 r8=ffff850aa6bb2a20  r9=fffffc0319067ac0 r10=ffff850a619b6c00
r11=ffff850a94215de0 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei pl zr na po nc
nt!KeWaitForSingleObject+0x258:
fffff802`4f42fb88 448865a0        mov     byte ptr [rbp-60h],r12b ss:0018:fffff801`ffffffa0=??
Resetting default scope
You can see the page fault in the trap frame there (note the ?? for the memory reference). If the requested memory was supposed to be allocated in non-pageable memory that will generate this 0x50 BSOD.

The fact that LeagueClient.exe was the process in control doesn't necessarily mean that it's the process at fault, but it is clearly active. It might be wise to ensure that the League Client is not running (disable it if you can) and see whether you still get these BSODs.

I think you can safely disable Driver Verifier now, it clearly isn't failing any third-party drivers and that recent dump was not Driver Verifier generated. In addition, there were no third-party drivers on that recent dump's call stack. I rather think this may be a hardware issue.

Trying a different GPU is an excellent idea, be sure to use DDU before you install it to remove the driver for the current card.
Going through with the DDU process and turned off verifier. Going to bite the bullet here and send my GPU in for RMA since it is still covered by warranty. I'll post in here again when I get a chance to test a league game on the test GPU with no verifier running.
 
  • Like
Reactions: ubuysa
Going through with the DDU process and turned off verifier. Going to bite the bullet here and send my GPU in for RMA since it is still covered by warranty. I'll post in here again when I get a chance to test a league game on the test GPU with no verifier running.
Update:

I played several league of legends games today and only had one crash, it was a application crash though and not a BSOD IRQL_NOT_LESS_OR_EQUAL. I am currently running on the old GPU and using older RAM I know works. Could it possibly just me a MOBO issue?
 
Give it a good long test on the older GPU and RAM. Is that older RAM (and the new RAM) on the QVL for the motherboard?
Funny you mention QVL, the current RAM which is the older set (Corsair CMW32GX4M2C3200C16) isn't on the QVL. It is however on the PcPartPicker site for compatibility. The old RAM (A-Data AX4U360016G18I-ST60) is also not on the QVL. I did gleam some info last night from the crash, it showed that Windows.Gaming.GameBar.PresenceServer.Internal.PresenceWriter was hung and caused the crash. I went into my PC and found that the "Game Mode" was toggled on for my PC. I turned that off just in case. Listed below is the event viewer crash for league.

The program League of Legends.exe version 13.22.541.9804 stopped interacting with Windows and was closed. To see if more information about the problem is available, check the problem history in the Security and Maintenance control panel.
Process ID: 5efc
Start Time: 01da16be36cdc004
Termination Time: 6
Application Path: C:\Riot Games\League of Legends\Game\League of Legends.exe
Report Id: 2a97e7f3-9cde-43d6-b8d7-7ad32cac8abd
Faulting package full name:
Faulting package-relative application ID:
Hang type: Unknown
 
Not being on the QVL doesn't mean that the RAM won't work it just means it's not been tested and verified as working. When we see problems that may be RAM related finding that the RAM used is not on the QVL always raises a flag.

As far as that hang above is concerned, I would put that down to the game.
 
Not being on the QVL doesn't mean that the RAM won't work it just means it's not been tested and verified as working. When we see problems that may be RAM related finding that the RAM used is not on the QVL always raises a flag.

As far as that hang above is concerned, I would put that down to the game.
If possible would you be able to assist me in getting the correct DDR4 RAM for my PC? I found the QVL list but would appreciate a second pair of eyes on what I'm looking at. I'm looking for any RAM with speeds upward of 3200MHz and a reliable vendor. For context I use my PC for gaming.

The site I found was https://www.msi.com/Motherboard/MPG-X570S-CARBON-MAX-WIFI/support#mem

Motherboard: MSI MPG X570S CARBON MAX WIFI (MS-7D52)
Current RAM: CORSAIR CMW32GX4M2C3200C16
Prebuilt RAM: ADATA AX4U360016G18I-ST60
 
You can do that yourself. On that webpage you linked above, click the 'SPD Speed (MHz)' heading to sort the list in descending order on that column. Then scroll through the manufacturers to pick 3200MHx plus RAM in 16GB modules and select one that suits. I would be happy with any of the Kingston or Corsair offerings.

Note: The SPD Speed is the 'serial presence detect' speed, it's the speed at which the RAM operates out of the box. The Supported Speed column is the maximum speed that the RAM is certified to support when you overclock it (with XMP or similar).
 
You can do that yourself. On that webpage you linked above, click the 'SPD Speed (MHz)' heading to sort the list in descending order on that column. Then scroll through the manufacturers to pick 3200MHx plus RAM in 16GB modules and select one that suits. I would be happy with any of the Kingston or Corsair offerings.

Note: The SPD Speed is the 'serial presence detect' speed, it's the speed at which the RAM operates out of the box. The Supported Speed column is the maximum speed that the RAM is certified to support when you overclock it (with XMP or similar).
Hey quick update, I did get a unexpected restart today. This was during low workload, I had no games open only Discord and spotify. Could this possibly be caused by RAM that isn't on my MB QVL list? The second list points to something called HarddiskVolume2. Could this possibly be one of my SSDs?


 
It's not really possible to make any determination based on those two images. Upload the logs themselves if you like and I'll take a look....
  1. Enter the command eventvwr into the Run command box. The Event Viewer will open.
  2. Locate the Windows Logs folder in the left hand pane and expand it by clicking on the arrow (>) to the left of it.
  3. Right-click on the Application entry and select 'Save all events as...'. Choose a folder anywhere that suits you and a filename of 'Application' (an .evtx suffix will be added automatically).
  4. Right-click on the System entry and select 'Save all events as...'. Choose a folder anywhere that suits you and a filename of 'System' (an .evtx suffix will be added automatically).
  5. Upload the Application.evtx and System.evtx files to the cloud with a link to them here.
 
It's not really possible to make any determination based on those two images. Upload the logs themselves if you like and I'll take a look....
  1. Enter the command eventvwr into the Run command box. The Event Viewer will open.
  2. Locate the Windows Logs folder in the left hand pane and expand it by clicking on the arrow (>) to the left of it.
  3. Right-click on the Application entry and select 'Save all events as...'. Choose a folder anywhere that suits you and a filename of 'Application' (an .evtx suffix will be added automatically).
  4. Right-click on the System entry and select 'Save all events as...'. Choose a folder anywhere that suits you and a filename of 'System' (an .evtx suffix will be added automatically).
  5. Upload the Application.evtx and System.evtx files to the cloud with a link to them here.
I just did a clean install without that nvme installed. It was with the build since the beginning so I just scrapped it. Sadly I can’t upload the logs anymore but if it happens again I will let you know!
 
  • Like
Reactions: ubuysa
Just had a IRQL_NOT_LESS_OR_EQUAL crash while playing CS2. Here is the crash report, not sure what is causing this issue at this point.

 
You don't fancy uploading the logs then?

That dump is identical to the earlier one, except that CS2.exe was the process in control. I think now, in addition to uploading the logs, you need to enable Driver Verifier...

Driver Verifier subjects selected drivers (typically all third-party drivers) to extra tests and checks every time they are called. These extra checks are designed to uncover drivers that are misbehaving. If any selected driver fails any of the Driver Verifier tests/checks then Driver Verifier will BSOD. The resulting minidump should contain enough information for us to identify the flaky driver. It's thus essential to keep all minidumps created whilst Driver Verifier is enabled.

To enable Driver Verifier do the following:

1. Take a System Restore point and/or take a disk image of your system drive (with Acronis, Macrium Reflect, or similar). It is possible that Driver Verifier may BSOD a driver during the boot process (some drivers are loaded during boot). If that happens you'll be stuck in a boot-BSOD loop.

If you should end up in a boot-BSOD loop, boot the Windows installation media and use that to run system restore and restore to the restore point you took, to remove Driver Verifier and get you booting again. Alternatively you can use the Acronis, Macrium Reflect, or similar, boot media to restore the disk image you took.

Please don't skip this step. it's the only way out of a Driver Verifier boot-BSOD loop.

2. Start the Driver Verifier setup dialog by entering the command verifier in either the Run command box or in a command prompt.

3. On that initial dialog, click the radio button for 'Create custom settings (for code developers)' - the second option - and click the Next button.

4. On the second dialog check (click) the checkboxes for the following tests...
  • Special Pool
  • Force IRQL checking
  • Pool Tracking
  • Deadlock Detection
  • Security Checks
  • Miscellaneous Checks
  • Power framework delay fuzzing
  • DDI compliance checking
Then click the Next button.

5. On the next dialog click the radio button for 'Select driver names from a list' - the last option - and click the Next button.

6. On the next dialog click on the 'Provider' heading, this will sort the drivers on this column (it makes it easier to isolate Microsoft drivers).

7. Now check (click) ALL drivers that DO NOT have Microsoft as the provider (ie. check all third-party drivers).

8. Then, on the same dialog, check the following Microsoft drivers (and ONLY these Microsoft drivers)...
  • Wdf01000.sys
  • ndis.sys
  • fltMgr.sys
  • Storport.sys
These are high-level Microsoft drivers that manage lower-level third-party drivers that we otherwise wouldn't be able to trap. That's why they're included.

9. Now click Finish and then reboot. Driver Verifiier will be enabled.

Be aware that Driver Verifier will remain enabled across all reboots and shutdowns. It can only be disabled manually.

Also be aware that we expect BSODs. Indeed, we want BSODs, to be able to identify the flaky driver(s). You MUST keep all minidumps created whilst Driver Verifier is running, so disable any disk cleanup tools you may have.

10. Leave Driver Verifier running for 48 hours, use your PC as normal during this time, but do try and make it BSOD. Use every game or app that you normally use, and especially those where you have seen it BSOD in the past. If Windows doesn't automatically reboot after each BSOD then just reboot as normal and continue testing.

Note: Because Driver Verifier is doing extra work each time a third-party driver is loaded you will notice some performance degradation with Driver Verifier enabled. This is a price you'll have to pay in order to locate any flaky drivers. And remember, Driver Verifier can only test drivers that are loaded, so you need to ensure that every third-party driver gets loaded by using all apps, features and devices.

11. To turn Driver Verifier off enter the command verifier /reset in either Run command box or a command prompt and reboot.

Should you wish to check whether Driver Verfier is enabled or not, open a command prompt and enter the command verifier /query. If drivers are listed then it's enabled, if no drivers are listed then it's not.

12. When Driver Verifier has been disabled, navigate to the folder C:\Windows\Minidump and locate all .dmp files in there that are related to the period when Driver Verifier was running (check the timestamps). Zip these files up if you like, or not as you choose. Upload the file(s) to the cloud with a link to it/them here (be sure to make it public).