Skip to content
WindowsIntermediate

How to Fix SESSION_HAS_VALID_SPECIAL_POOL_ON_EXIT (0x000000EC) Blue Screen Error in Windows

Quick Answer SESSION_HAS_VALID_SPECIAL_POOL_ON_EXIT (0x000000EC) is a Windows Blue Screen of Death (BSOD) error that occurs when a Windows session is unloade...

BI
Bison Technical Team Enterprise IT specialists
Updated 09 Nov 2026 12 min read 0 total views
Structured technical guidanceSafety notes included where requiredSources listed below

Quick Answer

SESSION_HAS_VALID_SPECIAL_POOL_ON_EXIT (0x000000EC) is a Windows Blue Screen of Death (BSOD) error that occurs when a Windows session is unloaded while a session driver still holds memory allocated from the Special Pool. This indicates a memory-management problem involving a kernel-mode driver or Windows system component.

Microsoft identifies possible sources of this problem as bugs in win32k.sys, atmfd.dll, rdpdd.dll, or a video driver. However, the stop code alone does not identify the exact faulty component.

Advertisement

To troubleshoot this error, check recently installed or updated drivers, investigate graphics and remote desktop components, install applicable Windows updates, and examine crash dump files to identify the driver responsible for the failure.

What Is SESSION_HAS_VALID_SPECIAL_POOL_ON_EXIT (0x000000EC)?

SESSION_HAS_VALID_SPECIAL_POOL_ON_EXIT is a Windows bug check that indicates a session driver failed to release its Special Pool memory allocations before the associated Windows session was unloaded.

Windows uses memory management mechanisms to allocate and track memory used by kernel-mode components and device drivers. Special Pool is a diagnostic memory allocation mechanism designed to help detect certain types of memory corruption and invalid memory access by drivers.

When Windows detects that a session is being unloaded while a driver still has Special Pool allocations outstanding, it can trigger bug check 0x000000EC to prevent the system from continuing in an inconsistent state.

This error is primarily associated with driver-level memory management rather than an ordinary application crash.

Stop Code Details

Property Details
Stop Code 0x000000EC
Bug Check Name SESSION_HAS_VALID_SPECIAL_POOL_ON_EXIT
Error Type Windows Kernel Bug Check
Error Category Driver and Memory Management
Commonly Associated Components win32k.sys, atmfd.dll, rdpdd.dll and video drivers
Typical Result Blue Screen of Death and automatic system restart

Microsoft documents this bug check primarily for Windows driver developers. Its official technical explanation is available in the Bug Check 0xEC documentation on Microsoft Learn.

What Causes the 0x000000EC Blue Screen Error?

The underlying condition is a session driver failing to free its Special Pool allocations before the session unloads. The exact reason for that failure requires further investigation.

Several driver and system-related situations may be relevant.

1. Faulty or Incompatible Graphics Drivers

Graphics drivers interact closely with Windows session management and graphical components. A driver defect, incompatible update or incorrect memory-management operation can contribute to this type of failure.

This is particularly worth investigating if the blue screen started after updating a graphics driver or installing a new graphics card.

2. Windows Graphics and Session Components

Windows uses components such as win32k.sys to support graphical user interface operations and session-related functionality.

A defect in a Windows graphics or session component may be associated with this bug check. However, seeing a Windows system file mentioned in a crash report does not automatically establish that the file itself is defective. A third-party driver can also cause corruption that is detected later by a Windows component.

3. Remote Desktop Driver Problems

Remote Desktop functionality relies on session management and display-related components. Microsoft identifies rdpdd.dll among the components associated with this bug check.

Problems involving remote desktop drivers or related software may therefore deserve investigation, particularly when the error occurs during remote login, logout or session termination.

4. Driver Memory Leaks

A memory leak occurs when software allocates memory but does not release it when that memory is no longer required.

In this situation, a session driver may retain Special Pool allocations beyond the expected lifetime of the session. Windows detects the outstanding allocations during session unloading and generates the bug check.

5. Recently Installed or Updated Software

Some applications install supporting kernel-mode drivers or system components. Examples include graphics utilities, remote access applications, display management tools and certain security products.

If the problem began immediately after installing or updating such software, investigate whether its driver or supporting components are involved.

Understanding the Bug Check Parameters

The 0x000000EC bug check contains four parameters. These values provide technical information about the session and the Special Pool allocations involved in the failure.

Parameter Description
Parameter 1 The session ID associated with the unloading session.
Parameter 2 The number of Special Pool pages that are leaking.
Parameter 3 Reserved.
Parameter 4 Reserved.

These parameters are primarily useful for driver developers and technical investigators analyzing a crash dump. They do not directly identify the name of the faulty third-party driver.

How to Fix SESSION_HAS_VALID_SPECIAL_POOL_ON_EXIT (0x000000EC)

The following troubleshooting procedures can help identify and resolve the underlying driver or system problem. Follow them in order, starting with the least disruptive checks.

1. Restart Windows and Check Whether the Error Repeats

