[ 
https://issues.apache.org/jira/browse/ISIS-1964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16519657#comment-16519657
 ] 

Vladimir Nisevic commented on ISIS-1964:
----------------------------------------

Hi, we are using latest Sun JDK 8 on RedHat Linux with latest Tomcat8. We 
restart tomcat after each redeployment. Meanwhile it happens not no often.

 

Some of our domain services register in their postConstruct  method to an 
callback of an additional thread which takes care that database is really 
available since this domain domain service needs database to read specific app 
settings in order to initialize themselve properly. That was an issue in 
previous Isis versions so we solved on that way. That means that some of our 
domain services spend some time in postConstruct method waiting and then 
continue. But we do not touch Isis bootstrapping at all.

 

Regs

Vladimir

 

> ConcurrentModificationException when stating application
> --------------------------------------------------------
>
>                 Key: ISIS-1964
>                 URL: https://issues.apache.org/jira/browse/ISIS-1964
>             Project: Isis
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.16.2
>            Reporter: Vladimir Nisevic
>            Priority: Major
>             Fix For: 1.16.3
>
>
> Hi Dan, meanwhile we are using 1.16.2 and observe still (more rarely) this 
> exception during startup.
>  
> {code:java}
> 018-06-20 15:10:47.546 [localhost-startStop-1] init ERROR 
> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication - Failed to 
> initialize
> com.google.inject.ProvisionException: Unable to provision, see the following 
> errors:
> 1) Error in custom provider, java.lang.RuntimeException: An error occurred 
> while executing code in a temporary session
> 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:155)
> while locating at.a1ta.cll.webapp.CllWebApplication
> 1 error
> at 
> com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:486)
> at 
> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:67)
> at 
> com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:987)
> at 
> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:368)
> at at.a1ta.cll.webapp.CllWebApplication.init(CllWebApplication.java:32)
> at org.apache.wicket.Application.initApplication(Application.java:953)
> at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:429)
> at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:353)
> at 
> org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:285)
> at 
> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:266)
> at 
> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
> at 
> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4590)
> at 
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5233)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
> at 
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
> at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
> at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
> at 
> org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:629)
> at 
> org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1839)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.RuntimeException: An error occurred while executing code 
> in a temporary session
> at 
> org.apache.isis.core.runtime.system.session.IsisSessionFactory.doInSession(IsisSessionFactory.java:366)
> at 
> org.apache.isis.core.runtime.system.session.IsisSessionFactory.doInSession(IsisSessionFactory.java:330)
> at 
> org.apache.isis.core.runtime.system.session.IsisSessionFactory.doInSession(IsisSessionFactory.java:317)
> at 
> org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder.buildSessionFactory(IsisSessionFactoryBuilder.java:211)
> at 
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSessionFactory(IsisInjectModule.java:118)
> at 
> org.apache.isis.core.runtime.runner.IsisInjectModule$$FastClassByGuice$$a813f90e.invoke(<generated>)
> at 
> com.google.inject.internal.ProviderMethod$FastClassProviderMethod.doProvision(ProviderMethod.java:264)
> at 
> com.google.inject.internal.ProviderMethod$Factory.provision(ProviderMethod.java:401)
> at 
> com.google.inject.internal.ProviderMethod$Factory.get(ProviderMethod.java:376)
> at 
> com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
> at 
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
> at 
> com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
> at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:194)
> 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:1085)
> at 
> com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:80)
> at 
> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:62)
> ... 22 more
> Caused by: java.util.ConcurrentModificationException
> at java.util.HashMap$HashIterator.nextNode(HashMap.java:1442)
> at java.util.HashMap$ValueIterator.next(HashMap.java:1471)
> at java.util.AbstractCollection.toArray(AbstractCollection.java:141)
> at java.util.Collections$UnmodifiableCollection.toArray(Collections.java:1033)
> at java.util.ArrayList.<init>(ArrayList.java:178)
> at com.google.common.collect.Lists.newArrayList(Lists.java:146)
> at 
> org.apache.isis.core.metamodel.specloader.SpecificationLoader.allSpecifications(SpecificationLoader.java:495)
> at 
> org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorVisiting.validateSpecs(MetaModelValidatorVisiting.java:71)
> at 
> org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorVisiting.validateAll(MetaModelValidatorVisiting.java:58)
> at 
> org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorVisiting.validate(MetaModelValidatorVisiting.java:49)
> at 
> org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite.validate(MetaModelValidatorComposite.java:60)
> at 
> org.apache.isis.core.metamodel.specloader.SpecificationLoader.validate(SpecificationLoader.java:272)
> at 
> org.apache.isis.core.metamodel.specloader.SpecificationLoader.validateAndAssert(SpecificationLoader.java:262)
> at 
> org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder$1.run(IsisSessionFactoryBuilder.java:217)
> at 
> org.apache.isis.core.runtime.system.session.IsisSessionFactory$1.call(IsisSessionFactory.java:333)
> at 
> org.apache.isis.core.runtime.system.session.IsisSessionFactory$1.call(IsisSessionFactory.java:330)
> at 
> org.apache.isis.core.runtime.system.session.IsisSessionFactory.doInSession(IsisSessionFactory.java:364)
> ... 42 more
> 2018-06-20 15:10:47.573 [localhost-startStop-1] join INFO 
> org.apache.isis.core.runtime.threadpool.ThreadPoolSupport - join'ing 6 tasks: 
> waited 0 milliseconds
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to