Having a failing assert hangs the pipeline for me. Requires a hard kill in order to stop it.

      Test pipeline script:

      assert false

          [JENKINS-34488] Failing 'assert' hangs the pipeline

          Alex Francis added a comment - - edited

          Worth noting a workaround: just add a message to the assertion, e.g.

          assert false : 'oh no!'
          

          Alex Francis added a comment - - edited Worth noting a workaround: just add a message to the assertion, e.g. assert false : 'oh no!'

          ikedam added a comment -

          This looks happen in here:
          https://github.com/jenkinsci/workflow-cps-plugin/blob/workflow-cps-2.17/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsThreadGroup.java#L335

          An exception occurs here, and codes to complete builds (such as calling fireCompletionHandlers) are skipped. This results builds not finish.

          Fails to add ErrorAction as it fails to be serialize to disks (attached a full thread dump):

          Caused by: java.lang.UnsupportedOperationException: Refusing to marshal org.codehaus.groovy.runtime.powerassert.PowerAssertionError for security reasons
          

          threaddump_halt_by_assert.txt

          ikedam added a comment - This looks happen in here: https://github.com/jenkinsci/workflow-cps-plugin/blob/workflow-cps-2.17/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsThreadGroup.java#L335 An exception occurs here, and codes to complete builds (such as calling fireCompletionHandlers ) are skipped. This results builds not finish. Fails to add ErrorAction as it fails to be serialize to disks (attached a full thread dump): Caused by: java.lang.UnsupportedOperationException: Refusing to marshal org.codehaus.groovy.runtime.powerassert.PowerAssertionError for security reasons threaddump_halt_by_assert.txt

          ikedam added a comment -

          Exception thrownd by assert false

          error	PowerAssertionError  (id=128)	
          	cause	PowerAssertionError  (id=128)	
          	detailMessage	"assert false" (id=162)	
          	stackTrace	StackTraceElement[0]  (id=166)	
          	suppressedExceptions	Collections$UnmodifiableRandomAccessList<E>  (id=168)	
          

          Exception thrownd by assert false: 'oh, no!'

          error	AssertionError  (id=125)	
          	cause	AssertionError  (id=125)	
          	detailMessage	"oh, no!. Expression: assert false: 'oh, no!'" (id=163)	
          	stackTrace	StackTraceElement[0]  (id=167)	
          	suppressedExceptions	Collections$UnmodifiableRandomAccessList<E>  (id=169)	
          

          ikedam added a comment - Exception thrownd by assert false error PowerAssertionError (id=128) cause PowerAssertionError (id=128) detailMessage "assert false" (id=162) stackTrace StackTraceElement[0] (id=166) suppressedExceptions Collections$UnmodifiableRandomAccessList<E> (id=168) Exception thrownd by assert false: 'oh, no!' error AssertionError (id=125) cause AssertionError (id=125) detailMessage "oh, no!. Expression: assert false: 'oh, no!'" (id=163) stackTrace StackTraceElement[0] (id=167) suppressedExceptions Collections$UnmodifiableRandomAccessList<E> (id=169)

          ikedam added a comment -

          ikedam added a comment - Classes not to serialize are defined here: https://github.com/jenkinsci/remoting/blob/remoting-2.62/src/main/java/hudson/remoting/ClassFilter.java#L56

          Code changed in jenkins
          User: ikedam
          Path:
          src/main/java/org/jenkinsci/plugins/workflow/actions/ErrorAction.java
          src/test/java/org/jenkinsci/plugins/workflow/actions/ErrorActionTest.java
          http://jenkins-ci.org/commit/workflow-api-plugin/9892fdffe0c3dfd34ba02b1edb0960f4c724b04d
          Log:
          [FIXED JENKINS-34488] Use ProxyException for exceptions that aren't serialized by XStream for security reasons

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: ikedam Path: src/main/java/org/jenkinsci/plugins/workflow/actions/ErrorAction.java src/test/java/org/jenkinsci/plugins/workflow/actions/ErrorActionTest.java http://jenkins-ci.org/commit/workflow-api-plugin/9892fdffe0c3dfd34ba02b1edb0960f4c724b04d Log: [FIXED JENKINS-34488] Use ProxyException for exceptions that aren't serialized by XStream for security reasons

          Code changed in jenkins
          User: ikedam
          Path:
          src/main/java/org/jenkinsci/plugins/workflow/actions/ErrorAction.java
          http://jenkins-ci.org/commit/workflow-api-plugin/7f2ed852fe0ffc119e8d5e8c7a408ddd35a81437
          Log:
          JENKINS-34488 Add null check to `isUnserializableException`

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: ikedam Path: src/main/java/org/jenkinsci/plugins/workflow/actions/ErrorAction.java http://jenkins-ci.org/commit/workflow-api-plugin/7f2ed852fe0ffc119e8d5e8c7a408ddd35a81437 Log: JENKINS-34488 Add null check to `isUnserializableException`

          Code changed in jenkins
          User: ikedam
          Path:
          src/test/java/org/jenkinsci/plugins/workflow/actions/ErrorActionTest.java
          http://jenkins-ci.org/commit/workflow-api-plugin/b80a3a6abc039ff8e8eecda77deeca2f0a265f87
          Log:
          JENKINS-34488 Improve tests in `ErrorActionTest`

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: ikedam Path: src/test/java/org/jenkinsci/plugins/workflow/actions/ErrorActionTest.java http://jenkins-ci.org/commit/workflow-api-plugin/b80a3a6abc039ff8e8eecda77deeca2f0a265f87 Log: JENKINS-34488 Improve tests in `ErrorActionTest`

          Code changed in jenkins
          User: Jesse Glick
          Path:
          src/main/java/org/jenkinsci/plugins/workflow/actions/ErrorAction.java
          src/test/java/org/jenkinsci/plugins/workflow/actions/ErrorActionTest.java
          http://jenkins-ci.org/commit/workflow-api-plugin/18481659fcc4ee9f62fdbf07cd44aed373664832
          Log:
          Merge pull request #18 from ikedam/feature/JENKINS-34488_UnserializableException

          JENKINS-34488 Use ProxyException for exceptions rejected by XStream

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: src/main/java/org/jenkinsci/plugins/workflow/actions/ErrorAction.java src/test/java/org/jenkinsci/plugins/workflow/actions/ErrorActionTest.java http://jenkins-ci.org/commit/workflow-api-plugin/18481659fcc4ee9f62fdbf07cd44aed373664832 Log: Merge pull request #18 from ikedam/feature/ JENKINS-34488 _UnserializableException JENKINS-34488 Use ProxyException for exceptions rejected by XStream

          Code changed in jenkins
          User: Jesse Glick
          Path:
          pipeline-model-definition/pom.xml
          http://jenkins-ci.org/commit/pipeline-model-definition-plugin/4912a56312a45cf58dab1d0f5e4227ab9bb9fc00
          Log:
          Updating workflow-api dep to pick up JENKINS-34488 fix, making JENKINS-39134 easier to track.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: pipeline-model-definition/pom.xml http://jenkins-ci.org/commit/pipeline-model-definition-plugin/4912a56312a45cf58dab1d0f5e4227ab9bb9fc00 Log: Updating workflow-api dep to pick up JENKINS-34488 fix, making JENKINS-39134 easier to track.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          pom.xml
          src/main/java/org/jenkinsci/plugins/workflow/actions/ErrorAction.java
          src/test/java/org/jenkinsci/plugins/workflow/actions/ErrorActionTest.java
          http://jenkins-ci.org/commit/workflow-api-plugin/724456bd6c703b0d09dd9be5082e019af84cf4bc
          Log:
          [FIXED JENKINS-39346] Extend JENKINS-34488 fix to cover also nested exceptions.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: pom.xml src/main/java/org/jenkinsci/plugins/workflow/actions/ErrorAction.java src/test/java/org/jenkinsci/plugins/workflow/actions/ErrorActionTest.java http://jenkins-ci.org/commit/workflow-api-plugin/724456bd6c703b0d09dd9be5082e019af84cf4bc Log: [FIXED JENKINS-39346] Extend JENKINS-34488 fix to cover also nested exceptions.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          src/main/java/org/jenkinsci/plugins/workflow/actions/ErrorAction.java
          src/test/java/org/jenkinsci/plugins/workflow/actions/ErrorActionTest.java
          http://jenkins-ci.org/commit/workflow-api-plugin/a48460ebdf7d03bedd82bb9e3e9de41481d58a4a
          Log:
          JENKINS-49025 Extending JENKINS-34488 fix yet again; JENKINS-39346 only considered causes, but other Throwable fields could also be unserializable.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: src/main/java/org/jenkinsci/plugins/workflow/actions/ErrorAction.java src/test/java/org/jenkinsci/plugins/workflow/actions/ErrorActionTest.java http://jenkins-ci.org/commit/workflow-api-plugin/a48460ebdf7d03bedd82bb9e3e9de41481d58a4a Log: JENKINS-49025 Extending JENKINS-34488 fix yet again; JENKINS-39346 only considered causes, but other Throwable fields could also be unserializable.

          Code changed in jenkins
          User: Andrew Bayer
          Path:
          src/main/java/org/jenkinsci/plugins/workflow/actions/ErrorAction.java
          src/test/java/org/jenkinsci/plugins/workflow/actions/ErrorActionTest.java
          http://jenkins-ci.org/commit/workflow-api-plugin/43fc2f234bdddbdbdbf72c1844cc5750c88618c0
          Log:
          Merge pull request #64 from jglick/nested-error-fields-JENKINS-49025

          JENKINS-49025 Extending JENKINS-34488 fix yet again

          Compare: https://github.com/jenkinsci/workflow-api-plugin/compare/1f5461aa99df...43fc2f234bdd

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Andrew Bayer Path: src/main/java/org/jenkinsci/plugins/workflow/actions/ErrorAction.java src/test/java/org/jenkinsci/plugins/workflow/actions/ErrorActionTest.java http://jenkins-ci.org/commit/workflow-api-plugin/43fc2f234bdddbdbdbf72c1844cc5750c88618c0 Log: Merge pull request #64 from jglick/nested-error-fields- JENKINS-49025 JENKINS-49025 Extending JENKINS-34488 fix yet again Compare: https://github.com/jenkinsci/workflow-api-plugin/compare/1f5461aa99df...43fc2f234bdd

            ikedam ikedam
            sonneveldsmartward Nick Sonneveld
            Votes:
            8 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: