<workflowRun _class='org.jenkinsci.plugins.workflow.job.WorkflowRun'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Lancé par une alarme périodique</shortDescription></cause></action><action _class='hudson.model.ParametersAction'><parameter _class='hudson.model.BooleanParameterValue'><name>SKIP_TEST</name><value>false</value></parameter><parameter _class='hudson.model.BooleanParameterValue'><name>SKIP_QUALITY</name><value>false</value></parameter></action><action _class='org.jenkinsci.plugins.workflow.libs.LibrariesAction'></action><action></action><action _class='org.jenkinsci.plugins.workflow.cps.EnvActionImpl'></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>575</buildNumber><marked><SHA1>56f5661a313b8828cac18f92b68f2f116fbd2cc2</SHA1><branch><SHA1>56f5661a313b8828cac18f92b68f2f116fbd2cc2</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>56f5661a313b8828cac18f92b68f2f116fbd2cc2</SHA1><branch><SHA1>56f5661a313b8828cac18f92b68f2f116fbd2cc2</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>56f5661a313b8828cac18f92b68f2f116fbd2cc2</SHA1><branch><SHA1>56f5661a313b8828cac18f92b68f2f116fbd2cc2</SHA1><name>refs/remotes/origin/master</name></branch></lastBuiltRevision><remoteUrl>https://github.com/Silverpeas/Jenkins-Pipelines.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesorigin6.2.x _class='hudson.plugins.git.util.Build'><buildNumber>180</buildNumber><marked><SHA1>45e0d31d27a05fd6c36b5f7bd604a0d05f7f378f</SHA1><branch><SHA1>45e0d31d27a05fd6c36b5f7bd604a0d05f7f378f</SHA1><name>refs/remotes/origin/6.2.x</name></branch></marked><revision><SHA1>45e0d31d27a05fd6c36b5f7bd604a0d05f7f378f</SHA1><branch><SHA1>45e0d31d27a05fd6c36b5f7bd604a0d05f7f378f</SHA1><name>refs/remotes/origin/6.2.x</name></branch></revision></refsremotesorigin6.2.x><refsremotesorigin6.3.x _class='hudson.plugins.git.util.Build'><buildNumber>302</buildNumber><marked><SHA1>6df43e66c82d74fdaf07c75d56db339cf3491364</SHA1><branch><SHA1>6df43e66c82d74fdaf07c75d56db339cf3491364</SHA1><name>refs/remotes/origin/6.3.x</name></branch></marked><revision><SHA1>6df43e66c82d74fdaf07c75d56db339cf3491364</SHA1><branch><SHA1>6df43e66c82d74fdaf07c75d56db339cf3491364</SHA1><name>refs/remotes/origin/6.3.x</name></branch></revision></refsremotesorigin6.3.x><refsremotesorigin6.4.x _class='hudson.plugins.git.util.Build'><buildNumber>575</buildNumber><marked><SHA1>f406b00bad20d9de1f37876cd6e3b80111acfb38</SHA1><branch><SHA1>f406b00bad20d9de1f37876cd6e3b80111acfb38</SHA1><name>refs/remotes/origin/6.4.x</name></branch></marked><revision><SHA1>f406b00bad20d9de1f37876cd6e3b80111acfb38</SHA1><branch><SHA1>f406b00bad20d9de1f37876cd6e3b80111acfb38</SHA1><name>refs/remotes/origin/6.4.x</name></branch></revision></refsremotesorigin6.4.x><refsremotesorigin6.1.x _class='hudson.plugins.git.util.Build'><buildNumber>43</buildNumber><marked><SHA1>a3e9b3a1a829e2b076e72afa8bf8da6253ba6b31</SHA1><branch><SHA1>a3e9b3a1a829e2b076e72afa8bf8da6253ba6b31</SHA1><name>refs/remotes/origin/6.1.x</name></branch></marked><revision><SHA1>a3e9b3a1a829e2b076e72afa8bf8da6253ba6b31</SHA1><branch><SHA1>a3e9b3a1a829e2b076e72afa8bf8da6253ba6b31</SHA1><name>refs/remotes/origin/6.1.x</name></branch></revision></refsremotesorigin6.1.x></buildsByBranchName><lastBuiltRevision><SHA1>f406b00bad20d9de1f37876cd6e3b80111acfb38</SHA1><branch><SHA1>f406b00bad20d9de1f37876cd6e3b80111acfb38</SHA1><name>refs/remotes/origin/6.4.x</name></branch></lastBuiltRevision><remoteUrl>https://github.com/Silverpeas/Silverpeas-Core</remoteUrl><scmName></scmName></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesorigin6.2.x _class='hudson.plugins.git.util.Build'><buildNumber>179</buildNumber><marked><SHA1>6976f0d418d1eb565dded101d00140960944e6aa</SHA1><branch><SHA1>6976f0d418d1eb565dded101d00140960944e6aa</SHA1><name>refs/remotes/origin/6.2.x</name></branch></marked><revision><SHA1>6976f0d418d1eb565dded101d00140960944e6aa</SHA1><branch><SHA1>6976f0d418d1eb565dded101d00140960944e6aa</SHA1><name>refs/remotes/origin/6.2.x</name></branch></revision></refsremotesorigin6.2.x><refsremotesorigin6.3.x _class='hudson.plugins.git.util.Build'><buildNumber>302</buildNumber><marked><SHA1>f1c18f5b16ecf085b04a36a636aa4aa26ec5d773</SHA1><branch><SHA1>f1c18f5b16ecf085b04a36a636aa4aa26ec5d773</SHA1><name>refs/remotes/origin/6.3.x</name></branch></marked><revision><SHA1>f1c18f5b16ecf085b04a36a636aa4aa26ec5d773</SHA1><branch><SHA1>f1c18f5b16ecf085b04a36a636aa4aa26ec5d773</SHA1><name>refs/remotes/origin/6.3.x</name></branch></revision></refsremotesorigin6.3.x><refsremotesorigin6.4.x _class='hudson.plugins.git.util.Build'><buildNumber>575</buildNumber><marked><SHA1>d221c6c65b1766978f5dd82f28c11c7ceaea9b23</SHA1><branch><SHA1>d221c6c65b1766978f5dd82f28c11c7ceaea9b23</SHA1><name>refs/remotes/origin/6.4.x</name></branch></marked><revision><SHA1>d221c6c65b1766978f5dd82f28c11c7ceaea9b23</SHA1><branch><SHA1>d221c6c65b1766978f5dd82f28c11c7ceaea9b23</SHA1><name>refs/remotes/origin/6.4.x</name></branch></revision></refsremotesorigin6.4.x><refsremotesorigin6.1.x _class='hudson.plugins.git.util.Build'><buildNumber>43</buildNumber><marked><SHA1>9dbcbf90b830646ccd42fb388d09dbe09ecea4e6</SHA1><branch><SHA1>9dbcbf90b830646ccd42fb388d09dbe09ecea4e6</SHA1><name>refs/remotes/origin/6.1.x</name></branch></marked><revision><SHA1>9dbcbf90b830646ccd42fb388d09dbe09ecea4e6</SHA1><branch><SHA1>9dbcbf90b830646ccd42fb388d09dbe09ecea4e6</SHA1><name>refs/remotes/origin/6.1.x</name></branch></revision></refsremotesorigin6.1.x></buildsByBranchName><lastBuiltRevision><SHA1>d221c6c65b1766978f5dd82f28c11c7ceaea9b23</SHA1><branch><SHA1>d221c6c65b1766978f5dd82f28c11c7ceaea9b23</SHA1><name>refs/remotes/origin/6.4.x</name></branch></lastBuiltRevision><remoteUrl>https://github.com/Silverpeas/Silverpeas-Components</remoteUrl><scmName></scmName></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesorigin6.2.x _class='hudson.plugins.git.util.Build'><buildNumber>179</buildNumber><marked><SHA1>b3b8a633d5a98083849becc7464aebbca4218501</SHA1><branch><SHA1>b3b8a633d5a98083849becc7464aebbca4218501</SHA1><name>refs/remotes/origin/6.2.x</name></branch></marked><revision><SHA1>b3b8a633d5a98083849becc7464aebbca4218501</SHA1><branch><SHA1>b3b8a633d5a98083849becc7464aebbca4218501</SHA1><name>refs/remotes/origin/6.2.x</name></branch></revision></refsremotesorigin6.2.x><refsremotesorigin6.3.x _class='hudson.plugins.git.util.Build'><buildNumber>302</buildNumber><marked><SHA1>586ebdd23e10f812e41a52cbf1a3a7f4a81fe924</SHA1><branch><SHA1>586ebdd23e10f812e41a52cbf1a3a7f4a81fe924</SHA1><name>refs/remotes/origin/6.3.x</name></branch></marked><revision><SHA1>586ebdd23e10f812e41a52cbf1a3a7f4a81fe924</SHA1><branch><SHA1>586ebdd23e10f812e41a52cbf1a3a7f4a81fe924</SHA1><name>refs/remotes/origin/6.3.x</name></branch></revision></refsremotesorigin6.3.x><refsremotesorigin6.4.x _class='hudson.plugins.git.util.Build'><buildNumber>575</buildNumber><marked><SHA1>cd3dbdb143c1ba8d859484f154fd760c353dd0ed</SHA1><branch><SHA1>cd3dbdb143c1ba8d859484f154fd760c353dd0ed</SHA1><name>refs/remotes/origin/6.4.x</name></branch></marked><revision><SHA1>cd3dbdb143c1ba8d859484f154fd760c353dd0ed</SHA1><branch><SHA1>cd3dbdb143c1ba8d859484f154fd760c353dd0ed</SHA1><name>refs/remotes/origin/6.4.x</name></branch></revision></refsremotesorigin6.4.x><refsremotesorigin6.1.x _class='hudson.plugins.git.util.Build'><buildNumber>43</buildNumber><marked><SHA1>070793013d99eb148b16b15d6a191b20b72bc82c</SHA1><branch><SHA1>070793013d99eb148b16b15d6a191b20b72bc82c</SHA1><name>refs/remotes/origin/6.1.x</name></branch></marked><revision><SHA1>070793013d99eb148b16b15d6a191b20b72bc82c</SHA1><branch><SHA1>070793013d99eb148b16b15d6a191b20b72bc82c</SHA1><name>refs/remotes/origin/6.1.x</name></branch></revision></refsremotesorigin6.1.x></buildsByBranchName><lastBuiltRevision><SHA1>cd3dbdb143c1ba8d859484f154fd760c353dd0ed</SHA1><branch><SHA1>cd3dbdb143c1ba8d859484f154fd760c353dd0ed</SHA1><name>refs/remotes/origin/6.4.x</name></branch></lastBuiltRevision><remoteUrl>https://github.com/Silverpeas/Silverpeas-Looks</remoteUrl><scmName></scmName></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesorigin6.2.x _class='hudson.plugins.git.util.Build'><buildNumber>179</buildNumber><marked><SHA1>abe99f69032413c083fb9ee7a98afc1e2ab5114d</SHA1><branch><SHA1>abe99f69032413c083fb9ee7a98afc1e2ab5114d</SHA1><name>refs/remotes/origin/6.2.x</name></branch></marked><revision><SHA1>abe99f69032413c083fb9ee7a98afc1e2ab5114d</SHA1><branch><SHA1>abe99f69032413c083fb9ee7a98afc1e2ab5114d</SHA1><name>refs/remotes/origin/6.2.x</name></branch></revision></refsremotesorigin6.2.x><refsremotesorigin6.3.x _class='hudson.plugins.git.util.Build'><buildNumber>302</buildNumber><marked><SHA1>146430cd63566b3be410c8dd534faa57033583b3</SHA1><branch><SHA1>146430cd63566b3be410c8dd534faa57033583b3</SHA1><name>refs/remotes/origin/6.3.x</name></branch></marked><revision><SHA1>146430cd63566b3be410c8dd534faa57033583b3</SHA1><branch><SHA1>146430cd63566b3be410c8dd534faa57033583b3</SHA1><name>refs/remotes/origin/6.3.x</name></branch></revision></refsremotesorigin6.3.x><refsremotesorigin6.4.x _class='hudson.plugins.git.util.Build'><buildNumber>575</buildNumber><marked><SHA1>b329103b18d9998a62da3553abb417ec1327d6e9</SHA1><branch><SHA1>b329103b18d9998a62da3553abb417ec1327d6e9</SHA1><name>refs/remotes/origin/6.4.x</name></branch></marked><revision><SHA1>b329103b18d9998a62da3553abb417ec1327d6e9</SHA1><branch><SHA1>b329103b18d9998a62da3553abb417ec1327d6e9</SHA1><name>refs/remotes/origin/6.4.x</name></branch></revision></refsremotesorigin6.4.x><refsremotesorigin6.1.x _class='hudson.plugins.git.util.Build'><buildNumber>43</buildNumber><marked><SHA1>62ef5e63f545c1d332fb8e528897aff1fac54150</SHA1><branch><SHA1>62ef5e63f545c1d332fb8e528897aff1fac54150</SHA1><name>refs/remotes/origin/6.1.x</name></branch></marked><revision><SHA1>62ef5e63f545c1d332fb8e528897aff1fac54150</SHA1><branch><SHA1>62ef5e63f545c1d332fb8e528897aff1fac54150</SHA1><name>refs/remotes/origin/6.1.x</name></branch></revision></refsremotesorigin6.1.x></buildsByBranchName><lastBuiltRevision><SHA1>b329103b18d9998a62da3553abb417ec1327d6e9</SHA1><branch><SHA1>b329103b18d9998a62da3553abb417ec1327d6e9</SHA1><name>refs/remotes/origin/6.4.x</name></branch></lastBuiltRevision><remoteUrl>https://github.com/Silverpeas/Silverpeas-Setup</remoteUrl><scmName></scmName></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesorigin6.2.x _class='hudson.plugins.git.util.Build'><buildNumber>179</buildNumber><marked><SHA1>c96d415a32db2f558555695b382b89c11ac347be</SHA1><branch><SHA1>c96d415a32db2f558555695b382b89c11ac347be</SHA1><name>refs/remotes/origin/6.2.x</name></branch></marked><revision><SHA1>c96d415a32db2f558555695b382b89c11ac347be</SHA1><branch><SHA1>c96d415a32db2f558555695b382b89c11ac347be</SHA1><name>refs/remotes/origin/6.2.x</name></branch></revision></refsremotesorigin6.2.x><refsremotesorigin6.3.x _class='hudson.plugins.git.util.Build'><buildNumber>302</buildNumber><marked><SHA1>10719018413e414cfa70c0f64a945a72670797f4</SHA1><branch><SHA1>10719018413e414cfa70c0f64a945a72670797f4</SHA1><name>refs/remotes/origin/6.3.x</name></branch></marked><revision><SHA1>10719018413e414cfa70c0f64a945a72670797f4</SHA1><branch><SHA1>10719018413e414cfa70c0f64a945a72670797f4</SHA1><name>refs/remotes/origin/6.3.x</name></branch></revision></refsremotesorigin6.3.x><refsremotesorigin6.4.x _class='hudson.plugins.git.util.Build'><buildNumber>575</buildNumber><marked><SHA1>3c2e5e96c0ee61f807fd61b5d43f84b63ec54298</SHA1><branch><SHA1>3c2e5e96c0ee61f807fd61b5d43f84b63ec54298</SHA1><name>refs/remotes/origin/6.4.x</name></branch></marked><revision><SHA1>3c2e5e96c0ee61f807fd61b5d43f84b63ec54298</SHA1><branch><SHA1>3c2e5e96c0ee61f807fd61b5d43f84b63ec54298</SHA1><name>refs/remotes/origin/6.4.x</name></branch></revision></refsremotesorigin6.4.x><refsremotesorigin6.1.x _class='hudson.plugins.git.util.Build'><buildNumber>43</buildNumber><marked><SHA1>2c1de09b276e4aa8622563451ebd70a4f24759ce</SHA1><branch><SHA1>2c1de09b276e4aa8622563451ebd70a4f24759ce</SHA1><name>refs/remotes/origin/6.1.x</name></branch></marked><revision><SHA1>2c1de09b276e4aa8622563451ebd70a4f24759ce</SHA1><branch><SHA1>2c1de09b276e4aa8622563451ebd70a4f24759ce</SHA1><name>refs/remotes/origin/6.1.x</name></branch></revision></refsremotesorigin6.1.x></buildsByBranchName><lastBuiltRevision><SHA1>3c2e5e96c0ee61f807fd61b5d43f84b63ec54298</SHA1><branch><SHA1>3c2e5e96c0ee61f807fd61b5d43f84b63ec54298</SHA1><name>refs/remotes/origin/6.4.x</name></branch></lastBuiltRevision><remoteUrl>https://github.com/Silverpeas/Silverpeas-Distribution</remoteUrl><scmName></scmName></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesorigin6.2.x _class='hudson.plugins.git.util.Build'><buildNumber>179</buildNumber><marked><SHA1>1bdb8f99972aa96dacfc6d8775a7364ab6e845c2</SHA1><branch><SHA1>1bdb8f99972aa96dacfc6d8775a7364ab6e845c2</SHA1><name>refs/remotes/origin/6.2.x</name></branch></marked><revision><SHA1>1bdb8f99972aa96dacfc6d8775a7364ab6e845c2</SHA1><branch><SHA1>1bdb8f99972aa96dacfc6d8775a7364ab6e845c2</SHA1><name>refs/remotes/origin/6.2.x</name></branch></revision></refsremotesorigin6.2.x><refsremotesorigin6.3.x _class='hudson.plugins.git.util.Build'><buildNumber>302</buildNumber><marked><SHA1>e6cf90efb933ea1d65558af1cade3056ac4b6462</SHA1><branch><SHA1>e6cf90efb933ea1d65558af1cade3056ac4b6462</SHA1><name>refs/remotes/origin/6.3.x</name></branch></marked><revision><SHA1>e6cf90efb933ea1d65558af1cade3056ac4b6462</SHA1><branch><SHA1>e6cf90efb933ea1d65558af1cade3056ac4b6462</SHA1><name>refs/remotes/origin/6.3.x</name></branch></revision></refsremotesorigin6.3.x><refsremotesorigin6.4.x _class='hudson.plugins.git.util.Build'><buildNumber>575</buildNumber><marked><SHA1>2d8a5e346fd50bd478e8532b3f5d9bfe3457c88e</SHA1><branch><SHA1>2d8a5e346fd50bd478e8532b3f5d9bfe3457c88e</SHA1><name>refs/remotes/origin/6.4.x</name></branch></marked><revision><SHA1>2d8a5e346fd50bd478e8532b3f5d9bfe3457c88e</SHA1><branch><SHA1>2d8a5e346fd50bd478e8532b3f5d9bfe3457c88e</SHA1><name>refs/remotes/origin/6.4.x</name></branch></revision></refsremotesorigin6.4.x><refsremotesorigin6.1.x _class='hudson.plugins.git.util.Build'><buildNumber>43</buildNumber><marked><SHA1>64a1ed5c344bf6e81820366b63120c460193579c</SHA1><branch><SHA1>64a1ed5c344bf6e81820366b63120c460193579c</SHA1><name>refs/remotes/origin/6.1.x</name></branch></marked><revision><SHA1>64a1ed5c344bf6e81820366b63120c460193579c</SHA1><branch><SHA1>64a1ed5c344bf6e81820366b63120c460193579c</SHA1><name>refs/remotes/origin/6.1.x</name></branch></revision></refsremotesorigin6.1.x></buildsByBranchName><lastBuiltRevision><SHA1>2d8a5e346fd50bd478e8532b3f5d9bfe3457c88e</SHA1><branch><SHA1>2d8a5e346fd50bd478e8532b3f5d9bfe3457c88e</SHA1><name>refs/remotes/origin/6.4.x</name></branch></lastBuiltRevision><remoteUrl>https://github.com/Silverpeas/Silverpeas-Assembly</remoteUrl><scmName></scmName></action><action></action><action _class='hudson.plugins.sonar.action.SonarAnalysisAction'><ceTaskId>AaE-PUk-sUx-wXrIDvPu</ceTaskId><installationName>Silverpeas SonarCloud</installationName><installationUrl>https://sonarcloud.io</installationUrl><new>true</new><serverUrl>https://sonarcloud.io</serverUrl><skipped>false</skipped><sonarqubeDashboardUrl>https://sonarcloud.io/dashboard?id=Silverpeas_Silverpeas-Core2&amp;branch=6.4.x</sonarqubeDashboardUrl></action><action></action><action></action><action></action><action></action><action></action><action _class='hudson.plugins.sonar.action.SonarBuildBadgeAction'><url>https://sonarcloud.io/dashboard?id=Silverpeas_Silverpeas-Core2&amp;branch=6.4.x</url></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><action _class='org.jenkinsci.plugins.pipeline.modeldefinition.actions.RestartDeclarativePipelineAction'></action><action></action><action _class='org.jenkinsci.plugins.workflow.job.views.FlowGraphAction'></action><action></action><action></action><artifact><displayPath>build.yaml</displayPath><fileName>build.yaml</fileName><relativePath>target/build.yaml</relativePath></artifact><building>false</building><displayName>6.4.9-build261015</displayName><duration>7505745</duration><estimatedDuration>5558287</estimatedDuration><fullDisplayName>Silverpeas_Stable_AutoDeploy 6.4.9-build261015</fullDisplayName><id>575</id><keepLog>false</keepLog><number>575</number><queueId>69821</queueId><result>SUCCESS</result><timestamp>1792039560714</timestamp><url>https://integration.silverpeas.org/jenkins/view/Continuous%20Autodeployment%20Build/job/Silverpeas_Stable_AutoDeploy/575/</url><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>core-services/workflow/src/test/java/org/silverpeas/core/workflow/engine/instance/ProcessInstanceTimeOutActionTest.java</affectedPath><affectedPath>core-services/workflow/src/test/java/org/silverpeas/core/workflow/engine/timeout/TimeoutManagerImplTest.java</affectedPath><affectedPath>core-services/workflow/src/main/java/org/silverpeas/core/workflow/api/instance/ProcessInstance.java</affectedPath><affectedPath>core-services/workflow/src/main/java/org/silverpeas/core/workflow/engine/instance/ProcessInstanceImpl.java</affectedPath><affectedPath>core-services/workflow/src/main/java/org/silverpeas/core/workflow/engine/timeout/TimeoutManagerImpl.java</affectedPath><commitId>48320bc52d180175982472d34840663072f9fce1</commitId><timestamp>1791894186000</timestamp><author><absoluteUrl>https://integration.silverpeas.org/jenkins/user/mmoquillon</absoluteUrl><fullName>Miguel Moquillon</fullName></author><authorEmail>miguel.moquillon@gmail.com</authorEmail><comment>Bug #15200 A failing timeout action of a workflow instance doesn't block anymore the others

