Log on error

Our users are running Win10 and we have had a few get this error. The only way we seem to be able to fix it is reinstalling Epicor. I have checked personalization and everything else I can think of…any thoughts. I have one user that have gotten this a second time

image

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__31_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)

Yes, this has happened before. A configuration file get corrupted. A couple of solutions here:

2 Likes

What @Mark_Wonsil said. :wink:

I recently ran into a similar error with one of my users when they tried to log into Epicor. Searching for a solution, I found the post below and discovered the existence of a user.config file located in C:\Users\username\Local\Epicor\Epicor.exe_StrongName_blahblahblah\IceVersion\user.config. The next time this happens, try renaming that file and opening Epicor and see if it gets recreated and the error goes away and allows your user in.

3 Likes

Yea, sysconfig or the like. Just please backup the bad file and send to support to figure out if we have a bug versus you doing it to yourself on a manual edit.

2 Likes

I’ve seen this too, most often after a windows update on the local computer, or at least that’s been our pattern. I just open that file and you’ll see it’s been truncated. Replacing the missing ending tags also works.

1 Like

I just ran into this today, and another file you may have to delete is in the 'C:\ProgramData\Epicor[Server-Port][version]\UserConfig folder. There was a 0 byte file in there for the user that was empty, so I just deleted it and let Epicor re-create it.

3 Likes