Error Medic

SYSTEM_SERVICE_EXCEPTION (0x0000003B): Complete Fix Guide for Windows 10 & 11

Fix the SYSTEM_SERVICE_EXCEPTION BSOD (stop code 0x0000003B) on Windows 10/11. Step-by-step diagnosis for ntfs.sys, nvlddmkm.sys, win32kfull.sys & more.

Last updated:
Last verified:
2,150 words
Key Takeaways
  • Root cause: A kernel-mode system service routine transitioned from non-privileged (user) code to privileged (kernel) code — most commonly triggered by a corrupt or incompatible device driver (GPU, NIC, filesystem filter), a damaged NTFS volume, or faulty RAM.
  • Root cause: The offending module is named in the stop screen (e.g., nvlddmkm.sys = NVIDIA GPU driver, amdkmdag.sys = AMD GPU driver, ntfs.sys = NTFS filesystem, win32kfull.sys = Windows GDI subsystem, netio.sys = network stack). Identifying the module is the fastest path to the right fix.
  • Quick fix summary: (1) Boot into Safe Mode, (2) run 'sfc /scannow' and 'DISM /RestoreHealth', (3) update or roll back the named driver, (4) run Windows Memory Diagnostic or MemTest86 for RAM, (5) run 'chkdsk /f /r' for disk errors, (6) as a last resort perform an in-place upgrade repair.
Fix Approaches Compared
MethodWhen to UseEst. TimeRisk
Update / Roll Back DriverFaulty module is a device driver (nvlddmkm.sys, amdkmdag.sys, netio.sys, etc.)5–15 minLow
SFC + DISM System File RepairStop code names ntoskrnl.exe, win32k.sys, win32kfull.sys, cdd.dll15–30 minLow
CHKDSK /f /rModule is ntfs.sys or fltmgr.sys; system is on HDD30–120 minLow
Windows Memory Diagnostic / MemTest86Crashes occur under load or after long uptime; no single module named30–480 minLow
Uninstall Conflicting SoftwareCrash after installing antivirus, VMware Workstation, audio (asio.sys, rtkvhd64.sys) or filter drivers5–10 minLow
Clean GPU Driver Install (DDU)GPU-related modules: nvlddmkm.sys, amdkmdag.sys, igdkmd64.sys, dxgkrnl.sys, dxgmms1.sys20–30 minLow-Med
In-Place Upgrade Repair InstallMultiple crashes, several modules implicated, SFC/DISM unable to repair60–90 minMedium
Fresh Windows InstallAll else fails; persistent corruption90–180 minHigh (data loss risk)

Understanding the SYSTEM_SERVICE_EXCEPTION Error

Windows stop code 0x0000003B — also displayed as SYSTEM_SERVICE_EXCEPTION — fires when a kernel exception occurs during the execution of a routine that transitioned from user mode to kernel mode. Windows cannot recover gracefully, so it triggers the Blue Screen of Death (BSOD) to prevent data corruption.

The full stop screen reads:

Your PC ran into a problem and needs to restart.
Stop code: SYSTEM_SERVICE_EXCEPTION

On older Windows builds you may see:

STOP: 0x0000003B (0x00000000C0000005, 0xFFFFF8000A1B3C40, 0xFFFFF88003A10000, 0x0000000000000000)

The second parameter is the exception code (e.g., 0xC0000005 = access violation) and the third parameter is the address inside the failing driver.


Step 1: Identify the Faulty Module

Before touching anything, capture the module name from the blue screen or from a minidump.

Option A — Read the BSOD directly. Modern Windows 10/11 crash screens show the file name below the stop code, e.g., amdkmdag.sys.

Option B — Analyze the minidump with WinDbg.

  1. Open WinDbg (available from the Microsoft Store as "WinDbg Preview").
  2. Go to File → Open Crash Dump and navigate to C:\Windows\Minidump\ — select the most recent .dmp file.
  3. In the command pane run:
    !analyze -v
    
    Look for the MODULE_NAME and IMAGE_NAME fields.

Option C — Use WhoCrashed (free GUI tool) for a human-readable summary if WinDbg is unfamiliar.


