-
Bug
-
Resolution: Fixed
-
Neutral
-
None
-
None
-
None
-
-
Empty show more show less
-
DevX 38
-
2
-
Yes
The definitions app can completely error out under certain conditions of a broken definition. For example, having an areas node without any configured areas.
templateScript: /mtk2/templates/pages/basic.ftl dialog: mtk2:pages/basic renderType: freemarker class: info.magnolia.module.site.templates.PageTemplateDefinition cssFiles: normalize: link: /.resources/mtk2/webresources/css/normalize-3.0.3.css main: link: /.resources/mtk2/webresources/css/html5boilerplate-main-5.3.0.css video: link: /.resources/mtk2/webresources/css/video.css jsFiles: modernizr: link: /.resources/mtk2/webresources/js/modernizr-2.8.3.min.js areas:
While the configuration state doesn't really make sense the app should still be able to report the issue without throwing exceptions.
ERROR info.magnolia.admincentral.AdmincentralErrorHandler 31.10.2022 05:48:53 -- Admincentral has encountered an unhandled exception. java.lang.NullPointerException: null at info.magnolia.rendering.template.registry.validator.TemplateDefinitionValidator.validateDefinition(TemplateDefinitionValidator.java:93) ~[magnolia-rendering-6.2.25.jar:?] at info.magnolia.pages.rendering.registry.validator.DialogAwareTemplateDefinitionValidator.validateDefinition(DialogAwareTemplateDefinitionValidator.java:71) ~[magnolia-pages-app-6.2.23.jar:?] at info.magnolia.rendering.template.registry.validator.TemplateDefinitionValidator.validate(TemplateDefinitionValidator.java:82) ~[magnolia-rendering-6.2.25.jar:?] at info.magnolia.config.registry.AbstractRegistry$1.lambda$getProblems$0(AbstractRegistry.java:234) ~[magnolia-configuration-6.2.25.jar:?] at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] at info.magnolia.config.registry.AbstractRegistry$1.getProblems(AbstractRegistry.java:234) ~[magnolia-configuration-6.2.25.jar:?] at info.magnolia.definitions.app.data.bean.DefinitionBean$DefinitionProviderBean.getProblems(DefinitionBean.java:248) ~[magnolia-definitions-app-2.1.3.jar:?] at info.magnolia.definitions.app.column.DefinitionDescriptionGenerator.apply(DefinitionDescriptionGenerator.java:57) ~[magnolia-definitions-app-2.1.3.jar:?] at info.magnolia.definitions.app.column.DefinitionDescriptionGenerator.apply(DefinitionDescriptionGenerator.java:47) ~[magnolia-definitions-app-2.1.3.jar:?] at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[?:?] at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[?:?] at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) ~[?:?] 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.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?] at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) ~[?:?] at info.magnolia.definitions.app.column.DefinitionDescriptionGenerator.apply(DefinitionDescriptionGenerator.java:55) ~[magnolia-definitions-app-2.1.3.jar:?] at info.magnolia.definitions.app.column.DefinitionDescriptionGenerator.apply(DefinitionDescriptionGenerator.java:47) ~[magnolia-definitions-app-2.1.3.jar:?] at com.vaadin.ui.Grid$Column$1.generateData(Grid.java:930) ~[vaadin-server-8.15.2.jar:8.15.2] at com.vaadin.data.provider.DataCommunicator.getDataObject(DataCommunicator.java:506) ~[vaadin-server-8.15.2.jar:8.15.2] at com.vaadin.data.provider.DataCommunicator.pushData(DataCommunicator.java:486) ~[vaadin-server-8.15.2.jar:8.15.2] at com.vaadin.data.provider.DataCommunicator.sendDataToClient(DataCommunicator.java:408) ~[vaadin-server-8.15.2.jar:8.15.2] at com.vaadin.data.provider.DataCommunicator.beforeClientResponse(DataCommunicator.java:364) ~[vaadin-server-8.15.2.jar:8.15.2] at com.vaadin.server.communication.UidlWriter.write(UidlWriter.java:126) ~[vaadin-server-8.15.2.jar:8.15.2] at com.vaadin.server.communication.UidlRequestHandler.writeUidl(UidlRequestHandler.java:125) ~[vaadin-server-8.15.2.jar:8.15.2] at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:93) ~[vaadin-server-8.15.2.jar:8.15.2] at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40) ~[vaadin-server-8.15.2.jar:8.15.2] at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1637) ~[vaadin-server-8.15.2.jar:8.15.2] at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:464) ~[vaadin-server-8.15.2.jar:8.15.2] at info.magnolia.admincentral.AdmincentralServlet.service(AdmincentralServlet.java:119) ~[magnolia-admincentral-6.2.23.jar:?] at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) ~[servlet-api.jar:4.0.FR] at info.magnolia.cms.filters.ServletDispatchingFilter.doFilter(ServletDispatchingFilter.java:148) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:75) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.module.cache.executor.Bypass.processCacheRequest(Bypass.java:58) ~[magnolia-cache-core-5.9.4.jar:?] at info.magnolia.module.cache.executor.CompositeExecutor.processCacheRequest(CompositeExecutor.java:66) ~[magnolia-cache-core-5.9.4.jar:?] at info.magnolia.module.cache.filter.CacheFilter.doFilter(CacheFilter.java:164) ~[magnolia-cache-core-5.9.4.jar:?] at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.i18n.I18nContentSupportFilter.doFilter(I18nContentSupportFilter.java:85) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.virtualuri.VirtualUriFilter.doFilter(VirtualUriFilter.java:102) ~[magnolia-virtual-uri-6.2.25.jar:?] at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.RangeSupportFilter.doFilter(RangeSupportFilter.java:78) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:57) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cors.AbstractCorsFilter.doFilter(AbstractCorsFilter.java:77) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.security.SecurityCallbackFilter.doFilter(SecurityCallbackFilter.java:84) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.security.LogoutFilter.doFilter(LogoutFilter.java:94) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.module.site.filters.SiteMergeFilter.doFilter(SiteMergeFilter.java:119) ~[magnolia-site-1.4.4.jar:?] at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.multisite.filters.MultiSiteFilter.doFilter(MultiSiteFilter.java:120) ~[magnolia-module-multisite-2.1.2.jar:?] at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MultiChannelFilter.doFilter(MultiChannelFilter.java:83) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.module.cache.filter.GZipFilter.doFilter(GZipFilter.java:74) ~[magnolia-cache-core-5.9.4.jar:?] at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:128) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.enterprise.registration.RegistrationFilter.doFilter(RegistrationFilter.java:91) ~[magnolia-module-enterprise-6.2.25.jar:?] at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.UnicodeNormalizationFilter.doFilter(UnicodeNormalizationFilter.java:89) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.personalization.preview.filter.PreviewFilter.doFilter(PreviewFilter.java:92) ~[magnolia-personalization-preview-app-2.1.6.jar:?] at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:155) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:128) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:75) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.SafeDestroyMgnlFilterWrapper.doFilter(SafeDestroyMgnlFilterWrapper.java:107) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlFilterDispatcher.doDispatch(MgnlFilterDispatcher.java:67) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:110) ~[magnolia-core-6.2.25.jar:?] at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:96) ~[magnolia-core-6.2.25.jar:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[catalina.jar:9.0.65] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[catalina.jar:9.0.65] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[catalina.jar:9.0.65] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[catalina.jar:9.0.65] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[catalina.jar:9.0.65] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[catalina.jar:9.0.65] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[catalina.jar:9.0.65] at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687) ~[catalina.jar:9.0.65] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[catalina.jar:9.0.65] at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:769) ~[catalina.jar:9.0.65] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[catalina.jar:9.0.65] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-coyote.jar:9.0.65] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-coyote.jar:9.0.65] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) ~[tomcat-coyote.jar:9.0.65] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) ~[tomcat-coyote.jar:9.0.65] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-coyote.jar:9.0.65] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-util.jar:9.0.65] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-util.jar:9.0.65] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-util.jar:9.0.65] at java.lang.Thread.run(Thread.java:829) ~[?:?]
Notes
If possible it would be nice if there was some way to know which template the system was validating when the error happened. So far this problem has come up twice (see CFGUI-79).
Acceptance criteria
- clones
-
CFGUI-79 problems handling broken definitions gracefully - availableComponents
- Closed
- is related to
-
MAGNOLIA-7351 Setting a property to null via YAML configuration should report a problem
- Closed
1.
|
Implementation | Completed | Milan Divilek | |||||||||
2.
|
Review | Completed | Javier Benito | |||||||||
3.
|
preintQA | Completed | Javier Benito | |||||||||
4.
|
QA | Closed | Oanh Thai Hoang |
|