If the blue screen occurred only once, restart the computer and monitor its behaviour.

  1. Allow Windows to restart normally.
  2. Sign in to your user account.
  3. Use the computer normally and check whether the same stop code appears again.
  4. Observe whether the crash occurs during startup, shutdown, login, logout or remote desktop activity.

A single crash does not necessarily establish a persistent hardware or software failure. Repeated crashes require further investigation.

2. Update or Roll Back Graphics Drivers

Because Microsoft identifies video drivers as possible sources of this bug check, graphics driver troubleshooting is an important step.

  1. Right-click the Start button and select Device Manager.
  2. Expand Display adapters.
  3. Identify the installed graphics adapter.
  4. Visit the official support website of the graphics card or computer manufacturer.
  5. Check for an appropriate driver update for your Windows version and hardware.
  6. Install the compatible driver and restart the computer.

If the problem started immediately after a graphics driver update, consider rolling back to the previously working version.

To check whether rollback is available:

  1. Open Device Manager.
  2. Expand Display adapters.
  3. Right-click the graphics device and select Properties.
  4. Open the Driver tab.
  5. Select Roll Back Driver, if available.
  6. Follow the instructions and restart Windows.

If the rollback option is unavailable, obtain a compatible previous driver from the hardware manufacturer's official support website. Avoid downloading drivers from unverified third-party websites.

3. Install Available Windows Updates

Windows updates can contain fixes for operating system components, compatibility issues and system stability problems.

  1. Open Settings.
  2. Select Windows Update.
  3. Click Check for updates.
  4. Install applicable updates.
  5. Restart the computer if required.

For Windows 10 and Windows 11, the exact availability of updates depends on the installed edition, servicing status and update policy.

For additional guidance, visit Microsoft Windows Support.

4. Investigate Recently Installed Drivers and Applications

If the blue screen started after installing new software or hardware, investigate those changes first.

  1. Open Settings and navigate to Apps > Installed apps.
  2. Review recently installed applications.
  3. Identify graphics utilities, remote access software, display management applications or security products installed shortly before the problem began.
  4. Check whether those applications have available updates or known compatibility issues.
  5. If a particular application is strongly associated with the crashes, uninstall it temporarily for testing, provided doing so is safe for the system.
  6. Restart Windows and observe whether the problem returns.

Do not remove essential security, storage or business-critical drivers without understanding the impact. On managed systems, consult the system administrator before changing enterprise software.

5. Run System File Checker

System File Checker (SFC) is a Windows utility that checks protected system files and attempts to repair corrupted versions using available Windows repair sources.

To run SFC:

  1. Open the Start menu.
  2. Search for Command Prompt.
  3. Right-click it and select Run as administrator.
  4. Execute the following command:
sfc /scannow

Wait until the scan completes. Review the result displayed in Command Prompt.

If Windows reports that corrupted files were found and repaired, restart the computer and check its stability.

If SFC cannot repair some files, use the Deployment Image Servicing and Management (DISM) tool to check and repair the Windows component store.

DISM /Online /Cleanup-Image /RestoreHealth

After DISM completes successfully, run sfc /scannow again.

These commands address possible Windows component corruption. They do not directly repair a defective third-party driver or guarantee a solution to bug check 0xEC.

6. Check the System Using Crash Dump Analysis

If the error continues, analysing the Windows crash dump is one of the most useful ways to investigate the actual cause.

Windows can generate memory dump files when a system crash occurs. These files contain diagnostic information that can help identify the driver or component involved.

Common dump file locations include:

  • C:\Windows\Minidump - Contains small memory dump files, when configured and generated.
  • C:\Windows\MEMORY.DMP - Contains a kernel or other configured memory dump, when generated.

To analyse a dump file, use Microsoft's WinDbg debugging tool.

  1. Install WinDbg from the official Microsoft source.
  2. Open WinDbg.
  3. Select the option to open a crash dump file.
  4. Browse to the relevant dump file.
  5. Wait for the debugging symbols and analysis to load.
  6. Execute the following command in the debugger command window:
!analyze -v

Review the output, particularly:

  • BugCheck information.
  • MODULE_NAME.
  • IMAGE_NAME.
  • Probably caused by.
  • STACK_TEXT.
  • Relevant driver and memory allocation information.

Do not treat the Probably caused by field as conclusive proof. A system component may appear in the analysis because it detected the problem rather than because it originally caused it.

For advanced driver investigation, Windows driver developers can examine the bug check parameters and relevant memory information using debugging extensions.

Official reference: Microsoft Bug Check 0xEC documentation.

7. Investigate Remote Desktop-Related Problems

If the error occurs during remote login, remote logout or Remote Desktop session termination, investigate the remote access environment.

  1. Check whether the problem occurs only during remote desktop connections.
  2. Install applicable Windows updates on the affected computer.
  3. Check for updates to any third-party remote access software.
  4. Review recently installed display and remote session drivers.
  5. Examine crash dumps to determine whether an RDP-related component is involved.

Microsoft identifies rdpdd.dll as one of the components associated with this bug check. However, this does not mean every occurrence of 0xEC is caused by Remote Desktop.

8. Check for Hardware or System Instability

The documented cause of 0xEC is a session driver failing to release Special Pool allocations. Hardware replacement is therefore not the first recommended response.

