Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.0.0-M3
-
None
-
None
Description
This seems to be quite recently introduced (in the last week...).
Clicking on 'rebuild metamodel' generates this in the log:
2020-07-13 13:38:11.680 INFO 5636 --- [nio-8080-exec-4] o.a.w.u.c.ClassCryptFactory : using encryption/decryption object org.apache.wicket.util.crypt.SunJceCrypt@219be65c ... 2020-07-13 13:40:41.297 WARN 5636 --- [nio-8080-exec-8] o.a.i.c.m.s.SpecificationLoaderDefault : Missed class 'demoapp.dom.annotations.PropertyLayout.cssClass.PropertyLayoutCssClassVm' when the metamodel was fully introspected. 2020-07-13 13:40:41.297 ERROR 5636 --- [nio-8080-exec-8] o.a.i.c.m.s.SpecificationLoaderDefault : Introspecting class 'demoapp.dom.annotations.PropertyLayout.cssClass.PropertyLayoutCssClassVm' of sort VIEW_MODEL, after the metamodel had been fully introspected and is now locked. One reason this can happen is if you are attempting to invoke an action through the WrapperFactory on a service class incorrectly annotated with Spring's @Service annotation instead of @DomainService. 2020-07-13 13:40:41.299 WARN 5636 --- [nio-8080-exec-8] o.a.i.c.m.s.SpecificationLoaderDefault : Missed class 'java.lang.Object' when the metamodel was fully introspected.
and a thread dump shows these two threads:
"http-nio-8080-exec-8@13871" daemon prio=5 tid=0x1bb nid=NA waiting"http-nio-8080-exec-8@13871" daemon prio=5 tid=0x1bb nid=NA waiting java.lang.Thread.State: WAITING blocks ForkJoinPool.commonPool-worker-27@17638 at java.lang.Object.wait(Object.java:-1) at java.util.concurrent.ForkJoinTask.externalAwaitDone(ForkJoinTask.java:330) at java.util.concurrent.ForkJoinTask.doInvoke(ForkJoinTask.java:412) at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:736) at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:159) at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:173) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:661) at org.apache.isis.core.commons.internal.collections.snapshot._VersionedList$Snapshot.forEachParallel(_VersionedList.java:79) at org.apache.isis.core.commons.internal.collections.snapshot._VersionedList.forEachParallel(_VersionedList.java:176) at org.apache.isis.core.metamodel.specloader.SpecificationLoaderDefault.forEach(SpecificationLoaderDefault.java:417) at org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorVisiting.validateAll(MetaModelValidatorVisiting.java:96) at org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorVisiting.collectFailuresInto(MetaModelValidatorVisiting.java:87) at org.apache.isis.core.metamodel.specloader.SpecificationLoaderDefault.lambda$collectFailuresFromMetaModel$2(SpecificationLoaderDefault.java:299) at org.apache.isis.core.metamodel.specloader.SpecificationLoaderDefault$$Lambda$1676.1195616447.accept(Unknown Source:-1) at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at org.apache.isis.core.metamodel.specloader.SpecificationLoaderDefault.collectFailuresFromMetaModel(SpecificationLoaderDefault.java:296) at org.apache.isis.core.metamodel.specloader.SpecificationLoaderDefault$$Lambda$670.1483799557.get(Unknown Source:-1) at org.apache.isis.core.commons.internal.base._Lazy_ThreadSafe.get(_Lazy_ThreadSafe.java:64) - locked <0x5c56> (a org.apache.isis.core.commons.internal.base._Lazy_ThreadSafe) at org.apache.isis.core.metamodel.specloader.SpecificationLoaderDefault.getValidationResult(SpecificationLoaderDefault.java:286) at org.apache.isis.core.metamodel.specloader.SpecificationLoaderDefault.revalidateIfNecessary(SpecificationLoaderDefault.java:397) at org.apache.isis.core.metamodel.specloader.specimpl.ObjectSpecificationAbstract.introspectUpTo(ObjectSpecificationAbstract.java:321) at org.apache.isis.core.metamodel.specloader.SpecificationLoaderDefault.loadSpecification(SpecificationLoaderDefault.java:382) at org.apache.isis.core.metamodel.specloader.SpecificationLoaderDefault.reloadSpecification(SpecificationLoaderDefault.java:340) at org.apache.isis.core.metamodel.services.metamodel.MetaModelServiceDefault.rebuild(MetaModelServiceDefault.java:101) at org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel.act(Object_rebuildMetamodel.java:58) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:566) at org.apache.isis.core.metamodel.commons.CanonicalParameterUtil.invoke(CanonicalParameterUtil.java:72) at org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.invokeMethodElseFromCache(ActionInvocationFacetForDomainEventAbstract.java:277) at org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.access$400(ActionInvocationFacetForDomainEventAbstract.java:75) at org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract$DomainEventMemberExecutor.execute(ActionInvocationFacetForDomainEventAbstract.java:455) at org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract$DomainEventMemberExecutor.execute(ActionInvocationFacetForDomainEventAbstract.java:408) at org.apache.isis.applib.services.iactn.Interaction.executeInternal(Interaction.java:204) at org.apache.isis.applib.services.iactn.Interaction.execute(Interaction.java:171) at org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.doInvoke(ActionInvocationFacetForDomainEventAbstract.java:207) at org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.lambda$invoke$0(ActionInvocationFacetForDomainEventAbstract.java:128) at org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract$$Lambda$2310.207403167.get(Unknown Source:-1) at org.apache.isis.core.runtimeservices.xactn.TransactionServiceSpring.executeWithinTransaction(TransactionServiceSpring.java:163) at org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.invoke(ActionInvocationFacetForDomainEventAbstract.java:127) at org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionDefault.executeInternal(ObjectActionDefault.java:451) at org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionMixedIn.execute(ObjectActionMixedIn.java:167) at org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionDefault.executeWithRuleChecking(ObjectActionDefault.java:418) at org.apache.isis.viewer.wicket.model.models.ActionModel.executeAction(ActionModel.java:198) at org.apache.isis.viewer.wicket.model.models.ActionModel.load(ActionModel.java:177) at org.apache.isis.viewer.wicket.model.models.ActionModel.load(ActionModel.java:67) at org.apache.wicket.model.LoadableDetachableModel.getObject(LoadableDetachableModel.java:128) at org.apache.isis.viewer.wicket.model.models.ActionModel.execute(ActionModel.java:262) at org.apache.isis.viewer.wicket.ui.components.actions.ActionFormExecutorStrategy.obtainResultAdapter(ActionFormExecutorStrategy.java:73) at org.apache.isis.viewer.wicket.ui.panels.FormExecutorDefault.obtainResultAdapter(FormExecutorDefault.java:518) at org.apache.isis.viewer.wicket.ui.panels.FormExecutorDefault.executeAndProcessResults(FormExecutorDefault.java:147) at org.apache.isis.viewer.wicket.ui.components.widgets.linkandlabel.LinkAndLabelFactoryAbstract.onClick(LinkAndLabelFactoryAbstract.java:237) at org.apache.isis.viewer.wicket.ui.components.widgets.linkandlabel.LinkAndLabelFactoryAbstract.access$000(LinkAndLabelFactoryAbstract.java:70) at org.apache.isis.viewer.wicket.ui.components.widgets.linkandlabel.LinkAndLabelFactoryAbstract$1.performOnClick(LinkAndLabelFactoryAbstract.java:140) at org.apache.isis.viewer.wicket.ui.components.widgets.linkandlabel.LinkAndLabelFactoryAbstract$1.doOnClick(LinkAndLabelFactoryAbstract.java:135) at org.apache.isis.viewer.wicket.ui.components.widgets.linkandlabel.ActionLink.onClick(ActionLink.java:104) at org.apache.wicket.ajax.markup.html.AjaxLink$1.onEvent(AjaxLink.java:85) at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:127) at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:598) at org.apache.wicket.core.request.handler.ListenerRequestHandler.internalInvoke(ListenerRequestHandler.java:306) at org.apache.wicket.core.request.handler.ListenerRequestHandler.invoke(ListenerRequestHandler.java:280) at org.apache.wicket.core.request.handler.ListenerRequestHandler.invokeListener(ListenerRequestHandler.java:222) at org.apache.wicket.core.request.handler.ListenerRequestHandler.respond(ListenerRequestHandler.java:208) at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914) at org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65) at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282) at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253) at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221) at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275) at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.isis.core.webapp.modules.logonlog.IsisLogOnExceptionFilter.doFilter(IsisLogOnExceptionFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) - locked <0x5c57> (a org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:834)
and
"ForkJoinPool.commonPool-worker-27@17638" daemon prio=5 tid=0x1cb nid=NA waiting for monitor entry"ForkJoinPool.commonPool-worker-27@17638" daemon prio=5 tid=0x1cb nid=NA waiting for monitor entry java.lang.Thread.State: BLOCKED waiting for http-nio-8080-exec-8@13871 to release lock on <0x5c56> (a org.apache.isis.core.commons.internal.base._Lazy_ThreadSafe) at org.apache.isis.core.commons.internal.base._Lazy_ThreadSafe.isMemoized(_Lazy_ThreadSafe.java:45) at org.apache.isis.core.metamodel.specloader.SpecificationLoaderDefault.revalidateIfNecessary(SpecificationLoaderDefault.java:395) at org.apache.isis.core.metamodel.specloader.specimpl.ObjectSpecificationAbstract.introspectUpTo(ObjectSpecificationAbstract.java:321) at org.apache.isis.core.metamodel.specloader.specimpl.ObjectSpecificationAbstract.streamObjectActions(ObjectSpecificationAbstract.java:738) at org.apache.isis.core.metamodel.spec.feature.ObjectActionContainer.lambda$streamObjectActions$2(ObjectActionContainer.java:89) at org.apache.isis.core.metamodel.spec.feature.ObjectActionContainer$$Lambda$1388.92566262.apply(Unknown Source:-1) at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:271) at java.util.Iterator.forEachRemaining(Iterator.java:133) at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) at java.util.stream.ReduceOps$5.evaluateSequential(ReduceOps.java:257) at java.util.stream.ReduceOps$5.evaluateSequential(ReduceOps.java:248) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.count(ReferencePipeline.java:605) at org.apache.isis.core.metamodel.progmodels.dflt.ProgrammingModelFacetsJava8.lambda$new$0(ProgrammingModelFacetsJava8.java:374) at org.apache.isis.core.metamodel.progmodels.dflt.ProgrammingModelFacetsJava8$$Lambda$656.1587485260.visit(Unknown Source:-1) at org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorVisiting.lambda$validateAll$1(MetaModelValidatorVisiting.java:107) at org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorVisiting$$Lambda$1689.1794699629.accept(Unknown Source:-1) at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290) at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746) at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)