Beruflich Dokumente
Kultur Dokumente
*RUNTIME ERROR
Problem Description:
This case study provides a brief description of the Microsoft Visual C++ Runtime Library error a customer
encountered when Memory Optimization is enabled, a list of troubleshooting steps and a resolution.
Problem:
The XenApp 4.5 servers display the following C++ Runtime Error pop-up message when the
Administrator logs on to the server after the execution of the Memory Optimization (CtxBace.exe)
process which occurs after a server reboot or during the Memory Optimization Interval (default of 3AM).
“R6034
User’s access to published applications are not affected when this occurs.
Cause:
An application installed on the customer’s XenApp Servers whose executable, APPLICATION.exe, was
being rebased by CtxBace.exe. As a result, the launch directory became that of CtxBace.exe and not the
directory of APPLICATION.exe. Any searches for dependencies of APPLICATION.exe were searched
starting from the CtxBace directory path rather than the application’s path. This became a problem
because the application did not set its directory path in the PATH variable.
In such cases, all attempts to call the dependent libraries failed, causing APPLICATION.exe to attempt to
load MSVCR80.dll from “C:\Program Files\Citrix\Server Resource Management\Memory Optimization
Management\Program” and not from the application’s directory. ProcMon shows the DLL search of
APPLICATION.exe leads it to its original directory path from where it should have successfully loaded the
DLL. However, even that fails which only means that the alternate stream for the DLL is corrupted.
Solution:
2. ProcMon was used at the time of the Memory Optimization execution to determine what process was
attempting to load MSVCR80.dll.
Recommendation:
The issue was resolved by excluding both MSVCR80.dll and APPLICATION.exe from the Memory
Optimization process using the Windows registry settings below on the XenApp 4.5 servers.
Technical Perspective:
This procedure requires you to edit the registry. Using Registry Editor incorrectly can cause serious
problems that might require you to reinstall your operating system. Citrix cannot guarantee that
problems resulting from the incorrect use of the Registry Editor can be solved. Use the Registry Editor at
your own risk. Back up the registry before you edit it.
* HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SFO\ComponentExclusionList
REG_DWORD: msvcr80.dll
Value: 0
* HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SFO\ProcessExclusionList
REG_DWORD: python.exe
Value: 0