Steps to reproduce
- Having a content type with a lot of complicated fields, multiple tabs and imbricated repeaters, so interface can be a little slow.
- Create repeater entries
- Create a sub repeater entry on one repeater entry then move the order (of the principal entry) fastly to the top or the bottom (to be very fast, add the entry with the keyboard and prepare your mouse to move the principal entry or inversely)
- Try to save, you should get this error:
[...]Caused by: java.lang.NullPointerException: Cannot invoke "java.lang.Integer.intValue()" because the return value of "java.util.Map.get(Object)" is null at org.ametys.cms.workflow.EditContentFunction.lambda$_parseValues$10(EditContentFunction.java:652) at org.ametys.plugins.repository.model.ViewHelper.visitView(ViewHelper.java:76) at org.ametys.cms.workflow.EditContentFunction._parseValues(EditContentFunction.java:572) at org.ametys.cms.workflow.EditContentFunction.lambda$_parseValues$10(EditContentFunction.java:659) at org.ametys.plugins.repository.model.ViewHelper.visitView(ViewHelper.java:76) at org.ametys.cms.workflow.EditContentFunction._parseValues(EditContentFunction.java:572) at org.ametys.cms.workflow.EditContentFunction.lambda$_parseValues$11(EditContentFunction.java:666) at org.ametys.plugins.repository.model.ViewHelper.visitView(ViewHelper.java:81) at org.ametys.cms.workflow.EditContentFunction._parseValues(EditContentFunction.java:572) at org.ametys.cms.workflow.EditContentFunction.getValues(EditContentFunction.java:554) at org.ametys.cms.workflow.EditContentFunction.execute(EditContentFunction.java:247) [...]
Data send to the EditContentFunction contains a size for a repeater without any data:
_content.input.conditionAcces[5]/previous-position=6 content.input.conditionAcces[5]/libelle=toto content.input.conditionAcces[5]/anneeAdmission=null content.input.conditionAcces[5]/niveauEtude=null content.input.conditionAcces[5]/modalites=[] content.input.conditionAcces[5]/admissionCommune=null content.input.conditionAcces[5]/admissionSurDossier=false content.input.conditionAcces[5]/admissionSurTest=false content.input.conditionAcces[5]/admissionSurEntretien=false content.input.conditionAcces[5]/modaliteAdmission= content.input.conditionAcces[5]/url=null _content.input.conditionAcces[5]/calendrier/size=0 _content.input.conditionAcces[5]/statistiques/size=1 content.input.conditionAcces[5]/procedureAPB=false content.input.conditionAcces[5]/admissionDeDroit=false content.input.conditionAcces[5]/admissionSurConcoursPropre=false content.input.conditionAcces[5]/publicCible=[] content.input.conditionAcces[5]/aireGeographique=null content.input.conditionAcces[5]/anneeReference=null content.input.conditionAcces[5]/coutInscription=null content.input.conditionAcces[5]/devise=content://22506607-1e30-4e2b-a116-0db8440fb7b9 content.input.conditionAcces[5]/commentaireCoutInscription= content.input.conditionAcces[5]/typeDiplomeRequis=[] content.input.conditionAcces[5]/formationRequise=[] content.input.conditionAcces[5]/prerequis= content.input.conditionAcces[5]/ageMin=null content.input.conditionAcces[5]/ageMax=null content.input.conditionAcces[5]/commentaireAge=
If the "statistiques" field is real (I don't know because I didn't count before how many were there), it hasn't been validated either.
[RUNTIME-3897] Imbricated repeaters and size problems
not the same technical nor functionnal issue
(just the server error is common)
open anothet issue please
I reproduce it again on a 4.9 snapshot (demo ODF nightly):
- On a container with two complementary thematics with one rule each, edit the complementary rules.
- Add a thematic (with the button on the top of the repeater), then move it to the end and remove it.
- Add a rule (with the button on the top of the repeater) to the first thematic, then move it to the end and fill it.
- Save and close.
2025-03-24 14:32:23,881 ERROR [org.ametys.plugins.core.ui] (http-nio-8080-exec-161;/nightly-odf-cms/plugins/core-ui/servercomm/messages.xml) Can not dispatch request '3' : 'cms' 'do-action/2' '{values={_content.input.thematics/size=2, _content.input.thematics[1]/previous-position=1, content.input.thematics[1]/title=Règle complémentaire 1, _content.input.thematics[1]/rules/size=2, _content.input.thematics[1]/rules[1]/previous-position=1, content.input.thematics[1]/rules[1]/text=<p>Oh yeah</p>, content.input.thematics[1]/rules[1]/motivation=<p>Super</p>, _content.input.thematics[2]/previous-position=2, content.input.thematics[2]/title=Règle complémentaire 2, _content.input.thematics[2]/rules/size=1, _content.input.thematics[2]/rules[1]/previous-position=1, content.input.thematics[2]/rules[1]/text=<p>RC 2</p>, content.input.thematics[2]/rules[1]/motivation=<p>Ahah</p>, _content.input.thematics[3]/rules[2]/previous-position=-1, content.input.thematics[3]/rules[2]/text=<p>Seconde règle du premier pavé</p>, content.input.thematics[3]/rules[2]/motivation=<p>Ecnore et encore...</p>}, contentId=container://debd414e-84ed-4df7-8e4a-9d4ea0b14b2c, quit=true, content.view=thematics-edition, content.fallback.view=main, ignore.warnings=false}' org.apache.cocoon.util.location.LocatedException: Can not dispatch request '3' : 'cms' 'do-action/2' '{values={_content.input.thematics/size=2, _content.input.thematics[1]/previous-position=1, content.input.thematics[1]/title=Règle complémentaire 1, _content.input.thematics[1]/rules/size=2, _content.input.thematics[1]/rules[1]/previous-position=1, content.input.thematics[1]/rules[1]/text=<p>Oh yeah</p>, content.input.thematics[1]/rules[1]/motivation=<p>Super</p>, _content.input.thematics[2]/previous-position=2, content.input.thematics[2]/title=Règle complémentaire 2, _content.input.thematics[2]/rules/size=1, _content.input.thematics[2]/rules[1]/previous-position=1, content.input.thematics[2]/rules[1]/text=<p>RC 2</p>, content.input.thematics[2]/rules[1]/motivation=<p>Ahah</p>, _content.input.thematics[3]/rules[2]/previous-position=-1, content.input.thematics[3]/rules[2]/text=<p>Seconde règle du premier pavé</p>, content.input.thematics[3]/rules[2]/motivation=<p>Ecnore et encore...</p>}, contentId=container://debd414e-84ed-4df7-8e4a-9d4ea0b14b2c, quit=true, content.view=thematics-edition, content.fallback.view=main, ignore.warnings=false}' at org.ametys.core.ui.dispatcher.DispatchGenerator._handleError(DispatchGenerator.java:314) at org.ametys.core.ui.dispatcher.DispatchGenerator._dispatchingSubRequest(DispatchGenerator.java:227) at org.ametys.core.ui.dispatcher.DispatchGenerator._dispatching(DispatchGenerator.java:142) at org.ametys.core.ui.dispatcher.DispatchGenerator.generate(DispatchGenerator.java:93) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:581) at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:301) at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:483) at org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:144) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47) at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:178) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254) at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47) at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:178) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254) at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47) at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:178) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254) at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47) at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:178) at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254) at org.apache.cocoon.Cocoon.process(Cocoon.java:699) at org.ametys.runtime.servlet.RuntimeServlet.service(RuntimeServlet.java:717) at javax.servlet.http.HttpServlet.service(HttpServlet.java:623) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:396) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:937) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:1583) Caused by: org.apache.excalibur.source.SourceException: Cannot get input stream for cocoon://_plugins/cms/do-action/2?values={_content.input.thematics/size%3D2, _content.input.thematics[1]/previous-position%3D1, content.input.thematics[1]/title%3DRègle complémentaire 1, _content.input.thematics[1]/rules/size%3D2, _content.input.thematics[1]/rules[1]/previous-position%3D1, content.input.thematics[1]/rules[1]/text%3D<p>Oh yeah</p>, content.input.thematics[1]/rules[1]/motivation%3D<p>Super</p>, _content.input.thematics[2]/previous-position%3D2, content.input.thematics[2]/title%3DRègle complémentaire 2, _content.input.thematics[2]/rules/size%3D1, _content.input.thematics[2]/rules[1]/previous-position%3D1, content.input.thematics[2]/rules[1]/text%3D<p>RC 2</p>, content.input.thematics[2]/rules[1]/motivation%3D<p>Ahah</p>, _content.input.thematics[3]/rules[2]/previous-position%3D-1, content.input.thematics[3]/rules[2]/text%3D<p>Seconde règle du premier pavé</p>, content.input.thematics[3]/rules[2]/motivation%3D<p>Ecnore et encore...</p>}&contentId=container://debd414e-84ed-4df7-8e4a-9d4ea0b14b2c&quit=true&content.view=thematics-edition&content.fallback.view=main&ignore.warnings=false& at org.apache.cocoon.components.source.impl.SitemapSource.getInputStream(SitemapSource.java:253) at org.ametys.core.ui.dispatcher.DispatchGenerator._handleResponse(DispatchGenerator.java:266) at org.ametys.core.ui.dispatcher.DispatchGenerator._dispatchingSubRequest(DispatchGenerator.java:221) ... 70 more Caused by: org.xml.sax.SAXException: Could not get sitemap source cocoon://_plugins/cms/do-action/2?values={_content.input.thematics/size%3D2, _content.input.thematics[1]/previous-position%3D1, content.input.thematics[1]/title%3DRègle complémentaire 1, _content.input.thematics[1]/rules/size%3D2, _content.input.thematics[1]/rules[1]/previous-position%3D1, content.input.thematics[1]/rules[1]/text%3D<p>Oh yeah</p>, content.input.thematics[1]/rules[1]/motivation%3D<p>Super</p>, _content.input.thematics[2]/previous-position%3D2, content.input.thematics[2]/title%3DRègle complémentaire 2, _content.input.thematics[2]/rules/size%3D1, _content.input.thematics[2]/rules[1]/previous-position%3D1, content.input.thematics[2]/rules[1]/text%3D<p>RC 2</p>, content.input.thematics[2]/rules[1]/motivation%3D<p>Ahah</p>, _content.input.thematics[3]/rules[2]/previous-position%3D-1, content.input.thematics[3]/rules[2]/text%3D<p>Seconde règle du premier pavé</p>, content.input.thematics[3]/rules[2]/motivation%3D<p>Ecnore et encore...</p>}&contentId=container://debd414e-84ed-4df7-8e4a-9d4ea0b14b2c&quit=true&content.view=thematics-edition&content.fallback.view=main&ignore.warnings=false& org.apache.cocoon.ProcessingException: Sitemap: error when calling sub-sitemap at <map:mount> - resource://org/ametys/runtime/kernel/sitemap.xmap:154:82 at org.apache.cocoon.components.source.impl.SitemapSource.init(SitemapSource.java:380) at org.apache.cocoon.components.source.impl.SitemapSource.<init>(SitemapSource.java:215) at org.apache.cocoon.components.source.impl.SitemapSourceFactory.getSource(SitemapSourceFactory.java:68) at org.apache.excalibur.source.impl.SourceResolverImpl.resolveURI(SourceResolverImpl.java:208) at org.apache.cocoon.components.CocoonComponentManager.resolveURI(CocoonComponentManager.java:558) at org.apache.cocoon.components.CocoonComponentManager.resolveURI(CocoonComponentManager.java:558) at org.apache.cocoon.components.CocoonComponentManager.resolveURI(CocoonComponentManager.java:558) at org.apache.cocoon.components.CocoonComponentManager.resolveURI(CocoonComponentManager.java:558) at org.ametys.core.ui.dispatcher.DispatchGenerator._dispatchingSubRequest(DispatchGenerator.java:217) ... 70 more Caused by: org.apache.cocoon.ProcessingException: Sitemap: error when calling sub-sitemap at <map:mount> - resource://org/ametys/runtime/kernel/sitemap.xmap:154:82 at org.apache.cocoon.ProcessingException.throwLocated(ProcessingException.java:113) at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:122) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47) at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.buildPipeline(ConcreteTreeProcessor.java:194) at org.apache.cocoon.components.treeprocessor.TreeProcessor.buildPipeline(TreeProcessor.java:267) at org.apache.cocoon.components.source.impl.SitemapSource.init(SitemapSource.java:333) ... 78 more Caused by: java.lang.NullPointerException: Cannot invoke "java.lang.Integer.intValue()" because the return value of "java.util.Map.get(Object)" is null at org.ametys.cms.workflow.EditContentFunction.lambda$_parseValues$15(EditContentFunction.java:775) at org.ametys.plugins.repository.model.ViewHelper.visitView(ViewHelper.java:77) at org.ametys.cms.workflow.EditContentFunction._parseValues(EditContentFunction.java:695) at org.ametys.cms.workflow.EditContentFunction.lambda$_parseValues$15(EditContentFunction.java:782) at org.ametys.plugins.repository.model.ViewHelper.visitView(ViewHelper.java:77) at org.ametys.cms.workflow.EditContentFunction._parseValues(EditContentFunction.java:695) at org.ametys.cms.workflow.EditContentFunction.getValues(EditContentFunction.java:676) at org.ametys.cms.workflow.EditContentFunction.execute(EditContentFunction.java:286) at com.opensymphony.workflow.AbstractWorkflow.executeFunction(AbstractWorkflow.java:871) at com.opensymphony.workflow.AbstractWorkflow.transitionWorkflow(AbstractWorkflow.java:1044) at org.ametys.plugins.workflow.AbstractAmetysWorkflow.transitionWorkflow(AbstractAmetysWorkflow.java:213) at com.opensymphony.workflow.AbstractWorkflow.doAction(AbstractWorkflow.java:567) at org.ametys.plugins.workflow.AbstractAmetysWorkflow.doAction(AbstractAmetysWorkflow.java:165) at org.ametys.cms.workflow.ContentWorkflowAction._act(ContentWorkflowAction.java:69) at org.ametys.plugins.workflow.cocoon.AbstractWorkflowAction.act(AbstractWorkflowAction.java:74) at org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTypeNode.java:125) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47) at org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTypeNode.java:139) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47) at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236) at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.buildPipeline(ConcreteTreeProcessor.java:194) at org.apache.cocoon.components.treeprocessor.TreeProcessor.buildPipeline(TreeProcessor.java:267) at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:111) ... 88 more
Formatted values:
{ values={ _content.input.thematics/size=2, _content.input.thematics[1]/previous-position=1, content.input.thematics[1]/title=Règle complémentaire 1, _content.input.thematics[1]/rules/size=2, _content.input.thematics[1]/rules[1]/previous-position=1, content.input.thematics[1]/rules[1]/text=<p>Oh yeah</p>, content.input.thematics[1]/rules[1]/motivation=<p>Super</p>, _content.input.thematics[2]/previous-position=2, content.input.thematics[2]/title=Règle complémentaire 2, _content.input.thematics[2]/rules/size=1, _content.input.thematics[2]/rules[1]/previous-position=1, content.input.thematics[2]/rules[1]/text=<p>RC 2</p>, content.input.thematics[2]/rules[1]/motivation=<p>Ahah</p>, _content.input.thematics[3]/rules[2]/previous-position=-1, content.input.thematics[3]/rules[2]/text=<p>Seconde règle du premier pavé</p>, content.input.thematics[3]/rules[2]/motivation=<p>Ecnore et encore...</p> }, contentId=container://debd414e-84ed-4df7-8e4a-9d4ea0b14b2c, quit=true, content.view=thematics-edition, content.fallback.view=main, ignore.warnings=false }
All content.input.thematics[3]/rules[2] should be content.input.thematics[1]/rules[2].
I take my time to do it.
I don't know if it is full reproducible.
It's the same stack trace, with the same structure of sent values, it is the same issue.
Maybe one bug can hide another one (like trains) but the initial issue is still there.