I have a SR open for this but wondered if anyone has seen this.

As I'm sure a lot of people know, there is still a problem running nalwin on the Zen login event. We have to add a delay of about 10 seconds to ensure the window loads at all, though I do not understand why this is. On slower computers, even that isnt enough, so I tried to have the delay wait until explorer.exe has loaded before loading nalwin, so that faster computers wouldnt have to wait so long and slower ones could wait longer before loading nalwin.

Randomly, when the agent attempts to check the status of explorer.exe, it throws an error which is displayed in the log and the agent immediately crashes.

[DEBUG] [09/06/2012 11:13:59.640] [620] [ZenworksWindowsService] [38] [] [ZMD] [] [******************** Unhandled exception in service ********************
Type: System.ComponentModel.Win32Exception May indicate that access to process information was denied, some other error occured when reading process info.
Message: Only part of a ReadProcessMemory or WriteProcessMemory request was completed
Stack Trace: Processes in the stack trace are a chain of function calls starting at the bottom to the top where the top function is the one in which the exception occurred.
       at System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId, Boolean firstModuleOnly) This checks for a running process' info, and if it is returned, the process must be running.
       at System.Diagnostics.NtProcessManager.GetFirstModuleInfo(Int32 processId)
       at System.Diagnostics.Process.get_MainModule()
       at Novell.Zenworks.ExecLibrary.DelayController.checkProcessStatus() Zen delay controller asking for the status of a running process, probably explorer.exe
       at Novell.Zenworks.ExecLibrary.AbstractDelayController.DelayProcess(Int32 maxTimeToWait, String() programList) 
       at Novell.Zenworks.ExecLibrary.ExecLibrary.DelayProcess(Int32 maxTimeToWait, String() programList) 
       at Novell.Zenworks.ActionHandlers.DelayTaskAction.DelayThreadParameters.ProcessStartMethod() 
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.runTryCode(Object userData)
       at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
] [] [] 
 [DEBUG] [09/06/2012 11:13:55.250] [3800] [ZenUserDaemon] [8] [] [DeviceGuid] [] [Irrecoverable error!!! Error in creating Device Session.] [] [] 
 [DEBUG] [09/06/2012 11:13:55.250] [3800] [ZenUserDaemon] [8] [] [DeviceGuid] [] [Irrecoverable error!!! Error in creating Device Session.] [] []