This is more of wildfly-dev mailing list question.

but in short, yes what you describe is possible.
And should be fixed or at least better handled in WildFly 9+ that has graceful shutdown in place.
As long as you use new version of :shutdown operation that uses timeout.

--
tomaz

On Thu, Sep 10, 2015 at 12:54 PM, Kákonyi István <kakonyi.istvan@alerant.hu> wrote:

Hi Team!

 

I would like to ask your help about a strange behaviour/issue which occurs when stopping a wildfly 8.2.0 server instance:

When stopping a Wildfly 8.2.0 server instance, the following line appeared in the log:

2015-09-04 11:07:39,810 ERROR [org.jboss.remotingjmx.protocol.v2.ServerCommon] org.jboss.remoting3.NotOpenException: Writes closed

Also there is an IllegalStateException right before that ERROR line:

2015-09-04 11:07:39,806 WARN [org.jboss.remotingjmx.protocol.v2.ServerCommon] Unexpected internal error: java.lang.IllegalStateException
at org.jboss.as.patching.installation.InstallationManagerService.getValue(InstallationManagerService.java:87) [wildfly-patching-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.as.patching.installation.InstallationManagerService.getValue(InstallationManagerService.java:28) [wildfly-patching-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.msc.service.ServiceControllerImpl.getValue(ServiceControllerImpl.java:1158) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at org.jboss.as.patching.management.PatchResource$ElementProviderResourceProvider.children(PatchResource.java:139) [wildfly-patching-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.as.patching.management.PatchResource$ElementProviderResourceProvider.hasChildren(PatchResource.java:134) [wildfly-patching-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.as.controller.registry.AbstractModelResource.hasChildren(AbstractModelResource.java:81) [wildfly-controller-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.as.controller.registry.AbstractModelResource$DelegateResource.hasChildren(AbstractModelResource.java:279) [wildfly-controller-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:57) [wildfly-jmx-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:61) [wildfly-jmx-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.as.jmx.model.RootResourceIterator.iterate(RootResourceIterator.java:43) [wildfly-jmx-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.as.jmx.model.ModelControllerMBeanHelper.getMBeanCount(ModelControllerMBeanHelper.java:105) [wildfly-jmx-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.as.jmx.model.ModelControllerMBeanServerPlugin.getMBeanCount(ModelControllerMBeanServerPlugin.java:157) [wildfly-jmx-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.as.jmx.PluggableMBeanServerImpl.getMBeanCount(PluggableMBeanServerImpl.java:554) [wildfly-jmx-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.as.jmx.BlockingNotificationMBeanServer.getMBeanCount(BlockingNotificationMBeanServer.java:143) [wildfly-jmx-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.remotingjmx.protocol.v2.ServerProxy$GetMBeanCountHandler.handle(ServerProxy.java:655)
at org.jboss.remotingjmx.protocol.v2.ServerCommon$MessageReciever$1$1.run(ServerCommon.java:153)
at org.jboss.as.jmx.ServerInterceptorFactory$Interceptor$1.run(ServerInterceptorFactory.java:75) [wildfly-jmx-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.as.jmx.ServerInterceptorFactory$Interceptor$1.run(ServerInterceptorFactory.java:70) [wildfly-jmx-8.2.0.Final.jar:8.2.0.Final]
at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0_60]
at javax.security.auth.Subject.doAs(Subject.java:422) [rt.jar:1.8.0_60]
at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:94) [wildfly-controller-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.as.jmx.ServerInterceptorFactory$Interceptor.handleEvent(ServerInterceptorFactory.java:70) [wildfly-jmx-8.2.0.Final.jar:8.2.0.Final]
at org.jboss.remotingjmx.protocol.v2.ServerCommon$MessageReciever$1.run(ServerCommon.java:149)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_60]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_60]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_60]

It seems as if the server was in the process of shutting down its services when a JMX connection was requested. We were able to confirm this by initiating a JMX connection, then almost at the same time we initiated a graceful stop on the server as well, and the aforementioned ERROR appeared in the log.

Is it possible that during the shutdown phase jmx connections are still allowed by the server which finally causes IllegalStateException?

Regards,

Istvan

 


_______________________________________________
undertow-dev mailing list
undertow-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/undertow-dev