Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-34488

Failing 'assert' hangs the pipeline

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

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

      Test pipeline script:

      assert false

        Attachments

          Issue Links

            Activity

            Hide
            alexfrancis Alex Francis added a comment - - edited

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

            assert false : 'oh no!'
            
            Show
            alexfrancis Alex Francis added a comment - - edited Worth noting a workaround: just add a message to the assertion, e.g. assert false : 'oh no!'
            Hide
            ikedam 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

            Show
            ikedam 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
            Hide
            ikedam 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)	
            
            Show
            ikedam 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)
            Show
            ikedam 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
            Hide
            scm_issue_link 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

            Show
            scm_issue_link 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
            Hide
            scm_issue_link 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`

            Show
            scm_issue_link 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`
            Hide
            scm_issue_link 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`

            Show
            scm_issue_link 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`
            Hide
            scm_issue_link 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

            Show
            scm_issue_link 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
            Hide
            scm_issue_link 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.

            Show
            scm_issue_link 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.
            Hide
            scm_issue_link 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.

            Show
            scm_issue_link 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.
            Hide
            scm_issue_link 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.

            Show
            scm_issue_link 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.
            Hide
            scm_issue_link 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

            Show
            scm_issue_link 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

              People

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

                Dates

                Created:
                Updated:
                Resolved: