1
votes

I have an instance of Mirth that will not start every time I install a plugin. Once I install a plugin, the only way that I can get the Mirth Connect service to start again is to manually remove the plugin from the folder. There is nothing that is going into the logs, so I don't really have much to go on as to why this is happening. I have another instance of Mirth that is on identical hardware, version etc. and it takes plugins just fine. Any ideas of what I can try?

Edit Based on Comment Suggestions from Freiheit:

Mirth Connect version is 3.8.1 The plugin is the Cluster Administrator

I believe that Freiheit is correct that this is an issue with my licensing. When I enter my license key and click on the "save" button, I get the following error:

Method failed: HTTP/1.1 500 Internal Server Error com.mirth.connect.client.core.ClientException: Method failed: HTTP/1.1 500 Internal Server Error at com.mirth.connect.client.core.ServerConnection.handleResponse(ServerConnection.java:529) at com.mirth.connect.client.core.ServerConnection.executeSync(ServerConnection.java:256) at com.mirth.connect.client.core.ServerConnection.apply(ServerConnection.java:166) at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:255) at org.glassfish.jersey.client.JerseyInvocation$3.call(JerseyInvocation.java:722) at org.glassfish.jersey.internal.Errors.process(Errors.java:315) at org.glassfish.jersey.internal.Errors.process(Errors.java:297) at org.glassfish.jersey.internal.Errors.process(Errors.java:228) at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:444) at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:718) at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:459) at org.glassfish.jersey.client.proxy.WebResourceFactory.invoke(WebResourceFactory.java:379) at com.sun.proxy.$Proxy63.updateLicenseType(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.mirth.connect.client.core.Client$2.invoke(Client.java:266) at com.sun.proxy.$Proxy63.updateLicenseType(Unknown Source) at com.mirth.connect.plugins.licensemanager.client.b.a(Unknown Source) at com.mirth.connect.plugins.licensemanager.client.b.doInBackground(Unknown Source) at javax.swing.SwingWorker$1.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at javax.swing.SwingWorker.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.io.FileNotFoundException: D:\Program Files\Mirth Connect\conf\mirth.properties (Access is denied) at java.io.FileOutputStream.open0(Native Method) at java.io.FileOutputStream.open(Unknown Source) at java.io.FileOutputStream.(Unknown Source) at java.io.FileOutputStream.(Unknown Source) at com.mirth.connect.plugins.licensemanager.server.LicenseManagerServlet.a(Unknown Source) at com.mirth.connect.plugins.licensemanager.server.LicenseManagerServlet.updateLicenseType(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.mirth.connect.server.api.providers.MirthResourceInvocationHandlerProvider$1.invoke(MirthResourceInvocationHandlerProvider.java:219) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161) at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$VoidOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:143) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99) at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389) at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347) at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102) at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) at org.glassfish.jersey.internal.Errors.process(Errors.java:315) at org.glassfish.jersey.internal.Errors.process(Errors.java:297) at org.glassfish.jersey.internal.Errors.process(Errors.java:267) at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:471) at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:425) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:383) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:336) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:223) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:864) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655) at com.mirth.connect.server.MethodFilter.doFilter(MethodFilter.java:37) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) at com.mirth.connect.server.api.providers.ClickjackingFilter.doFilter(ClickjackingFilter.java:44) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) at com.mirth.connect.server.api.providers.ApiOriginFilter.doFilter(ApiOriginFilter.java:71) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:61) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.Server.handle(Server.java:531) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102) at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:291) at org.eclipse.jetty.io.ssl.SslConnection$3.succeeded(SslConnection.java:151) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102) at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:754) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:672) at java.lang.Thread.run(Unknown Source)

1
What plugin are you trying to install? Is it a supported plugin or third-party? What folder are you installing it to?MikeyW
Are you licensed to run the plugin on more than one server? Not a single line is written to the logs when you attempt to start the server and it fails?agermano
This particular plugin is the cluster administrator, which is a licensed plugin. It's worth noting that I am licensed for multiple instances, but I am also having an issue getting the license to take on the instance in question, but on the working instance, the license didnt stay until I installed the plugin. Mirth support told me that this is normal, but they havent been much help to me on this.Gavin Perkins
This really sounds like the phone-home licensing mechanism from the paid plugins. First please EDIT your question to include the version of MC you're using and the extension that is giving you trouble.Freiheit
Finally - If nothing goes to the logs, launch MC in server mode instead of service mode. Use the mcserver executable. It runs in the console and will sometimes log startup issues better because it can write to stdout if there is an issue that happens outside of a logger statement or before the logger starts.Freiheit

1 Answers

1
votes

So @Freiheit was correct in the comment that this had to do with the licensing mechanism. I was licensed to run on 4 machines, but I had attempted to license one of the machines several times "unsuccessfully".....however, on the nextgen side, the licensing had been successful.

What I ultimately ended up with was this:

License 1: Server A 
License 2: Server B 
License 3: Server B 
License 4: Server B

So even though I had only activated 2 of my 4 licensed machines, I was showing as having used all 4 of my licenses up. Whats worse, is that having duplicate servers listed was the cause of the http 500 error. The fix ended up being that nextgen had to remove all of my licenses, and I had to go back and redo it one server at a time.