However, if other unrelated crashes, memory errors or system instability are also occurring, broader hardware diagnostics may be appropriate.

Consider checking:

  • RAM using Windows Memory Diagnostic or a suitable manufacturer diagnostic tool.
  • Graphics hardware using the computer or graphics card manufacturer's diagnostic utilities.
  • System temperatures and cooling conditions.
  • Hardware compatibility and firmware updates, where applicable.
  • Whether the crashes began after installing new hardware.

Do not assume that faulty RAM or a failing graphics card is responsible for 0xEC without supporting diagnostic evidence.

How to Prevent SESSION_HAS_VALID_SPECIAL_POOL_ON_EXIT Errors

Although this bug check may originate from a driver defect that cannot be corrected by an ordinary user, the following practices can help reduce driver-related system instability.

  • Keep Windows updated with applicable security and reliability updates.
  • Install device drivers from official hardware manufacturer websites.
  • Use graphics drivers compatible with the installed Windows version.
  • Avoid installing unnecessary third-party driver management utilities.
  • Keep remote access software and its supporting drivers updated.
  • Remove outdated or incompatible software when it is no longer required.
  • Maintain regular backups of important data.
  • Preserve crash dump files when recurring BSOD errors occur.
  • Investigate repeated crashes instead of repeatedly reinstalling drivers without diagnosis.

When Should You Contact Technical Support?

Consider contacting the computer manufacturer, driver vendor or a qualified Windows technical support professional if:

  • The 0x000000EC error continues after updating or rolling back relevant drivers.
  • The computer repeatedly crashes during login, logout or session termination.
  • The crash dump indicates a particular third-party driver or kernel component requires further investigation.
  • The problem affects a business-critical workstation or remote desktop server.
  • Multiple system components appear to be involved in repeated memory corruption.
  • You cannot access Windows normally to perform the recommended troubleshooting.

When requesting technical support, provide the exact stop code, Windows version, recent driver or software changes, crash frequency and available memory dump files. This information can make root-cause investigation more effective.

Frequently Asked Questions

1. Is SESSION_HAS_VALID_SPECIAL_POOL_ON_EXIT a hardware or software error?

It is primarily a driver and kernel memory-management error. Microsoft documents it as a condition in which a session driver retains Special Pool allocations during session unloading. Hardware problems should only be investigated as contributing factors when other diagnostic evidence supports that possibility.

2. Can a graphics driver cause error 0x000000EC?

Yes. Microsoft identifies video drivers among the components associated with this bug check. An incompatible or defective graphics driver may be involved, but crash dump analysis is needed to establish the actual cause.

3. What is Special Pool in Windows?

Special Pool is a Windows memory allocation mechanism used to help detect certain driver memory errors. It provides additional memory protection and diagnostic capabilities that help identify problems such as invalid memory accesses and allocation-related corruption.

4. Does this error mean my RAM is faulty?

No. The 0x000000EC bug check specifically identifies a session driver retaining Special Pool allocations during session unloading. It does not directly indicate defective physical RAM. Memory testing may be useful if other symptoms suggest a hardware problem.

5. Can I fix this error by reinstalling Windows?

Reinstalling Windows is not the recommended first solution. The problem may be associated with a particular device driver or system component. Investigate recent driver changes and crash dump information before considering a clean installation. Reinstallation may not resolve the problem if the underlying cause is a defective driver that is installed again afterward.

6. Which Windows files are associated with this bug check?

Microsoft identifies win32k.sys, atmfd.dll and rdpdd.dll, along with video drivers, as possible components associated with this bug check. Their appearance in a crash report does not necessarily establish that the corresponding file is the original cause.

7. Is SESSION_HAS_VALID_SPECIAL_POOL_ON_EXIT related to SESSION_HAS_VALID_POOL_ON_EXIT?

They are related but have different bug check codes and memory allocation details. SESSION_HAS_VALID_SPECIAL_POOL_ON_EXIT uses code 0x000000EC and specifically concerns Special Pool allocations. SESSION_HAS_VALID_POOL_ON_EXIT is associated with code 0x000000AB and concerns paged and nonpaged pool allocations. The two codes should not be treated as interchangeable.

Key Takeaways

SESSION_HAS_VALID_SPECIAL_POOL_ON_EXIT (0x000000EC) is a Windows bug check associated with a session driver failing to release its Special Pool memory allocations before the session unloads.

Graphics drivers, Windows graphics components and remote desktop-related components are among the areas identified in Microsoft's documentation. The precise cause cannot be determined from the stop code alone.

Start with relevant driver checks and Windows updates, then use crash dump analysis and WinDbg when the problem persists. Avoid unnecessary hardware replacement or Windows reinstallation without evidence identifying the underlying cause.

Official References

YOUR FEEDBACK

Was this guide useful?

Your answer helps us keep BISONKB accurate and practical.

Links are permitted only to published BISONKB articles.
THE BISON BRIEF

Practical IT knowledge, once a week.

New troubleshooting guides, scripts and infrastructure notes. No noise.

By subscribing, you agree to our privacy policy. Unsubscribe at any time.