Fixing a Version Mismatch Exception error in the Event Viewer

I was poking around the event viewer on our main app server, and noticed that there are a lot of VersionMismatchException errors (every few seconds). How can I trace where it’s coming from? We migrated to new app servers and 2025.2 a few weeks ago, so this should be a clean environment. We’ve got lots of test environments scattered across several servers as well.

Any idea where this could be coming from? Or how to narrow it down?

(Including @mpot since we’re in this together!)

Ice.Common.VersionMismatchException: Version mismatch between client (4.3.200.0) and server (5.1.100.0).
   at Ice.Services.Lib.SessionModSvc.HandshakeBaseVersion(Version clientVersion) in C:\_releases\ICE\ICE5.1.100.0\Source\Server\Services\Lib\SessionMod\SessionMod.cs:line 354
   at Ice.Services.Lib.SessionModSvcFacade.HandshakeBaseVersion(Version clientVersion) in C:\_releases\ICE\ICE5.1.100.0\Source\Server\Services\Lib\SessionMod\SessionModSvcFacade.cs:line 483
   at Microsoft.Extensions.Internal.ObjectMethodExecutor.<>c__DisplayClass33_0.<WrapVoidMethod>b__0(Object target, Object[] parameters)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.VoidResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
CorrelationId: 9e22c7b2-ed79-44e6-b4d3-fab0fc976b9d

Coming from the IT side - we inventory through our endpoint management tool every installed Epicor environment on end-user devices (and servers/VDI infrastructure). So I can look for out of date client installs. Not sure if your IT department has anything like that. During upgrades I refresh that report regularly to look for assets online with old client installs. And then we have deployment packages to update and remove the old clients.

1 Like

Thanks, @chaddb. So next step is to automate crawling through 250 pc’s to see if we have an old install of LIVE calling the new server?

Can the CorrelationID in the event viewer error be used somehow?

That’s how we do it. Others may have other suggestions of what they do. Our endpoint management tool is always scanning and updating details on endpoints. I just include a script in that process to pull back Epicor details.

You could also do some network logging on the server to grab IPs for machines connecting.

look in the server log instead, there maybe client IP that helps. Looks like task agent running somewhere

3 Likes

Yup! Found the offender. When we upgraded, the old task agents were left in place, but stopped. Server restart must have restarted them. I’ve deleted the old task agent on each app server, and removed it via Add/Remove programs (along with 2024.2.8 update, 2024.2, and the C:\Epicor\11 folders).

I like a clean server.

Thanks for the help @chaddb and @Olga!

3 Likes

I wasn’t thinking about Task Agent. Good catch @Olga

1 Like

lol, you have it in the tags for this topic :slight_smile: Forum knows better

2 Likes