We’ve got several users that are randomly getting this error when logging in to Epicor. Some days it’s fine, and others its not. We clear the temp folders out, and it’s back to good. C:\Epicor is excluded from anti-virus scan. We’re on-prem, 2023.2.9 currently.
Any ideas?
Update - Our Sysadmin found this thread pointing to a corrupt Epicor config file: Log on error - #4 by Bart_Elia (I’m embarrassed to say I didn’t find it first, lol!).
Application Error
Exception caught in: System.Xml
Error Detail
============
Message: '.', hexadecimal value 0x00, is an invalid character. Line 1, position 1.
Program: System.Xml.dll
Method: Throw
Client Stack Trace
==================
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
at System.Xml.XmlTextReaderImpl.ThrowInvalidChar(Char[] data, Int32 length, Int32 invCharPos)
at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.Linq.XDocument.Load(XmlReader reader, LoadOptions options)
at IceShell.ClientCacheSettingsProvider.LoadConfigFile(String userConfigPath)
at IceShell.ClientCacheSettingsProvider.LoadValuesFromFile(String userConfigPath)
at IceShell.ClientCacheSettingsProvider.GetPropertyValues(SettingsContext context, SettingsPropertyCollection collection)
at System.Configuration.SettingsBase.GetPropertiesFromProvider(SettingsProvider provider)
at System.Configuration.SettingsBase.SetPropertyValueByName(String propertyName, Object propertyValue)
at System.Configuration.SettingsBase.set_Item(String propertyName, Object value)
at System.Configuration.ApplicationSettingsBase.set_Item(String propertyName, Object value)
at IceShell.SessionManager.loadUserSettings(String userID, Boolean changeUserEvent)
at IceShell.SessionManager.InitializeInitialSession(Session initialSession)
at IceShell.SessionManager.<.ctor>b__32_1(Object _, SessionChangedEventArgs e)
at Ice.Lib.UI.SessionCache.OnInitialSessionChangedEvent(SessionChangedEventArgs e)
at Ice.Lib.UI.SessionCache.SetInitialSession(Session session)
at Ice.Lib.UI.SessionCache.set_CurrentSession(Session value)
at IceShell.SplashScreenApp.logon_LogonEnded(Object sender, EventArgs e)
at IceShell.Apps.LogonDialog.OnLogonEnded(Object sender, EventArgs e)
at IceShell.Apps.LogonDialog.StopLogon()
at IceShell.Apps.LogonDialog.DoWorkLogon()
at IceShell.Apps.LogonDialog.btnOK_ButtonClick(Object sender, InputEventArgs e)
at IceShell.ImageButton.Click(InputEventArgs e)
at IceShell.ImageButton.OnAccessKeyPressed(Object sender, AccessKeyPressedEventArgs e)
at System.Windows.Input.AccessKeyPressedEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
at System.Windows.Input.AccessKeyManager.GetInfoForElement(IInputElement element, String key)
at System.Windows.Input.AccessKeyManager.GetTargetsForScope(Object scope, String key, IInputElement sender, AccessKeyInformation senderInfo)
at System.Windows.Input.AccessKeyManager.GetTargetsForSender(IInputElement sender, String key)
at System.Windows.Input.AccessKeyManager.ProcessKeyForSender(Object sender, String key, Boolean existsElsewhere, Boolean userInitiated)
at System.Windows.Input.AccessKeyManager.OnKeyDown(KeyEventArgs e)
at System.Windows.Input.AccessKeyManager.PostProcessInput(Object sender, ProcessInputEventArgs e)
at System.Windows.Input.InputManager.RaiseProcessInputEventHandlers(ProcessInputEventHandler postProcessInput, ProcessInputEventArgs processInputEventArgs)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndKeyboardInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawKeyboardActions actions, Int32 scanCode, Boolean isExtendedKey, Boolean isSystemKey, Int32 virtualKey)
at System.Windows.Interop.HwndKeyboardInputProvider.ProcessKeyAction(MSG& msg, Boolean& handled)
at System.Windows.Interop.HwndSource.CriticalTranslateAccelerator(MSG& msg, ModifierKeys modifiers)
at System.Windows.Interop.HwndSource.TranslateAcceleratorCore(MSG& msg, ModifierKeys modifiers)
at System.Windows.Interop.HwndSource.System.Windows.Interop.IKeyboardInputSink.TranslateAccelerator(MSG& msg, ModifierKeys modifiers)
at System.Windows.Forms.Integration.ElementHost.ProcessCmdKey(Message& msg, Keys keyData)
at IceShell.Apps.Controls.WinformsControlHost.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.PreProcessMessage(Message& msg)
at System.Windows.Forms.Control.PreProcessControlMessageInternal(Control target, Message& msg)
at System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(MSG& msg)