The periodic job processing the timeout actions of the workflow instances
caught only WorkflowException for each instance. Any other error (for example a
NullPointerException when the timeout action couldn't be resolved because the
state or the action was removed from the process model) escaped the loop and
aborted the processing of all the remaining instances, whatever their workflow.
As the faulty instance was picked again at each run, the others were blocked
for ever.

Now the processing of each instance is isolated: any error is logged with the
instance and the workflow identifiers and the next instance is processed.
ProcessInstance#getTimeOutAction returns an Optional and throws an explicit
WorkflowException telling why the timeout action cannot be resolved (state
removed from the model, no timeout action for the expected order, action
removed from the model, model not loadable).

Co-Authored-By: Claude Fable 5.1 &lt;noreply@anthropic.com&gt;
</comment><date>2026-10-13 14:23:06 +0200</date><id>48320bc52d180175982472d34840663072f9fce1</id><msg>Bug #15200 A failing timeout action of a workflow instance doesn't block anymore the others</msg><path><editType>edit</editType><file>core-services/workflow/src/main/java/org/silverpeas/core/workflow/engine/timeout/TimeoutManagerImpl.java</file></path><path><editType>edit</editType><file>core-services/workflow/src/main/java/org/silverpeas/core/workflow/api/instance/ProcessInstance.java</file></path><path><editType>add</editType><file>core-services/workflow/src/test/java/org/silverpeas/core/workflow/engine/instance/ProcessInstanceTimeOutActionTest.java</file></path><path><editType>add</editType><file>core-services/workflow/src/test/java/org/silverpeas/core/workflow/engine/timeout/TimeoutManagerImplTest.java</file></path><path><editType>edit</editType><file>core-services/workflow/src/main/java/org/silverpeas/core/workflow/engine/instance/ProcessInstanceImpl.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>core-web/src/main/java/org/silverpeas/core/web/authentication/AuthenticationServlet.java</affectedPath><affectedPath>core-library/src/main/java/org/silverpeas/core/security/authentication/AuthenticationService.java</affectedPath><commitId>f406b00bad20d9de1f37876cd6e3b80111acfb38</commitId><timestamp>1791983548000</timestamp><author><absoluteUrl>https://integration.silverpeas.org/jenkins/user/mmoquillon</absoluteUrl><fullName>Miguel Moquillon</fullName></author><authorEmail>miguel.moquillon@silverpeas.com</authorEmail><comment>Bug #15494 Fix the redirection loop between the login page and the SSO on an unknown login

