Recently we have created our new production farm filled with several remote desktop session hosts (RDSHs). We started to add users to this farm and almost everything went smoothly. This was no real surprise as we have piloted the environment before, so most issues should have been detected in the pilot phase. Nevertheless we had bad luck yesterday: one of our RDSH servers wasn’t available anymore and taking a look at the “real” console through the remote management interface showed us the server had a blue screen (Blue Screen of Death or BSOD). Oh no, this doesn’t seem a great start for our production environment!
The STOP error was SESSION_HAS_VALID_POOL_ON_EXIT (or in a hexadecimal form: 0x000000AB). It seems this a known bug and 2 Microsoft Knowledge Base articles (KB) describe it:
• 2585233 (http://support.microsoft.com/kb/2585233): “Stop 0x000000AB (SESSION_HAS_VALID_POOL_ON_EXIT)” error when a client logs off from a Windows Server 2008 R2 Remote Desktop Services session
• 2617115 (http://support.microsoft.com/kb/2617115): “Stop 0x000000AB (SESSION_HAS_VALID_POOL_ON_EXIT)” error when a client logs off from a Remote Desktop Services session in Windows Server 2008 R2
The last KB is newer and should be preferred. Both KBs are related to a hotfix and as the 2nd one is newer, it’s obvious you should try to get the hotfix related to KB2617115. Those hotfixes are not rolled out automatically through Microsoft Update (MU) or cannot be found via Microsoft’s update catalog, but you can request them (starting from the KB pages) or download them directly from the Microsoft Premier site if you can log in (so if you have an account related to a Premier support contract). These hotfixes should only be installed if you experience the issue, so it’s best not to install them (or one of them) from the prevention point of view. If you still decide to do so, then, again, the newest one if to be preferred, except when this one seems to give you troubles, while the older one doesn’t.
It seems the bug is only triggered when a user logs off from a Windows Server 2008 R2 system through a remote connection (so when a user logs off from his remote desktop session). Note that this doesn’t mean that every time a user logs off this bug is triggered! Anyway, the bug causes a STOP error (0x000000AB or SESSION_HAS_VALID_POOL_ON_EXIT), so the system shows us a blue screen while it creates a dump file. Of course existing connections seem to hang first and are disconnected after a while; well, at least from the client’s perspective, because it’s not just a hang or disconnect, as the sessions don’t exist anymore! It’s not clear to me if the situation can happen with every kind of remote desktop session or only on a remote desktop session host (RDSH); and can the bug be triggered when logging off from an admin session? If we interpret them literally, the KB articles just speak of “Remote Desktop Services”, which doesn’t limit to RDSHs or non-admin sessions. More technically, the bug is caused by a piece of session pool memory with the Gadb or Gh2 tag in the system file Win32k.sys has leaked.
I hope this blog item has helped you.