Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Brooklyn rebind fails with Alien4CloudToscaPlatform IllegalStateException: Shutdown in progress #97

Open
aledsage opened this issue Feb 25, 2016 · 4 comments
Labels

Comments

@aledsage
Copy link
Member

A customer was running Brooklyn with tosca enabled. They had previously killed Brooklyn (possibly with kill -9), and then restarted the process. From the log, it looks like there was only ever one instance running at a time.

When restarting, they hit the exception shown below. The workaround was to disable tosca feature in brooklyn.properties.

2016-02-23 11:24:09,436 INFO  a.plugin.PluginManager [brooklyn-execmanager-VAT82AXA-0]: Initializing plugins
2016-02-23 11:24:09,441 INFO  a.plugin.PluginManager [brooklyn-execmanager-VAT82AXA-0]: Plugins initialized, looking for new plugins to load.
2016-02-23 11:24:09,452 WARN  i.c.t.a.p.Alien4CloudSpringContext [brooklyn-execmanager-VAT82AXA-0]: Errors loading Alien4Cloud platform (rethrowing): java.lang.IllegalStateException: Shutdown in progress
java.lang.IllegalStateException: Shutdown in progress
        at java.lang.ApplicationShutdownHooks.add(ApplicationShutdownHooks.java:66) ~[na:1.7.0_95]
        at java.lang.Runtime.addShutdownHook(Runtime.java:211) ~[na:1.7.0_95]
        at org.springframework.context.support.AbstractApplicationContext.registerShutdownHook(AbstractApplicationContext.java:807) ~[spring-context-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at io.cloudsoft.tosca.a4c.platform.Alien4CloudSpringContext.newApplicationContext(Alien4CloudSpringContext.java:47) ~[brooklyn-tosca-transformer-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at io.cloudsoft.tosca.a4c.brooklyn.ToscaPlanToSpecTransformer.initialiseAlien(ToscaPlanToSpecTransformer.java:103) [brooklyn-tosca-transformer-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at io.cloudsoft.tosca.a4c.brooklyn.ToscaPlanToSpecTransformer.setManagementContext(ToscaPlanToSpecTransformer.java:93) [brooklyn-tosca-transformer-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.plan.PlanToSpecFactory.all(PlanToSpecFactory.java:98) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.plan.PlanToSpecFactory.attemptWithLoaders(PlanToSpecFactory.java:117) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog.internalCreateSpecLegacy(BasicBrooklynCatalog.java:322) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog$PlanInterpreterGuessingType.attemptType(BasicBrooklynCatalog.java:769) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog$PlanInterpreterGuessingType.reconstruct(BasicBrooklynCatalog.java:694) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog.collectCatalogItems(BasicBrooklynCatalog.java:490) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog.collectCatalogItems(BasicBrooklynCatalog.java:463) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog.collectCatalogItems(BasicBrooklynCatalog.java:373) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog.addItems(BasicBrooklynCatalog.java:890) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog.addItems(BasicBrooklynCatalog.java:878) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.CatalogInitialization.populateInitialFromUri(CatalogInitialization.java:313) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.CatalogInitialization.populateInitial(CatalogInitialization.java:287) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.CatalogInitialization.populateCatalogImpl(CatalogInitialization.java:231) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.CatalogInitialization.populateCatalog(CatalogInitialization.java:198) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.mgmt.rebind.RebindIteration.rebuildCatalog(RebindIteration.java:422) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.mgmt.rebind.RebindIteration.doRun(RebindIteration.java:238) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.mgmt.rebind.InitialFullRebindIteration.doRun(InitialFullRebindIteration.java:69) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.mgmt.rebind.RebindIteration.run(RebindIteration.java:265) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl.rebindImpl(RebindManagerImpl.java:552) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl$3.call(RebindManagerImpl.java:502) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl$3.call(RebindManagerImpl.java:500) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:499) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_95]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_95]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_95]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_95]
