Last Sunday, I upgraded MobiControl from 14.0 to 14.0.2 and it's been a nightmare since. I had no issues with 14.0, but the upgrade to 14.0.2 has been regretful. Apart from dealing with SSL certificate issues, the biggest problem is MobiControl services continuously stopping for no reason.
Right now, the Management Service continuously crashes every 5 to 15 minutes or so. Event Viewer shows the following:
Faulting application name: Soti.MobiControl.ManagementService.Host.exe, version: 184.108.40.2064, time stamp: 0x5a20b632 Faulting module name: clr.dll, version: 4.7.2558.0, time stamp: 0x59d414b7 Exception code: 0xc00000fd Fault offset: 0x000000000001358b Faulting process id: 0x1190 Faulting application start time: 0x01d3938af831b940 Faulting application path: C:\Program Files\SOTI\MobiControl\Soti.MobiControl.ManagementService.Host.exe Faulting module path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll Report Id: 51619607-ff7f-11e7-80ce-005056acfd5b Faulting package full name: Faulting package-relative application ID:
MobiControl's Management Service log mentions the following failures:
* Exception: A task was canceled. * [InternalLogicException: Failed to send HTTP request to proxy target] at Soti.MobiControl.Ngui.WebConsole.Handlers.ConsoleApiProxyHandler.d__4.MoveNext()* Exception: Cannot access a disposed object. Object name: 'System.Net.HttpListenerRequest'. * [ObjectDisposedException: Cannot access a disposed object. Object name: 'System.Net.HttpListenerRequest'.]
Here's a new one I haven't seen before (yet more certificate errors):
Exception: The message could not be processed. This is most likely because the action 'http://tempuri.org/ICacheProxyService/GetByKeys' is incorrect or because the message contains an invalid or expired security context token or because there is a mismatch between bindings. The security context token would be invalid if the service aborted the channel due to inactivity. To prevent the service from aborting idle sessions prematurely increase the Receive timeout on the service endpoint's binding. *
I noticed this occurs when a technician loads the WebConsole on their first login/session (and then subsequently receives an HTTP 404 error). We then have to wait a few minutes for the service to restart, or restart it manually if the application crashed too many times. On average, the service crashes at least ten (10) times in an hour.
I've tried upgrading the .NET Framework runtimes to 4.7.1 to no avail. I also upgraded Java to the latest 1.8u161 and saw no improvement. Searching the web for this type of error yields many results, including one about a Microsoft-supplied hotfix and another about switching .NET JIT compilation modes.
Virtual machine specifications:
- Windows Server 2012 R2 Standard
- Microsoft SQL Server 2014 SP2 Express
- 2 vCPU cores with 8GB of memory
- 2-tier Enterprise PKI for certificates, trusted by all computers
One thing I'd like to mention is that MobiControl's WebConsole is served via a NGINX reverse proxy with its own public SSL Certificate from Let's Encrypt (separate machine) while port 5494/5495 is NAT'ed directly to the MobiControl server. This setup worked flawlessly on 14.0.
The only certificate I have overridden in MobiControl is the "Deployment Server Extensions and Web Console" while the insecure RSA1 1024-bit original MobiControl Root CA and related certificates still handle everything else. I'm more than eager to change them to our PKI certificates, however I'd like to sort out the current issues at hand first.
Anyone else experiencing issues with the latest update or can provide some insight into the matter?