enonic / app-contentstudio

Content Studio of Enonic XP
GNU General Public License v3.0
11 stars 4 forks source link

NPE when opening Insert Macro modal dialog #7659

Open sgauruseu opened 1 week ago

sgauruseu commented 1 week ago

An error does not always occur, the probability of the error is 20-30 percent

  1. Insert a text component
  2. Open Insert Macro modal dialog,
  3. Select Embed Iframe oprion in the dropdown (the same issue with Disable Macros)
  4. Fill in the config tab

image

  1. Click on Insert button, close the dialog.
  2. Double click on the text in htmlAre - nsert Macro modal dialog loads - OK
  3. Click on Preview tab.

BUG - NPE thrown after clicking on Preview tab

image

11:25:26.450 ERROR c.e.x.j.i.e.JsonExceptionMapper - NullPointerException
java.lang.NullPointerException: null
        at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1693)
        at com.enonic.xp.repo.impl.repository.RepositoryServiceImpl.doGet(RepositoryServiceImpl.java:228)
        at com.enonic.xp.repo.impl.repository.RepositoryServiceImpl.get(RepositoryServiceImpl.java:223)
        at com.enonic.xp.repo.impl.node.NodeServiceImpl.lambda$verifyBranchExists$55(NodeServiceImpl.java:1247)
        at com.enonic.xp.context.ContextImpl.runWith(ContextImpl.java:84)
        at com.enonic.xp.repo.impl.node.NodeHelper.runAsAdmin(NodeHelper.java:15)
        at com.enonic.xp.repo.impl.node.NodeServiceImpl.verifyBranchExists(NodeServiceImpl.java:1244)
        at com.enonic.xp.repo.impl.node.NodeServiceImpl.verifyContext(NodeServiceImpl.java:1226)
        at com.enonic.xp.repo.impl.node.NodeServiceImpl.executeGetByPath(NodeServiceImpl.java:228)
        at com.enonic.xp.repo.impl.node.NodeServiceImpl.lambda$getByPath$7(NodeServiceImpl.java:218)
        at com.enonic.xp.trace.Tracer.trace(Tracer.java:128)
        at com.enonic.xp.repo.impl.node.NodeServiceImpl.getByPath(NodeServiceImpl.java:210)
        at com.enonic.xp.core.impl.content.GetContentByPathCommand.execute(GetContentByPathCommand.java:28)
        at com.enonic.xp.core.impl.content.ContentServiceImpl.executeGetByPath(ContentServiceImpl.java:617)
        at com.enonic.xp.core.impl.content.ContentServiceImpl.doGetByPath(ContentServiceImpl.java:596)
        at com.enonic.xp.core.impl.content.ContentServiceImpl.lambda$getByPath$10(ContentServiceImpl.java:590)
        at com.enonic.xp.trace.Tracer.trace(Tracer.java:128)
        at com.enonic.xp.core.impl.content.ContentServiceImpl.getByPath(ContentServiceImpl.java:590)
        at com.enonic.xp.app.contentstudio.rest.resource.macro.MacroResource.getContent(MacroResource.java:235)
        at com.enonic.xp.app.contentstudio.rest.resource.macro.MacroResource.createPortalRequest(MacroResource.java:191)
        at com.enonic.xp.app.contentstudio.rest.resource.macro.MacroResource.macroPreview(MacroResource.java:133)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:154)
        at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:118)
        at org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(ResourceMethodInvoker.java:560)
        at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter(ResourceMethodInvoker.java:452)
        at org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$2(ResourceMethodInvoker.java:413)
        at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:315)
        at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:415)
        at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:378)
        at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:356)
        at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:70)
        at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:429)
        at org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:240)
        at org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:154)
        at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:315)
        at org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:157)
        at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:229)
        at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:222)
        at com.enonic.xp.jaxrs.impl.JaxRsServlet.service(JaxRsServlet.java:41)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
        at com.enonic.xp.web.impl.dispatch.mapping.ServletDefinitionImpl.service(ServletDefinitionImpl.java:40)
        at com.enonic.xp.web.impl.dispatch.pipeline.ServletPipelineImpl.service(ServletPipelineImpl.java:38)
        at com.enonic.xp.web.impl.dispatch.pipeline.FilterChainImpl.doFilter(FilterChainImpl.java:51)
        at com.enonic.xp.web.impl.dispatch.pipeline.FilterChainImpl.doFilter(FilterChainImpl.java:33)
        at com.enonic.xp.portal.impl.idprovider.IdProviderFilter.doHandle(IdProviderFilter.java:53)
        at com.enonic.xp.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:31)
        at com.enonic.xp.web.filter.BaseWebFilter.doFilter(BaseWebFilter.java:33)
        at com.enonic.xp.web.impl.dispatch.mapping.FilterDefinitionImpl.doFilter(FilterDefinitionImpl.java:41)
        at com.enonic.xp.web.impl.dispatch.pipeline.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at com.enonic.xp.web.impl.dispatch.pipeline.FilterChainImpl.doFilter(FilterChainImpl.java:33)
        at com.enonic.xp.web.impl.context.ContextFilter.lambda$doHandle$1(ContextFilter.java:54)
        at com.enonic.xp.context.ContextImpl.callWith(ContextImpl.java:100)
        at com.enonic.xp.web.impl.context.ContextFilter.doHandle(ContextFilter.java:53)
        at com.enonic.xp.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:31)
        at com.enonic.xp.web.filter.BaseWebFilter.doFilter(BaseWebFilter.java:33)
        at com.enonic.xp.web.impl.dispatch.mapping.FilterDefinitionImpl.doFilter(FilterDefinitionImpl.java:41)
        at com.enonic.xp.web.impl.dispatch.pipeline.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at com.enonic.xp.web.impl.dispatch.pipeline.FilterChainImpl.doFilter(FilterChainImpl.java:33)
        at com.enonic.xp.web.vhost.impl.VirtualHostFilter.doHandle(VirtualHostFilter.java:74)
        at com.enonic.xp.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:31)
        at com.enonic.xp.web.filter.BaseWebFilter.doFilter(BaseWebFilter.java:33)
        at com.enonic.xp.web.impl.dispatch.mapping.FilterDefinitionImpl.doFilter(FilterDefinitionImpl.java:41)
        at com.enonic.xp.web.impl.dispatch.pipeline.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at com.enonic.xp.web.impl.dispatch.pipeline.FilterChainImpl.doFilter(FilterChainImpl.java:33)
        at com.enonic.xp.web.impl.dos.DosFilterWrapper.doFilter(DosFilterWrapper.java:65)
        at com.enonic.xp.web.impl.dispatch.mapping.FilterDefinitionImpl.doFilter(FilterDefinitionImpl.java:41)
        at com.enonic.xp.web.impl.dispatch.pipeline.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at com.enonic.xp.web.impl.dispatch.pipeline.FilterChainImpl.doFilter(FilterChainImpl.java:33)
        at org.eclipse.jetty.servlets.HeaderFilter.doFilter(HeaderFilter.java:117)
        at com.enonic.xp.web.impl.header.HeaderFilterWrapper.doHandle(HeaderFilterWrapper.java:51)
        at com.enonic.xp.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:31)
        at com.enonic.xp.web.filter.BaseWebFilter.doFilter(BaseWebFilter.java:33)
        at com.enonic.xp.web.impl.dispatch.mapping.FilterDefinitionImpl.doFilter(FilterDefinitionImpl.java:41)
        at com.enonic.xp.web.impl.dispatch.pipeline.FilterChainImpl.doFilter(FilterChainImpl.java:42)
        at com.enonic.xp.web.impl.dispatch.pipeline.FilterChainImpl.doFilter(FilterChainImpl.java:33)
        at com.enonic.xp.web.impl.dispatch.pipeline.FilterPipelineImpl.filter(FilterPipelineImpl.java:37)
        at com.enonic.xp.web.impl.dispatch.DispatchServletImpl.service(DispatchServletImpl.java:52)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:554)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
        at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:722)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:234)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
        at org.eclipse.jetty.server.Server.handle(Server.java:516)
        at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
        at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
        at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
        at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
        at java.base/java.lang.Thread.run(Thread.java:1583)