Environment
Novell Client for Windows 2000/XP/2003
Citrix Presentation Server 4.0
Microsoft Windows Server 2003
Microsoft Windows 2000 Server
Situation
Error: Bugcheck 0xC000021A occurs because WINLOGON.EXE process
shut down unexpectedly with a 0xC0000005 (access violation)
status.
When logging on to a terminal session on a Windows Server 2003
or Windows 2000 Server machine with Citrix Presentation Server 4.0
and the Novell Client for Windows 2000/XP/2003 installed (any
version), the WINLOGON.EXE instance for that terminal session may
crash or become unresponsive.
An access violation (status 0xC0000005) may occur specifically
on the WINLOGON.EXE process for a terminal session. Exactly
when or where access violation may occur depends upon the
environment variables that are defined and what GINAs in addition
to Citrix's CTXGINA.DLL and Novell's NWGINA.DLL are involved.
Resolution
This issue is resolved by an updated CTXGINA.DLL for Citrix
Presentation Server 4.0.
Hotfix PSE400R02W2K040 - For Citrix Presentation Server 4.0
for Windows 2000 Server
Hotfix PSE400R02W2K3064 - For Citrix Presentation Server 4.0
for Windows Server 2003
Additional Information
When Citrix's CTXGINA.DLL is chaining through to Microsoft's
MSGINA.DLL, CTXGINA.DLL will pass along the Windows environment
string block provided by WINLOGON.EXE as-is. When CTXGINA.DLL
is calling chaining through to Novell's NWGINA.DLL however, a copy
of the environment block is made by CTXGINA.DLL and the copy is
what's passed to NWGINA.DLL.
The manner in which CTXGINA.DLL's copy of the environment
block was allocated and populated contained an issue which could
cause NWGINA.DLL or whichever GINA the environment block was passed
to crash when trying to process the environment strings
contained. Note the crash is not necessarily occurring in
NWGINA.DLL, if NWGINA.DLL in turn had passed the environment block
provided by CTXGINA.DLL down to another GINA, such as Microsoft's
MSGINA.DLL.
This issue does not occur when the Novell Client for Windows
2000/XP/2003 is removed, because the Citrix CTXGINA.DLL no longer
attempts to make its own copy of the environment strings block
provided by WINLOGON.EXE.