Step 2: Boot Into Safe Mode (If System Won't Stay Up)

If the system blue-screens before you can log in:

  1. Power the PC off during boot three times to trigger the Windows Recovery Environment (WinRE).
  2. Navigate to Troubleshoot → Advanced Options → Startup Settings → Restart.
  3. Press 4 or F4 for Safe Mode, or 5/F5 for Safe Mode with Networking.

Step 3: Fix Based on the Named Module

GPU Drivers — nvlddmkm.sys, amdkmdag.sys, igdkmd64.sys, dxgkrnl.sys, dxgmms1.sys

These are the most frequent culprits, especially when the crash occurs while gaming or running GPU-intensive workloads.

  1. Download Display Driver Uninstaller (DDU) from Wagnardsoft.
  2. Boot into Safe Mode.
  3. Run DDU → "Clean and restart" to fully strip the GPU driver.
  4. After reboot, install the latest stable driver directly from NVIDIA (nvlddmkm.sys), AMD (amdkmdag.sys), or Intel (igdkmd64.sys) — avoid bundled bloatware installers.
  5. If crashing resumes on the latest driver, try one version older (driver regression is common).
Filesystem — ntfs.sys, fltmgr.sys, cldflt.sys

ntfs.sys crashes indicate NTFS volume corruption or a bad disk sector. fltmgr.sys and cldflt.sys point to file-system filter drivers (antivirus, cloud sync like OneDrive's cldflt.sys).

# Schedule CHKDSK on the system volume (requires reboot)
chkdsk C: /f /r /x

Restart — CHKDSK runs before Windows loads. For secondary drives omit /x.

If cldflt.sys is named, temporarily disable OneDrive or the cloud sync client and test.

Network Stack — netio.sys, ndis.sys, afd.sys, ndu.sys

Usually caused by a VPN driver, antivirus network filter, or out-of-date NIC driver.

  1. Update your NIC driver from the manufacturer's website (Intel, Realtek, Killer).
  2. Uninstall VPN software (especially older versions of OpenVPN, Cisco AnyConnect, or gaming VPNs).
  3. Disable the Windows Network Data Usage monitor temporarily: sc config ndu start= disabled then reboot.
Windows Graphics Subsystem — win32kfull.sys, win32kbase.sys, win32k.sys, cdd.dll, dxgkrnl.sys

These modules live in the Windows GDI/DirectX kernel subsystem. Corruption here almost always means corrupted Windows system files or a bad cumulative update.

# Step 1: Repair system files
sfc /scannow

# Step 2: Repair the Windows image
DISM /Online /Cleanup-Image /RestoreHealth

# Step 3: Run SFC again after DISM
sfc /scannow

Reboot after each phase completes.

Audio — rtkvhd64.sys, spuvcbv64.sys, asio.sys, ks.sys

Realtek (rtkvhd64.sys) and ASIO audio drivers can destabilize the kernel.

  1. Uninstall the current Realtek HD Audio driver via Device Manager.
  2. Reinstall from the motherboard manufacturer's support page, not Windows Update.
  3. For ASIO: update or uninstall the ASIO4ALL or vendor ASIO driver.
Security & Filter Drivers — cng.sys, gdrv3.sys, wdf01000.sys
  • cng.sys (Cryptography Next Generation): run sfc /scannow and apply all pending Windows Updates.
  • gdrv3.sys: this is a GIGABYTE utility driver known to cause BSODs. Uninstall GIGABYTE App Center / RGB Fusion.
  • wdf01000.sys (Windows Driver Framework): update all peripheral drivers (USB hubs, input devices).
Virtualization — VMware Workstation

VMware installs multiple kernel drivers. After a Windows major update these frequently break.

  1. Uninstall VMware Workstation, reboot, confirm stability.
  2. Reinstall the latest VMware Workstation version compatible with your Windows build.
  3. Alternatively, switch to WSL 2 + Hyper-V for compatibility.

Step 4: Test RAM

If no single module is consistently named, or if the named module changes between crashes, suspect faulty RAM.

# Built-in Windows Memory Diagnostic
mdsched.exe

Choose "Restart now and check for problems." For more thorough testing, use MemTest86 (bootable USB, run for at least 2 full passes — ideally overnight).

If errors are found, reseat DIMMs, test one stick at a time, or replace the faulty module.


Step 5: Check System Temperatures and Hardware

Overheating causes random kernel exceptions. Use HWiNFO64 or Core Temp to monitor:

  • CPU temps should stay below 90°C under load.
  • GPU temps should stay below 85°C under load.

Clean dust from heatsinks and reapply thermal paste if the system is 3+ years old.


Step 6: In-Place Upgrade Repair (Last Resort Before Reinstall)

  1. Download the Windows 11 (or 10) ISO from Microsoft.
  2. Mount the ISO, run setup.exe.
  3. Choose Keep personal files and apps.
  4. This reinstalls all Windows system files without destroying your data or applications.

Step 7: Verify After Fixes

After any fix, stress-test the system:

  • Run Prime95 (CPU+RAM) for 30–60 minutes.
  • Run FurMark (GPU) for 15–30 minutes.
  • If no crash occurs, the fix is likely successful.

Frequently Asked Questions

powershell
# =============================================================
# SYSTEM_SERVICE_EXCEPTION (0x0000003B) - Diagnostic & Fix Script
# Run as Administrator in PowerShell
# =============================================================

Write-Host "=== Step 1: Check for recent BSOD minidumps ==="
$dumps = Get-ChildItem -Path "$env:SystemRoot\Minidump" -Filter "*.dmp" -ErrorAction SilentlyContinue
if ($dumps) {
    Write-Host "Found $($dumps.Count) minidump(s). Most recent:"
    $dumps | Sort-Object LastWriteTime -Descending | Select-Object -First 5 | Format-Table Name, LastWriteTime
} else {
    Write-Host "No minidumps found. Enable in Settings > System > About > Advanced System Settings > Startup and Recovery."
}

Write-Host ""
Write-Host "=== Step 2: Read last BSOD from Event Log ==="
Get-WinEvent -FilterHashtable @{LogName='System'; Id=41,6008} -MaxEvents 10 -ErrorAction SilentlyContinue |
    Select-Object TimeCreated, Id, Message | Format-List

Write-Host ""
Write-Host "=== Step 3: Run System File Checker ==="
Write-Host "Running SFC (this may take 10-15 minutes) ..."
sfc /scannow

Write-Host ""
Write-Host "=== Step 4: Run DISM to repair Windows image ==="
DISM /Online /Cleanup-Image /RestoreHealth

Write-Host ""
Write-Host "=== Step 5: Schedule CHKDSK on system drive ==="
$answer = Read-Host "Schedule CHKDSK on C: for next reboot? (y/n)"
if ($answer -eq 'y') {
    chkdsk C: /f /r /x
    Write-Host "CHKDSK scheduled. Reboot to run."
}

Write-Host ""
Write-Host "=== Step 6: Check RAM with Windows Memory Diagnostic ==="
$answer2 = Read-Host "Launch Windows Memory Diagnostic now? (y/n)"
if ($answer2 -eq 'y') {
    mdsched.exe
}

Write-Host ""
Write-Host "=== Step 7: List recently installed or modified drivers ==="
Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Microsoft-Windows-Driver-Framework-UserMode-Reflector'} `
    -MaxEvents 20 -ErrorAction SilentlyContinue | Format-List TimeCreated, Message

Get-WinEvent -FilterHashtable @{LogName='System'; Id=7034,7035,7036,7040} `
    -MaxEvents 20 -ErrorAction SilentlyContinue | Format-List TimeCreated, Message

Write-Host ""
Write-Host "=== Step 8: Disable known problematic services (NDU) ==="
$answer3 = Read-Host "Disable the Network Data Usage (NDU) service as a test? (y/n)"
if ($answer3 -eq 'y') {
    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\Ndu' -Name Start -Value 4
    Write-Host "NDU service set to Disabled. Reboot to apply."
}

Write-Host ""
Write-Host "=== Step 9: List all third-party kernel drivers currently loaded ==="
fltmc filters
Write-Host ""
driverquery /v /fo csv | ConvertFrom-Csv | Where-Object { $_.State -eq 'Running' } |
    Select-Object 'Module Name','Display Name','Driver Type','Link Date' |
    Sort-Object 'Link Date' -Descending | Format-Table -AutoSize

Write-Host ""
Write-Host "=== Complete. Review output above and follow the deep-dive guide for your specific module. ==="
E

Error Medic Editorial

The Error Medic Editorial team is composed of senior DevOps engineers, Windows kernel specialists, and SRE practitioners with 10+ years of experience diagnosing Windows kernel panics, BSOD stop codes, and system reliability failures across enterprise and consumer environments. Our guides combine WinDbg analysis, hands-on lab testing, and real-world incident data to deliver actionable, accurate troubleshooting steps.

Sources

Related Articles in Other System Service Exception

Explore More windows Guides