2016-02-23 11:24:09,454 INFO  i.c.t.a.p.Alien4CloudSpringContext [brooklyn-execmanager-VAT82AXA-0]: Loading Alien4Cloud platform...
2016-02-23 11:24:09,458 INFO  o.s.c.a.AnnotationConfigApplicationContext [brooklyn-execmanager-VAT82AXA-0]: Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@21916d33: startup date [Tue Feb 23 11:24:09 UTC 2016]; root of context hierarchy
2016-02-23 11:24:10,111 INFO  o.s.b.f.x.XmlBeanDefinitionReader [brooklyn-execmanager-VAT82AXA-0]: Loading XML bean definitions from class path resource [base-context.xml]
2016-02-23 11:24:10,255 INFO  o.s.b.f.a.AutowiredAnnotationBeanPostProcessor [brooklyn-execmanager-VAT82AXA-0]: JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
2016-02-23 11:24:10,275 INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker [brooklyn-execmanager-VAT82AXA-0]: Bean 'org.springframework.scheduling.annotation.ProxyAsyncConfiguration' of type [class org.springframework.scheduling.annotation.ProxyAsyncConfiguration$$
EnhancerBySpringCGLIB$$d2cacb01] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2016-02-23 11:24:10,277 INFO  o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker [brooklyn-execmanager-VAT82AXA-0]: Bean 'org.springframework.scheduling.annotation.SchedulingConfiguration' of type [class org.springframework.scheduling.annotation.SchedulingConfiguration$$
EnhancerBySpringCGLIB$$2bfbd5db] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2016-02-23 11:24:10,313 WARN  o.s.c.a.AnnotationConfigApplicationContext [brooklyn-execmanager-VAT82AXA-0]: Exception encountered during context initialization - cancelling refresh attempt
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'alien4CloudToscaPlatform' defined in URL [jar:file:/home/users/training/brooklyn-managed-processes/apps/FkMUe68Z/entities/BrooklynNode_WLUU6hfR/lib/amp/brooklyn-tosca-transformer-0.9.0-20160125.1743-p1.jar!/io/cloudsoft/tosca/a4c/platform/Alien4CloudToscaPlatform.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.cloudsoft.tosca.a4c.platform.Alien4CloudToscaPlatform]: Constructor threw exception; nested exception is java.lang.IllegalStateException: Shutdown in progress
        at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:275) ~[spring-beans-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1131) ~[spring-beans-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1034) ~[spring-beans-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504) ~[spring-beans-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) ~[spring-beans-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) ~[spring-beans-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) ~[spring-beans-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) ~[spring-beans-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:762) ~[spring-beans-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757) ~[spring-context-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480) ~[spring-context-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at io.cloudsoft.tosca.a4c.platform.Alien4CloudSpringContext.newApplicationContext(Alien4CloudSpringContext.java:46) [brooklyn-tosca-transformer-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at io.cloudsoft.tosca.a4c.brooklyn.ToscaPlanToSpecTransformer.initialiseAlien(ToscaPlanToSpecTransformer.java:103) [brooklyn-tosca-transformer-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at io.cloudsoft.tosca.a4c.brooklyn.ToscaPlanToSpecTransformer.setManagementContext(ToscaPlanToSpecTransformer.java:93) [brooklyn-tosca-transformer-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.plan.PlanToSpecFactory.all(PlanToSpecFactory.java:98) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.plan.PlanToSpecFactory.attemptWithLoaders(PlanToSpecFactory.java:117) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog.internalCreateSpecLegacy(BasicBrooklynCatalog.java:322) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog$PlanInterpreterGuessingType.attemptType(BasicBrooklynCatalog.java:769) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog$PlanInterpreterGuessingType.reconstruct(BasicBrooklynCatalog.java:696) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog.collectCatalogItems(BasicBrooklynCatalog.java:490) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog.collectCatalogItems(BasicBrooklynCatalog.java:463) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog.collectCatalogItems(BasicBrooklynCatalog.java:373) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog.addItems(BasicBrooklynCatalog.java:890) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog.addItems(BasicBrooklynCatalog.java:878) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.CatalogInitialization.populateInitialFromUri(CatalogInitialization.java:313) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.CatalogInitialization.populateInitial(CatalogInitialization.java:287) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.CatalogInitialization.populateCatalogImpl(CatalogInitialization.java:231) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.CatalogInitialization.populateCatalog(CatalogInitialization.java:198) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.mgmt.rebind.RebindIteration.rebuildCatalog(RebindIteration.java:422) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.mgmt.rebind.RebindIteration.doRun(RebindIteration.java:238) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.mgmt.rebind.InitialFullRebindIteration.doRun(InitialFullRebindIteration.java:69) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.mgmt.rebind.RebindIteration.run(RebindIteration.java:265) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl.rebindImpl(RebindManagerImpl.java:552) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl$3.call(RebindManagerImpl.java:502) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl$3.call(RebindManagerImpl.java:500) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:499) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_95]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_95]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_95]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_95]
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.cloudsoft.tosca.a4c.platform.Alien4CloudToscaPlatform]: Constructor threw exception; nested exception is java.lang.IllegalStateException: Shutdown in progress
        at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163) ~[spring-beans-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:122) ~[spring-beans-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:267) ~[spring-beans-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        ... 40 common frames omitted
Caused by: java.lang.IllegalStateException: Shutdown in progress
        at java.lang.ApplicationShutdownHooks.add(ApplicationShutdownHooks.java:66) ~[na:1.7.0_95]
        at java.lang.Runtime.addShutdownHook(Runtime.java:211) ~[na:1.7.0_95]
        at org.apache.brooklyn.util.os.Os.addShutdownFileDeletionHook(Os.java:323) ~[brooklyn-utils-common-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.util.os.Os.deleteOnExitRecursively(Os.java:361) ~[brooklyn-utils-common-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.util.os.Os.newTempDir(Os.java:563) ~[brooklyn-utils-common-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at io.cloudsoft.tosca.a4c.platform.Alien4CloudToscaPlatform.<init>(Alien4CloudToscaPlatform.java:68) ~[brooklyn-tosca-transformer-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.7.0_95]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[na:1.7.0_95]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.7.0_95]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[na:1.7.0_95]
        at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147) ~[spring-beans-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        ... 42 common frames omitted

Much earlier in the log (almost a day earlier, but without the process having been restarted), there were exceptions like that below. Searching for where the process was started, it was at 2016-02-19 11:47:51,604 and 2016-02-23 11:22:28,243.

2016-02-22 13:13:06,414 ERROR o.s.b.a.e.j.EndpointMBeanExporter [brooklyn-jetty-server-8081-qtp1607290717-3984]: Could not register MBean for endpoint [requestMappingEndpoint]
org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean [org.springframework.boot.actuate.endpoint.jmx.DataEndpointMBean@186cb33d] with key 'requestMappingEndpoint'; nested exception is javax.management.InstanceAlreadyExistsException: org.springframework.boot:type=Endpoint,name=requestMappingEndpoint
        at org.springframework.jmx.export.MBeanExporter.registerBeanNameOrInstance(MBeanExporter.java:614) ~[spring-context-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at org.springframework.boot.actuate.endpoint.jmx.EndpointMBeanExporter.registerEndpoint(EndpointMBeanExporter.java:162) [spring-boot-actuator-1.2.1.RELEASE.jar:1.2.1.RELEASE]
        at org.springframework.boot.actuate.endpoint.jmx.EndpointMBeanExporter.locateAndRegisterEndpoints(EndpointMBeanExporter.java:142) [spring-boot-actuator-1.2.1.RELEASE.jar:1.2.1.RELEASE]
        at org.springframework.boot.actuate.endpoint.jmx.EndpointMBeanExporter.doStart(EndpointMBeanExporter.java:134) [spring-boot-actuator-1.2.1.RELEASE.jar:1.2.1.RELEASE]
        at org.springframework.boot.actuate.endpoint.jmx.EndpointMBeanExporter.start(EndpointMBeanExporter.java:257) [spring-boot-actuator-1.2.1.RELEASE.jar:1.2.1.RELEASE]
        at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:173) [spring-context-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:51) [spring-context-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:346) [spring-context-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:149) [spring-context-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:112) [spring-context-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:770) [spring-context-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:483) [spring-context-4.1.4.RELEASE.jar:4.1.4.RELEASE]
        at io.cloudsoft.tosca.a4c.platform.Alien4CloudSpringContext.newApplicationContext(Alien4CloudSpringContext.java:46) [brooklyn-tosca-transformer-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at io.cloudsoft.tosca.a4c.brooklyn.ToscaPlanToSpecTransformer.initialiseAlien(ToscaPlanToSpecTransformer.java:103) [brooklyn-tosca-transformer-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at io.cloudsoft.tosca.a4c.brooklyn.ToscaPlanToSpecTransformer.setManagementContext(ToscaPlanToSpecTransformer.java:93) [brooklyn-tosca-transformer-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.plan.PlanToSpecFactory.all(PlanToSpecFactory.java:98) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.plan.PlanToSpecFactory.attemptWithLoaders(PlanToSpecFactory.java:117) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog.internalCreateSpecLegacy(BasicBrooklynCatalog.java:322) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog.createSpec(BasicBrooklynCatalog.java:304) [brooklyn-core-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.rest.transform.CatalogTransformer.catalogEntitySummary(CatalogTransformer.java:73) [brooklyn-rest-server-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.rest.transform.CatalogTransformer.catalogItemSummary(CatalogTransformer.java:110) [brooklyn-rest-server-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.rest.resources.CatalogResource$1.apply(CatalogResource.java:93) [brooklyn-rest-server-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.rest.resources.CatalogResource$1.apply(CatalogResource.java:90) [brooklyn-rest-server-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at com.google.common.collect.Lists$TransformingRandomAccessList$1.transform(Lists.java:582) [guava-17.0.jar:na]
        at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) [guava-17.0.jar:na]
        at org.apache.brooklyn.rest.resources.CatalogResource.castList(CatalogResource.java:507) [brooklyn-rest-server-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.apache.brooklyn.rest.resources.CatalogResource.listEntities(CatalogResource.java:238) [brooklyn-rest-server-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at sun.reflect.GeneratedMethodAccessor250.invoke(Unknown Source) ~[na:na]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_95]
        at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_95]
        at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) [jersey-server-1.19.jar:1.19]
        at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185) [jersey-server-1.19.jar:1.19]
        at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) [jersey-server-1.19.jar:1.19]
        at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) [jersey-server-1.19.jar:1.19]
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) [jersey-server-1.19.jar:1.19]
        at com.sun.jersey.server.impl.uri.rules.ResourceObjectRule.accept(ResourceObjectRule.java:100) [jersey-server-1.19.jar:1.19]
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) [jersey-server-1.19.jar:1.19]
        at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) [jersey-server-1.19.jar:1.19]
        at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542) [jersey-server-1.19.jar:1.19]
        at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473) [jersey-server-1.19.jar:1.19]
        at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) [jersey-server-1.19.jar:1.19]
        at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409) [jersey-server-1.19.jar:1.19]
        at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409) [jersey-servlet-1.19.jar:1.19]
        at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558) [jersey-servlet-1.19.jar:1.19]
        at com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:927) [jersey-servlet-1.19.jar:1.19]
        at com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:875) [jersey-servlet-1.19.jar:1.19]
        at com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:829) [jersey-servlet-1.19.jar:1.19]
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.apache.brooklyn.rest.filter.SwaggerFilter.doFilter(SwaggerFilter.java:69) [brooklyn-rest-server-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.apache.brooklyn.rest.filter.HaMasterCheckFilter.doFilter(HaMasterCheckFilter.java:101) [brooklyn-rest-server-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.apache.brooklyn.rest.filter.LoggingFilter.doFilter(LoggingFilter.java:89) [brooklyn-rest-server-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.apache.brooklyn.rest.filter.BrooklynPropertiesSecurityFilter.doFilter(BrooklynPropertiesSecurityFilter.java:122) [brooklyn-rest-server-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.apache.brooklyn.rest.filter.RequestTaggingFilter.doFilter(RequestTaggingFilter.java:49) [brooklyn-rest-server-0.9.0-20160125.1743-p1.jar:0.9.0-20160125.1743-p1]
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) [jetty-servlet-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [jetty-server-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) [jetty-security-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) [jetty-server-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) [jetty-server-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) [jetty-servlet-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [jetty-server-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) [jetty-server-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) [jetty-server-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) [jetty-server-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.eclipse.jetty.server.Server.handle(Server.java:499) [jetty-server-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) [jetty-server-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) [jetty-server-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) [jetty-io-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) [jetty-util-9.2.13.v20150730.jar:9.2.13.v20150730]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) [jetty-util-9.2.13.v20150730.jar:9.2.13.v20150730]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_95]

I can share the whole log with you directly offline, but can't post it here publicly.

@aledsage aledsage added the bug label Feb 25, 2016
@aledsage
Copy link
Member Author

@sjcorbett @nakomis @robertgmoss @Graeme-Miller any ideas?

@sjcorbett
Copy link
Contributor

What a strange one. Could you share the rest of the log?

@sjcorbett
Copy link
Contributor

According to java.lang.ApplicationShutdownHooks.add(Thread) a shutdown is in progress if hooks is null:

    static synchronized void add(Thread hook) {
        if(hooks == null)
            throw new IllegalStateException("Shutdown in progress");

        if (hook.isAlive())
            throw new IllegalArgumentException("Hook already running");

        if (hooks.containsKey(hook))
            throw new IllegalArgumentException("Hook previously registered");

        hooks.put(hook, hook);
    }

Hooks is null if ApplicationShutdownHooks.runHooks has run or if the block below catches (and discards) an exception:

    static {
        try {
            Shutdown.add(1 /* shutdown hook invocation order */,
                false /* not registered if shutdown in progress */,
                new Runnable() {
                    public void run() {
                        runHooks();
                    }
                }
            );
            hooks = new IdentityHashMap<>();
        } catch (IllegalStateException e) {
            // application shutdown hooks cannot be added if
            // shutdown is in progress.
            hooks = null;
        }
    }

This block is also what calls runHooks.

Can you also share more details about the underlying platform? I'd like to know the arguments Brooklyn was launched with, operating system, etc.

@sjcorbett
Copy link
Contributor

Are we sure the JVM wasn't shut down before the hook could be added?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants