You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Dan Haywood (JIRA)" <ji...@apache.org> on 2017/04/19 07:43:42 UTC

[jira] [Updated] (ISIS-1551) Problems with startup under certain circumstances

     [ https://issues.apache.org/jira/browse/ISIS-1551?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dan Haywood updated ISIS-1551:
------------------------------
    Fix Version/s: 1.15.0

> Problems with startup under certain circumstances
> -------------------------------------------------
>
>                 Key: ISIS-1551
>                 URL: https://issues.apache.org/jira/browse/ISIS-1551
>             Project: Isis
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.13.1
>            Reporter: Timothy Simecsek
>             Fix For: 1.15.0
>
>
> This is a follow-up for ISIS-1525 after using 1.13.1 version the error is less frequent than before and I still don't have a reliable way of reproducing it.
> from our log:
> {code}
> 2016-12-02 12:39:02,205 [IsisWicketApplication http-nio-18080-exec-1 ERROR]  Failed to initialize
> com.google.inject.ProvisionException: Unable to provision, see the following errors:
> 1) Error in custom provider, java.util.ConcurrentModificationException
>   at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSessionFactory(IsisInjectModule.java:109)
>   at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSessionFactory(IsisInjectModule.java:109)
>   while locating org.apache.isis.core.runtime.system.session.IsisSessionFactory
>     for field at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.isisSessionFactory(IsisWicketApplication.java:138)
>   while locating domainapp.webapp.A1FulfilllmentApplication
> 1 error
>         at com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:482)
>         at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:67)
>         at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:984)
>         at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:279)
>         at domainapp.webapp.A1FulfilllmentApplication.init(A1FulfilllmentApplication.java:73)
>         at org.apache.wicket.Application.initApplication(Application.java:823)
>         at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:427)
>         at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
>         at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:271)
>         at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
>         at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
>         at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4572)
>         at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5215)
>         at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>         at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:724)
>         at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700)
>         at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
>         at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952)
>         at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:473)
>         at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1617)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
>         at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
>         at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
>         at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1483)
>         at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:731)
>         at org.apache.catalina.manager.ManagerServlet.doPut(ManagerServlet.java:424)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:651)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
>         at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
>         at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:185)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
>         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:589)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
>         at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
>         at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
>         at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
>         at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
>         at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
>         at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>         at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: java.util.ConcurrentModificationException
>         at java.util.HashMap$HashIterator.nextNode(HashMap.java:1437)
>         at java.util.HashMap$ValueIterator.next(HashMap.java:1466)
>         at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1042)
>         at org.apache.isis.core.runtime.system.session.IsisSessionFactory.constructServices(IsisSessionFactory.java:157)
>         at org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder.buildSessionFactory(IsisSessionFactoryBuilder.java:204)
>         at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSessionFactory(IsisInjectModule.java:118)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at com.google.inject.internal.ProviderMethod$ReflectionProviderMethod.doProvision(ProviderMethod.java:299)
>         at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:172)
>         at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
>         at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:53)
>         at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)
>         at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
>         at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
>         at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
>         at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
>         at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
>         at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
>         at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
>         at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
>         at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:93)
>         at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:80)
>         at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
>         at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:80)
>         at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:62)
>         ... 55 more
> 2016-12-02 12:39:02,221 [ThreadPoolSupport    http-nio-18080-exec-1 INFO ]  join'ing 6 tasks: waited 0 milliseconds
> 2016-12-02 12:39:02,221 [WicketFilter         http-nio-18080-exec-1 ERROR]  The initialization of an application with name 'WicketFilter' has failed.
> com.google.inject.ProvisionException: Unable to provision, see the following errors:
> 1) Error in custom provider, java.util.ConcurrentModificationException
>   at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSessionFactory(IsisInjectModule.java:109)
>   at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSessionFactory(IsisInjectModule.java:109)
>   while locating org.apache.isis.core.runtime.system.session.IsisSessionFactory
>     for field at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.isisSessionFactory(IsisWicketApplication.java:138)
>   while locating domainapp.webapp.A1FulfilllmentApplication
> 1 error
>         at com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:482)
>         at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:67)
>         at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:984)
>         at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:279)
>         at domainapp.webapp.A1FulfilllmentApplication.init(A1FulfilllmentApplication.java:73)
>         at org.apache.wicket.Application.initApplication(Application.java:823)
>         at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:427)
>         at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
>         at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:271)
>         at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
>         at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
>         at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4572)
>         at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5215)
>         at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>         at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:724)
>         at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700)
>         at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
>         at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952)
>         at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:473)
>         at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1617)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
>         at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
>         at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
>         at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1483)
>         at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:731)
>         at org.apache.catalina.manager.ManagerServlet.doPut(ManagerServlet.java:424)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:651)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
>         at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
>         at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:185)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
>         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:589)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
>         at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
>         at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
>         at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
>         at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
>         at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
>         at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>         at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: java.util.ConcurrentModificationException
>         at java.util.HashMap$HashIterator.nextNode(HashMap.java:1437)
>         at java.util.HashMap$ValueIterator.next(HashMap.java:1466)
>         at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1042)
>         at org.apache.isis.core.runtime.system.session.IsisSessionFactory.constructServices(IsisSessionFactory.java:157)
>         at org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder.buildSessionFactory(IsisSessionFactoryBuilder.java:204)
>         at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSessionFactory(IsisInjectModule.java:118)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at com.google.inject.internal.ProviderMethod$ReflectionProviderMethod.doProvision(ProviderMethod.java:299)
>         at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:172)
>         at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
>         at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:53)
>         at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)
>         at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
>         at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
>         at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
>         at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
>         at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
>         at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
>         at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
>         at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
>         at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:93)
>         at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:80)
>         at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
>         at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:80)
>         at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:62)
>         ... 55 more
> 2016-12-02 12:39:02,235 [Application          http-nio-18080-exec-1 INFO ]  [WicketFilter] destroy: Wicket core library initializer
> 2016-12-02 12:39:02,235 [Application          http-nio-18080-exec-1 INFO ]  [WicketFilter] destroy: Wicket extensions initializer
> {code}
> This time the problem comes from this line
> {code:java}
> for (final ObjectSpecification objSpec : servicesInjector.getSpecificationLoader().allSpecifications()) {
> {code}
> of IsisSessionFactory.constructServices()
> it is refered in the stack trace:
> {code}
>  at org.apache.isis.core.runtime.system.session.IsisSessionFactory.constructServices(IsisSessionFactory.java:157)
> {code}
> Thanks & Regards Timothy



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)