enonic / app-contentstudio-plus

Enterprise extension for Content Studio
Other
0 stars 0 forks source link

NPE after opening Publishing Report widget in content wizard #1319

Open sgauruseu opened 2 months ago

sgauruseu commented 2 months ago

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

  1. Create a folder then publish it
  2. Open the folder.
  3. Open Publishing report widget.

BUG - NPE exception after openenig the widget

image

Caused by: java.lang.RuntimeException: Error getting node
        at com.enonic.xp.util.Exceptions.newRuntime(Exceptions.java:33)
        at com.enonic.xp.core.impl.content.GetContentByIdCommand.execute(GetContentByIdCommand.java:39)
        at com.enonic.xp.core.impl.content.ContentServiceImpl.doGetById(ContentServiceImpl.java:502)
        at com.enonic.xp.core.impl.content.ContentServiceImpl.lambda$getById$1(ContentServiceImpl.java:490)
        at com.enonic.xp.trace.Tracer.trace(Tracer.java:128)
        at com.enonic.xp.core.impl.content.ContentServiceImpl.getById(ContentServiceImpl.java:490)
        at com.enonic.xp.lib.content.GetContentHandler.getById(GetContentHandler.java:53)
        at com.enonic.xp.lib.content.GetContentHandler.doExecute(GetContentHandler.java:32)
        at com.enonic.xp.lib.content.BaseContextHandler.execute(BaseContextHandler.java:14)
        at org.openjdk.nashorn.scripts/org.openjdk.nashorn.internal.scripts.Script$Recompilation$868$2594A$content.L:1#get(com.enonic.app.contentstudio.plus:/lib/xp/content.js:53)
        at org.openjdk.nashorn.scripts/org.openjdk.nashorn.internal.scripts.Script$Recompilation$867$1338A$publish_report.L:1#\==\_\!49(com.enonic.app.contentstudio.plus:/admin/widgets/publish-report/publish-report.js:50)
        at org.openjdk.nashorn.scripts/org.openjdk.nashorn.internal.scripts.Script$Recompilation$865$1766A$publish_report.L:1#\==\_\!65(com.enonic.app.contentstudio.plus:/admin/widgets/publish-report/publish-report.js:70)
        at org.openjdk.nashorn.scripts/org.openjdk.nashorn.internal.scripts.Script$Recompilation$864$2260A$publish_report.L:1#\==\_\!87(com.enonic.app.contentstudio.plus:/admin/widgets/publish-report/publish-report.js:89)
        at org.openjdk.nashorn.scripts/org.openjdk.nashorn.internal.scripts.Script$Recompilation$863$316A$publish_report.L:1#\==\_\!9(com.enonic.app.contentstudio.plus:/admin/widgets/publish-report/publish-report.js:10)
        at org.openjdk.nashorn/org.openjdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:648)
        at org.openjdk.nashorn/org.openjdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
        at org.openjdk.nashorn/org.openjdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:520)
        at org.openjdk.nashorn/org.openjdk.nashorn.api.scripting.ScriptObjectMirror.call(ScriptObjectMirror.java:111)
        at com.enonic.xp.script.impl.value.FunctionScriptValue.call(FunctionScriptValue.java:38)
        at com.enonic.xp.script.impl.executor.ScriptExportsImpl.executeMethod(ScriptExportsImpl.java:59)
        at com.enonic.xp.portal.impl.controller.ControllerScriptImpl.doExecute(ControllerScriptImpl.java:64)
        at com.enonic.xp.portal.impl.controller.ControllerScriptImpl.lambda$execute$1(ControllerScriptImpl.java:36)
        at com.enonic.xp.trace.Tracer.trace(Tracer.java:128)
        at com.enonic.xp.trace.Tracer.trace(Tracer.java:134)
        at com.enonic.xp.portal.impl.controller.ControllerScriptImpl.execute(ControllerScriptImpl.java:35)
        at com.enonic.xp.admin.impl.portal.WidgetHandlerWorker.execute(WidgetHandlerWorker.java:61)
        at com.enonic.xp.admin.impl.portal.WidgetHandler.doHandle(WidgetHandler.java:59)
        at com.enonic.xp.web.handler.BaseWebHandler.handle(BaseWebHandler.java:67)
        at com.enonic.xp.web.impl.handler.WebHandlerChainImpl.handle(WebHandlerChainImpl.java:28)
        at com.enonic.xp.web.handler.BaseWebHandler.handle(BaseWebHandler.java:76)
        at com.enonic.xp.web.impl.handler.WebHandlerChainImpl.handle(WebHandlerChainImpl.java:28)
        at com.enonic.xp.portal.impl.handler.mapping.MappingHandler.handle(MappingHandler.java:50)
        at com.enonic.xp.web.impl.handler.WebHandlerChainImpl.handle(WebHandlerChainImpl.java:28)
        at com.enonic.xp.web.handler.BaseWebHandler.handle(BaseWebHandler.java:76)
        at com.enonic.xp.web.impl.handler.WebHandlerChainImpl.handle(WebHandlerChainImpl.java:28)
        at com.enonic.xp.web.handler.BaseWebHandler.handle(BaseWebHandler.java:76)
        at com.enonic.xp.web.impl.handler.WebHandlerChainImpl.handle(WebHandlerChainImpl.java:28)
        at com.enonic.xp.web.handler.BaseWebHandler.handle(BaseWebHandler.java:76)
        at com.enonic.xp.web.impl.handler.WebHandlerChainImpl.handle(WebHandlerChainImpl.java:28)
        at com.enonic.xp.web.handler.BaseWebHandler.handle(BaseWebHandler.java:76)
        at com.enonic.xp.web.impl.handler.WebHandlerChainImpl.handle(WebHandlerChainImpl.java:28)
        at com.enonic.xp.portal.handler.BasePortalHandler.doHandle(BasePortalHandler.java:51)
        ... 86 common frames omitted
Caused by: 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.executeGetById(NodeServiceImpl.java:148)
        at com.enonic.xp.repo.impl.node.NodeServiceImpl.lambda$getById$1(NodeServiceImpl.java:142)
        at com.enonic.xp.trace.Tracer.trace(Tracer.java:128)
        at com.enonic.xp.repo.impl.node.NodeServiceImpl.getById(NodeServiceImpl.java:134)
        at com.enonic.xp.core.impl.content.GetContentByIdCommand.execute(GetContentByIdCommand.java:30)
        ... 126 common frames omitted
anatol-sialitski commented 2 months ago

That happens if you try to get content without the correct context (repositoryId, branch). If repositoryId does not persist in the current context, then you must provide it.