Uploaded image for project: 'CMS'
  1. CMS
  2. CMS-10641

After updating rights on resource context, impossible to access to this context

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • 4.3.13, 4.4.0
    • None
    • None
    • None
    • 4.4.RC1
    • 4.4 RC3

      How to reproduce : 

      1/ On "resource" context, update rights (for example add a user). 

      2/ Save it

      3/ Change the context (for instance go to "général" context). 

      And come back to "resource" context

      => List of rights is not updated, it stays on previous context. 

      => There is no visual error telling that context is not reachable

      => There is no console error nor JS error

      Note : First time I update "ressource" context, following error has been encountered, but I didn't reproduce it : 

       

      Pile d'appels :
      
      javax.jcr.InvalidItemStateException: Unable to update a stale item: item.save()
      at $1org.apache.jackrabbit.core.ItemSaveOperation.perform(ItemSaveOperation.java:262)
      at $1org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216)
      at $1org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91)
      at $1org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:329)
      at $1org.apache.jackrabbit.core.session.SessionSaveOperation.perform(SessionSaveOperation.java:65)
      at $1org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216)
      at $1org.apache.jackrabbit.core.SessionImpl.perform(SessionImpl.java:363)
      at $1org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:852)
      at $1org.ametys.web.synchronization.SynchronizeACLObserver._internalObserve(SynchronizeACLObserver.java:51)
      at $1org.ametys.web.synchronization.AbstractSynchronizeObserver.observe(AbstractSynchronizeObserver.java:88)
      at $1org.ametys.core.observation.ObservationManager._observesEvent(ObservationManager.java:359)
      at $1org.ametys.core.observation.ObservationManager.notify(ObservationManager.java:145)
      at $1org.ametys.core.ui.right.ProfileAssignmentsToolClientSideElement._notifyObservers(ProfileAssignmentsToolClientSideElement.java:375)
      at $1org.ametys.core.ui.right.ProfileAssignmentsToolClientSideElement.saveChanges(ProfileAssignmentsToolClientSideElement.java:342)
      at $1java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at $1java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at $1java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at $1java.base/java.lang.reflect.Method.invoke(Method.java:566)
      at $1org.ametys.core.ui.ExecuteClientCallsAction._executeMethod(ExecuteClientCallsAction.java:204)
      at $1org.ametys.core.ui.ExecuteClientCallsAction.act(ExecuteClientCallsAction.java:182)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTypeNode.java:120)
      at $1org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108)
      at $1org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
      at $1org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
      at $1org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236)
      at $1org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.buildPipeline(ConcreteTreeProcessor.java:194)
      at $1org.apache.cocoon.components.treeprocessor.TreeProcessor.buildPipeline(TreeProcessor.java:267)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:111)
      at $1org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108)
      at $1org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
      at $1org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
      at $1org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236)
      at $1org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.buildPipeline(ConcreteTreeProcessor.java:194)
      at $1org.apache.cocoon.components.treeprocessor.TreeProcessor.buildPipeline(TreeProcessor.java:267)
      at $1org.apache.cocoon.components.source.impl.SitemapSource.init(SitemapSource.java:333)
      at $1org.apache.cocoon.components.source.impl.SitemapSource.<init>(SitemapSource.java:215)
      at $1org.apache.cocoon.components.source.impl.SitemapSourceFactory.getSource(SitemapSourceFactory.java:68)
      at $1org.apache.excalibur.source.impl.SourceResolverImpl.resolveURI(SourceResolverImpl.java:208)
      at $1org.apache.cocoon.components.CocoonComponentManager.resolveURI(CocoonComponentManager.java:558)
      at $1org.apache.cocoon.components.CocoonComponentManager.resolveURI(CocoonComponentManager.java:558)
      at $1org.apache.cocoon.components.CocoonComponentManager.resolveURI(CocoonComponentManager.java:558)
      at $1org.apache.cocoon.components.CocoonComponentManager.resolveURI(CocoonComponentManager.java:558)
      at $1org.ametys.core.ui.dispatcher.DispatchGenerator._dispatching(DispatchGenerator.java:153)
      at $1org.ametys.core.ui.dispatcher.DispatchGenerator.generate(DispatchGenerator.java:95)
      at $1org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:581)
      at $1org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:301)
      at $1org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:483)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:144)
      at $1org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108)
      at $1org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
      at $1org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
      at $1org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236)
      at $1org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:178)
      at $1org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118)
      at $1org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108)
      at $1org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
      at $1org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
      at $1org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236)
      at $1org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:178)
      at $1org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118)
      at $1org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108)
      at $1org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
      at $1org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
      at $1org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236)
      at $1org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:178)
      at $1org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118)
      at $1org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108)
      at $1org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
      at $1org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
      at $1org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
      at $1org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236)
      at $1org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:178)
      at $1org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254)
      at $1org.apache.cocoon.Cocoon.process(Cocoon.java:699)
      at $1org.ametys.runtime.servlet.RuntimeServlet.service(RuntimeServlet.java:569)
      at $1javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
      at $1org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
      at $1org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
      at $1org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
      at $1org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
      at $1org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
      at $1org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
      at $1org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
      at $1org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
      at $1org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
      at $1org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
      at $1org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
      at $1org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
      at $1org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
      at $1org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
      at $1org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
      at $1org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853)
      at $1org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587)
      at $1org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
      at $1java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      at $1java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      at $1org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      at $1java.base/java.lang.Thread.run(Thread.java:834)
      Caused by: org.apache.jackrabbit.core.state.StaleItemStateException: 96a86bf2-5094-4958-a3af-640199e4f516/{http://www.ametys.org/jcr/repository/1.0}allowed-profiles has been modified externally
      at $1org.apache.jackrabbit.core.ItemSaveOperation.removeTransientItems(ItemSaveOperation.java:723)
      at $1org.apache.jackrabbit.core.ItemSaveOperation.perform(ItemSaveOperation.java:228)
      ... 117 more

       

            bmaurel Bérénice Maurel
            mfranchet Magali Franchet
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: