Problème d’incrementation de Session ID

Récemment on nous a remonté un problème d’incrémentation de Session Id au sein d’une ferme XenApp 6.5 R04 Us. L’effet de bord de ce problème d’incrémentation de Session Id était que les ID de session fermés (ces sessions n’étaient plus présentes sur les serveurs et aucun process n’était visible via un procmon ou autre) n’étaient jamais recyclés ce qui engendrait des Session ID avec des valeurs excessives.

SessionId_CountOn constate bien dans l’App Center des Sessions Id élevés au vu du nombre de CCU sur ce silo 🙂

En lançant un process explorer nous avons constaté que seule les process des utilisateurs en cour étaient visibles (avec ceux du system) par contre en passant par un RamMap on constate des process csrss.exe “zombies” avec des Sessions ID associés (ce qui explique pourquoi les nouvelles sessions ne reprenaient pas d’ancien Session Id).

SessionId_Count1Il ne reste plus qu’a trouver la cause 😉

 En googlelant nous sommes rapidement tombés sur la  KB75462 de chez McAfee décrivant exactement notre problématique.

Problem

CSRSS.exe sessions have open session objects even after the active user session is closed.
The session ID is not recycled when one user logs out and another person logs in. This can cause performance issues over time.
This issue is seen only on Windows Server 2008 with Service Pack 1.

Cause

McAfee has determined that this issue is a result of Microsoft Registry Filtering API not freeing 80 bytes of ObjectContexts. These 80 bytes include references to operating system resources (a process object that inherits a session object). The open session constitutes a resource leak that has a disproportionate impact on the operating system. If user sessions are spawned and terminated in excess, it causes in an equally large number of sessions that are not closed. This number increases until it impacts the operating system.As part of its Access Protection feature, VSE 8.8 must use the Registry Filtering API to protect the registry. When the Access Protection feature is enabled, bad behavior is exposed in Microsoft Registry Filtering API.

La  KB75462 préconise la mise à jour du VSE en 8.8 patch 4, le passage du  VSE en 8.8 patch 4 a bien corrigé le problème dans notre cas.

Post to Twitter