When a user is authenticated by an SSO mechanism (Kerberos, SAML, ...) but
his login doesn't match any user account in the Silverpeas domain the SSO is
mapped to, AuthenticationService#authenticateByLoginAndDomain returned null
instead of raising an error. The null was then wrapped into a successful
AuthenticationResponse without any token, and the AuthenticationServlet tried
to open a session with a null authentication key. This failed with two SEVERE
traces and a redirection to /Login without any error code. With login.sso.path
set, the LoginServlet redirected again to the SSO, hence an endless loop of
redirections flooding the logs at each SSO access.

Now:
- authenticateByLoginAndDomain throws an AuthenticationBadCredentialException
  with the login and the domain in the message when no user matches them;
- AuthenticationService#authenticate treats defensively a successful
  authentication without any token as an UNKNOWN_FAILURE;
- in SSO mode, a bad login is reported to the user with the dedicated
  Error_SsoOnUnexistantUserAccount code instead of the generic bad
  login/password one, without incrementing the login attempts counter.
</comment><date>2026-10-14 15:12:28 +0200</date><id>f406b00bad20d9de1f37876cd6e3b80111acfb38</id><msg>Bug #15494 Fix the redirection loop between the login page and the SSO on an unknown login</msg><path><editType>edit</editType><file>core-library/src/main/java/org/silverpeas/core/security/authentication/AuthenticationService.java</file></path><path><editType>edit</editType><file>core-web/src/main/java/org/silverpeas/core/web/authentication/AuthenticationServlet.java</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://integration.silverpeas.org/jenkins/user/mmoquillon</absoluteUrl><fullName>Miguel Moquillon</fullName></culprit><inProgress>false</inProgress><previousBuild><number>574</number><url>https://integration.silverpeas.org/jenkins/view/Continuous%20Autodeployment%20Build/job/Silverpeas_Stable_AutoDeploy/574/</url></previousBuild></workflowRun>