Some 10.2.700 clients getting error Value Cannot Be Null

Good Day,
First time posting and thank you to the community for the great resources.
Starting two days ago, a number of users would get an error when trying to launch their 10.2.700 client. Sometimes they would try multiple times and it would launch or restart and it would launch. The header of error says Application error and then Value Cannot be Null. It doesn’t happen every time. I turned on Windows firewall logging on the client, app server, and sql server. I have found nothing related to blocks between client and app server or app server and db server.
I created a new explicit rule for the clients to allow outgoing port 80, 443, and tonight I found something about port 808 and added that in as well.

Please click detail on that and post the results.

Okay will have a user do that in the morning assuming it still is occuring.
Seeing this in our security console. Not being blocked but wondering if I need to open up any additional ports for named pipes? Or if this is happening locally on the windows client machne

Epicor.exe created named pipe \Device\NamedPipe\eo.ipc.temp.
Also this. Strange to me that the client is calling out to a public IP when the app server is on network. The connection was succesful but still interesting:
Epicor.exe established connection with (

I would stop with the firewall stuff.
If it was working before I doubt it’s related.

is this issue machine specific or user specific?
That could assist to narrow down the investigation path.

It is not consistent, but appears to be more machine related. For example a user this morning double clicked the icon on her desktop and got the null error. Then she right clicked and it worked.

this is the error detail

Would you mind clicking in the box and copying the text?

We can’t see all of it.

Application Error Exception caught in: Epicor.ServiceModel Error Detail

Correlation ID: 6d3537d9-a5d3-4295-a750-f4c4a40a4ed8
Message: Value cannot be null.
Parameter name: Value cannot be null.
Parameter name: input
Program: Epicor.ServiceModel.dll
Method: ShouldRethrowNonRetryableException Client Stack Trace

at Epicor.ServiceModel.Channels.ImplBase`1.ShouldRethrowNonRetryableException(Exception ex, DataSet[] dataSets)
at Ice.Proxy.BO.SysConfigImpl.PassSessionValues(String url, String company)
at Ice.Lib.Startup.PassSessionValues(Session session)
at Ice.Lib.Startup.PreStart(Session session, Boolean initializeLanguage)
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.ImageButton_ClickOrTap(Object sender, InputEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.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.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.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.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
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.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at Ice.Lib.UI.ApplicationWatcher.StartApplication(ApplicationContext context)
at Ice.Lib.UI.App.IceShellLaunch.<>c__DisplayClass7_0.b__1()
at Ice.Lib.UI.App.IceShellLaunch.ShowMenuForm()
at Ice.Lib.UI.App.LaunchBase.ShowDialog(String[] args)

For some reason, your client is not getting the command line arguments passed to it.

I’d recreate the shortcut, and/or look into the mouse and client machine.

So I think you are on to something Kevin. We have found some inconsistencies in the command line being passed. We are trying to hunt down the source of that.
Anyone know what the /skip flag means? Many users getting the Null error have this /skip
C:\Epicor\ERP10.2.7Client\Epicor.exe /skip “/Config=XXX_EPICOR_700.sysconfig”

1 Like

I have also seen some stuff caused by personalizations so you might want to do a personalization purge for that user*

/skip says, “Don’t look for client updates”

1 Like

thanks. with /skip we were gettiing null error message.
Changed it to /skipcheck and no more null message.

Sorry editing this because it still is not consistently working with /skipcheck


Okay still do not have a solution. Testing on my machine with netstat -a open and firewall logging turned on and I see no blocks that would make sense. Like someone mentioned earlier, this is probably not firewall related.
One thing we did not do this week which we should have is to reboot the appserver just to see if that would fix the situation. The server will be restarted this weekend and maybe that will fix the situation.
Anything that I could look for in the logs on the app server that would tell me anything else?
I do see a lot of errors in the Epicor App Server logs (Windows Event Viewer) but unfortunately not enough detail to tie any of the errors to specific users so I could correlate.

Try copying your sysconfig file over to one of the non working machines.
Make sure it’s the same name, in the shortcut too.

Have tried that.
The frustrating thing is that no changes to anyone’s config files for over a year.
And extra frustrating is if you click on the shortcut, it seems to work 2 out of every 5 times. It makes me think that something in the app pool or IIS is messed up. We cannot seem to find any correlation on the client side.
Is it possible that the app server just needs a restart? Like I mentioned earlier, we had this exact same problem about 6-8 months ago and it magically went away without us understanding why.

Have you done this?

I’d be willing to bet a $1 Personalization Purge fixes it.

Yes, this was tried. It was truly happening on almost every machine it seemed. I believe some users were not reporting but instead, close the error and trying it again, because it would work 2 out of every 5 times or so while we were testing.

So last night app server restarted per weekly schedule and it seems to have cured the issue. Something was not right in the web services. Again this same thing happened about 6 months ago and now we know, that the web server restart seems to clear the issue. Hopefully we can find out why it’s happening on server (not really my area but will take suggestions).

1 Like

Hi everyone, still trying to hunt this down because like I said it has happened twice and want to find the root cause.
So on the app server, in the Epicor App Server Logs, I saw many instances of this error below while we were having the issue. But this error has not happened once since the server restarted in the early hours 8 days ago. No users have received the Null Message when opening the client since that reboot. Does anyone see anything in the error below that could possible cause an Epicor client an issue in connecting to the app server (again the error below is from the app server).
Ice.Common.EpicorServerException: Value cannot be null.
Parameter name: input —> System.ArgumentNullException: Value cannot be null.
Parameter name: input
at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit)
at Epicor.Licensing.CloudLicensingUtilities.UpdateInstanceDetails(String url, String companyId) in C:_releases\ICE\ICE3.2.700.26\Source\Framework\Epicor.System\Licensing\CloudLicensingUtilities.cs:line 307
at Ice.Services.BO.SysConfigSvc.PassSessionValues(String url, String company) in C:_Releases\ICE\ICE3.2.700.0\Source\Server\Services\BO\SysConfig\SysConfig.cs:line 92
at Ice.Services.BO.SysConfigSvcFacade.PassSessionValues(String url, String company) in C:_Releases\ICE\ICE3.2.700.0\Source\Server\Services\BO\SysConfig\SysConfigSvcFacade.cs:line 129
at SyncInvokePassSessionValues(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at Epicor.Hosting.OperationBoundInvoker.InnerInvoke(Object instance, Func2 func) in C:\_releases\ICE\ICE3.2.700.26\Source\Framework\Epicor.System\Hosting\OperationBoundInvoker.cs:line 59 at Epicor.Hosting.OperationBoundInvoker.Invoke(Object instance, Func2 func) in C:_releases\ICE\ICE3.2.700.26\Source\Framework\Epicor.System\Hosting\OperationBoundInvoker.cs:line 28
— End of inner exception stack trace —