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

            sonneveldsmartward Nick Sonneveld created issue -
            jglick Jesse Glick made changes -
            Field Original Value New Value
            Labels pipeline workflow groovy workflow
            jglick Jesse Glick made changes -
            Epic Link JENKINS-35390 [ 171183 ]
            jglick Jesse Glick made changes -
            Labels groovy workflow groovy
            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!'
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 170614 ] JNJira + In-Review [ 183975 ]
            abayer Andrew Bayer made changes -
            Component/s pipeline-general [ 21692 ]
            abayer Andrew Bayer made changes -
            Component/s workflow-plugin [ 18820 ]
            jglick Jesse Glick made changes -
            Component/s workflow-cps-plugin [ 21713 ]
            Component/s pipeline [ 21692 ]
            ikedam ikedam made changes -
            Attachment threaddump_halt_by_assert.txt [ 33984 ]
            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
            jglick Jesse Glick made changes -
            Assignee Jesse Glick [ jglick ] ikedam [ ikedam ]
            jglick Jesse Glick made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            jglick Jesse Glick made changes -
            Status In Progress [ 3 ] In Review [ 10005 ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "PR 62 (Web Link)" [ 14861 ]
            jglick Jesse Glick made changes -
            Component/s workflow-api-plugin [ 21711 ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "workflow-api PR 18 (Web Link)" [ 14925 ]
            jglick Jesse Glick made changes -
            Link This issue is duplicated by JENKINS-38605 [ JENKINS-38605 ]
            jglick Jesse Glick made changes -
            Link This issue is duplicated by JENKINS-38769 [ JENKINS-38769 ]
            jglick Jesse Glick made changes -
            Resolution Fixed [ 1 ]
            Status In Review [ 10005 ] Resolved [ 5 ]
            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
            jglick Jesse Glick made changes -
            Link This issue relates to JENKINS-39134 [ JENKINS-39134 ]
            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.
            jglick Jesse Glick made changes -
            Link This issue is duplicated by JENKINS-39346 [ JENKINS-39346 ]
            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: