-
Bug
-
Resolution: Done
-
Blocker
-
None
-
None
-
None
-
Sprint 9.4.0.Final
Sometime the server throws NPE when starting due to missing components in the internal component registry. One of the exceptions is:
2018-09-27 14:14:43,163 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service jboss.datagrid-infinispan-endpoint.hotrod.hotrod-connector: org.jboss.msc.service.StartException in service jboss.datagrid-infinispan-endpoint.hotrod.hotrod-connector: DGENDPT10004: Failed to start HotRodServer at org.infinispan.server.endpoint.subsystem.ProtocolServerService.start(ProtocolServerService.java:160) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1736) at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1698) at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1556) at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NullPointerException at org.infinispan.counter.EmbeddedCounterManagerFactory.asCounterManager(EmbeddedCounterManagerFactory.java:28) at org.infinispan.server.hotrod.HotRodServer.startInternal(HotRodServer.java:236) at org.infinispan.server.hotrod.HotRodServer.startInternal(HotRodServer.java:108) at org.infinispan.server.core.AbstractProtocolServer.start(AbstractProtocolServer.java:79) at org.infinispan.server.endpoint.subsystem.SecurityActions$6.run(SecurityActions.java:136) at org.infinispan.server.endpoint.subsystem.SecurityActions$6.run(SecurityActions.java:133) at org.infinispan.security.Security.doPrivileged(Security.java:44) at org.infinispan.server.endpoint.subsystem.SecurityActions.doPrivileged(SecurityActions.java:42) at org.infinispan.server.endpoint.subsystem.SecurityActions.startProtocolServer(SecurityActions.java:140) at org.infinispan.server.endpoint.subsystem.ProtocolServerService.startProtocolServer(ProtocolServerService.java:194) at org.infinispan.server.endpoint.subsystem.ProtocolServerService.start(ProtocolServerService.java:152) ... 8 more
This was due to the fact that the ModuleLifecycle from the several modules in the server are sometimes simply ignored.
The cause is a WeakReference<ClassLoader> present in org.infinispan.configuration.global.GlobalConfiguration that sometimes is null and when the GlobalConfigurationRegistry is started, the Classloader used will default to Thread.currentThread().getContextClassLoader() that cannot detect the Lifecycle implementations
- is caused by
-
ISPN-9561 GlobalConfiguration should keep strong reference to classloader
- Closed