-
Bug
-
Resolution: Fixed
-
Major
-
Jenkins: 2.462.2
OS: Linux - 5.15.0-119-generic
Java: 21.0.4 - Ubuntu (OpenJDK 64-Bit Server VM)
---
active-directory:2.36
ant:511.v0a_a_1a_334f41b_
antisamy-markup-formatter:162.v0e6ec0fcfcf6
apache-httpcomponents-client-4-api:4.5.14-208.v438351942757
asm-api:9.7-33.v4d23ef79fcc8
authentication-tokens:1.119.v50285141b_7e1
blueocean:1.27.14
blueocean-bitbucket-pipeline:1.27.14
blueocean-commons:1.27.14
blueocean-config:1.27.14
blueocean-core-js:1.27.14
blueocean-dashboard:1.27.14
blueocean-display-url:2.4.3
blueocean-events:1.27.14
blueocean-git-pipeline:1.27.14
blueocean-github-pipeline:1.27.14
blueocean-i18n:1.27.14
blueocean-jwt:1.27.14
blueocean-personalization:1.27.14
blueocean-pipeline-api-impl:1.27.14
blueocean-pipeline-editor:1.27.14
blueocean-pipeline-scm-api:1.27.14
blueocean-rest:1.27.14
blueocean-rest-impl:1.27.14
blueocean-web:1.27.14
bootstrap5-api:5.3.3-1
bouncycastle-api:2.30.1.78.1-248.ve27176eb_46cb_
branch-api:2.1178.v969d9eb_c728e
build-timeout:1.33
caffeine-api:3.1.8-133.v17b_1ff2e0599
checks-api:2.2.0
cloudbees-bitbucket-branch-source:888.v8e6d479a_1730
cloudbees-folder:6.942.vb_43318a_156b_2
command-launcher:115.vd8b_301cc15d0
commons-compress-api:1.26.1-2
commons-lang3-api:3.16.0-82.ve2b_07d659d95
commons-text-api:1.12.0-129.v99a_50df237f7
credentials:1371.vfee6b_095f0a_3
credentials-binding:681.vf91669a_32e45
dark-theme:479.v661b_1b_911c01
data-tables-api:2.1.4-1
datadog:7.1.2
display-url-api:2.204.vf6fddd8a_8b_e9
dotnet-sdk:1.4.0
durable-task:568.v8fb_5c57e8417
echarts-api:5.5.1-1
eddsa-api:0.3.0-4.v84c6f0f4969e
email-ext:1814.v404722f34263
extended-read-permission:53.v6499940139e5
favorite:2.221.v19ca_666b_62f5
file-operations:266.v9d4e1eb_235b_a_
font-awesome-api:6.6.0-1
git:5.4.1
git-client:5.0.0
git-parameter:0.9.19
git-server:126.v0d945d8d2b_39
github:1.40.0
github-api:1.321-468.v6a_9f5f2d5a_7e
github-branch-source:1797.v86fdb_4d57d43
gradle:2.12.1
gson-api:2.11.0-41.v019fcf6125dc
handy-uri-templates-2-api:2.1.8-30.v7e777411b_148
htmlpublisher:1.36
http_request:1.19
instance-identity:185.v303dc7c645f9
ionicons-api:74.v93d5eb_813d5f
jackson2-api:2.17.0-379.v02de8ec9f64c
jakarta-activation-api:2.1.3-1
jakarta-mail-api:2.1.3-1
javadoc:280.v050b_5c849f69
javax-activation-api:1.2.0-7
javax-mail-api:1.6.2-10
jaxb:2.3.9-1
jdk-tool:80.v8a_dee33ed6f0
jenkins-design-language:1.27.14
jersey2-api:2.44-151.v6df377fff741
jira:3.13
jjwt-api:0.11.5-112.ve82dfb_224b_a_d
jnr-posix-api:3.1.19-2
joda-time-api:2.12.7-29.v5a_b_e3a_82269a_
jquery3-api:3.7.1-2
jsch:0.2.16-86.v42e010d9484b_
json-api:20240303-41.v94e11e6de726
json-path-api:2.9.0-58.v62e3e85b_a_655
junit:1296.vb_f538b_c88630
ldap:725.v3cb_b_711b_1a_ef
lockable-resources:1255.vf48745da_35d0
mail-watcher-plugin:1.19
mailer:472.vf7c289a_4b_420
mapdb-api:1.0.9-40.v58107308b_7a_7
matrix-auth:3.2.2
matrix-project:832.va_66e270d2946
maven-plugin:3.23
mercurial:1260.vdfb_723cdcc81
metrics:4.2.21-451.vd51df8df52ec
mina-sshd-api-common:2.13.2-125.v200281b_61d59
mina-sshd-api-core:2.13.2-125.v200281b_61d59
next-build-number:1.8
okhttp-api:4.11.0-172.vda_da_1feeb_c6e
p4:1.16.0
pam-auth:1.11
pipeline-build-step:540.vb_e8849e1a_b_d8
pipeline-github-lib:61.v629f2cc41d83
pipeline-graph-analysis:216.vfd8b_ece330ca_
pipeline-groovy-lib:730.ve57b_34648c63
pipeline-input-step:495.ve9c153f6067b_
pipeline-milestone-step:119.vdfdc43fc3b_9a_
pipeline-model-api:2.2205.vc9522a_9d5711
pipeline-model-definition:2.2205.vc9522a_9d5711
pipeline-model-extensions:2.2205.vc9522a_9d5711
pipeline-rest-api:2.34
pipeline-stage-step:312.v8cd10304c27a_
pipeline-stage-tags-metadata:2.2205.vc9522a_9d5711
pipeline-stage-view:2.34
pipeline-utility-steps:2.17.0
plain-credentials:183.va_de8f1dd5a_2b_
plugin-util-api:4.1.0
pubsub-light:1.18
resource-disposer:0.23
role-strategy:743.v142ea_b_d5f1d3
saml:4.464.vea_cb_75d7f5e0
scm-api:696.v778d637b_a_762
script-security:1354.va_70a_fe478c7f
simple-theme-plugin:191.vcd207ef9dd24
slack:734.v7f9ec8b_66975
snakeyaml-api:2.2-121.v5a_68b_9300b_d4
sse-gateway:1.27
ssh-credentials:343.v884f71d78167
ssh-slaves:2.973.v0fa_8c0dea_f9f
sshd:3.330.vc866a_8389b_58
structs:338.v848422169819
subversion:1275.va_7b_014f3fc2c
theme-manager:262.vc57ee4a_eda_5d
throttle-concurrents:2.14
timestamper:1.27
token-macro:400.v35420b_922dcb_
trilead-api:2.147.vb_73cc728a_32e
variant:60.v7290fc0eb_b_cd
workflow-aggregator:600.vb_57cdd26fdd7
workflow-api:1336.vee415d95c521
workflow-basic-steps:1058.vcb_fc1e3a_21a_9
workflow-cps:3953.v19f11da_8d2fa_
workflow-durable-task-step:1371.vb_7cec8f3b_95e
workflow-job:1436.vfa_244484591f
workflow-multibranch:795.ve0cb_1f45ca_9a_
workflow-scm-step:427.v4ca_6512e7df1
workflow-step-api:678.v3ee58b_469476
workflow-support:920.v59f71ce16f04
ws-cleanup:0.46Jenkins: 2.462.2 OS: Linux - 5.15.0-119-generic Java: 21.0.4 - Ubuntu (OpenJDK 64-Bit Server VM) --- active-directory:2.36 ant:511.v0a_a_1a_334f41b_ antisamy-markup-formatter:162.v0e6ec0fcfcf6 apache-httpcomponents-client-4-api:4.5.14-208.v438351942757 asm-api:9.7-33.v4d23ef79fcc8 authentication-tokens:1.119.v50285141b_7e1 blueocean:1.27.14 blueocean-bitbucket-pipeline:1.27.14 blueocean-commons:1.27.14 blueocean-config:1.27.14 blueocean-core-js:1.27.14 blueocean-dashboard:1.27.14 blueocean-display-url:2.4.3 blueocean-events:1.27.14 blueocean-git-pipeline:1.27.14 blueocean-github-pipeline:1.27.14 blueocean-i18n:1.27.14 blueocean-jwt:1.27.14 blueocean-personalization:1.27.14 blueocean-pipeline-api-impl:1.27.14 blueocean-pipeline-editor:1.27.14 blueocean-pipeline-scm-api:1.27.14 blueocean-rest:1.27.14 blueocean-rest-impl:1.27.14 blueocean-web:1.27.14 bootstrap5-api:5.3.3-1 bouncycastle-api:2.30.1.78.1-248.ve27176eb_46cb_ branch-api:2.1178.v969d9eb_c728e build-timeout:1.33 caffeine-api:3.1.8-133.v17b_1ff2e0599 checks-api:2.2.0 cloudbees-bitbucket-branch-source:888.v8e6d479a_1730 cloudbees-folder:6.942.vb_43318a_156b_2 command-launcher:115.vd8b_301cc15d0 commons-compress-api:1.26.1-2 commons-lang3-api:3.16.0-82.ve2b_07d659d95 commons-text-api:1.12.0-129.v99a_50df237f7 credentials:1371.vfee6b_095f0a_3 credentials-binding:681.vf91669a_32e45 dark-theme:479.v661b_1b_911c01 data-tables-api:2.1.4-1 datadog:7.1.2 display-url-api:2.204.vf6fddd8a_8b_e9 dotnet-sdk:1.4.0 durable-task:568.v8fb_5c57e8417 echarts-api:5.5.1-1 eddsa-api:0.3.0-4.v84c6f0f4969e email-ext:1814.v404722f34263 extended-read-permission:53.v6499940139e5 favorite:2.221.v19ca_666b_62f5 file-operations:266.v9d4e1eb_235b_a_ font-awesome-api:6.6.0-1 git:5.4.1 git-client:5.0.0 git-parameter:0.9.19 git-server:126.v0d945d8d2b_39 github:1.40.0 github-api:1.321-468.v6a_9f5f2d5a_7e github-branch-source:1797.v86fdb_4d57d43 gradle:2.12.1 gson-api:2.11.0-41.v019fcf6125dc handy-uri-templates-2-api:2.1.8-30.v7e777411b_148 htmlpublisher:1.36 http_request:1.19 instance-identity:185.v303dc7c645f9 ionicons-api:74.v93d5eb_813d5f jackson2-api:2.17.0-379.v02de8ec9f64c jakarta-activation-api:2.1.3-1 jakarta-mail-api:2.1.3-1 javadoc:280.v050b_5c849f69 javax-activation-api:1.2.0-7 javax-mail-api:1.6.2-10 jaxb:2.3.9-1 jdk-tool:80.v8a_dee33ed6f0 jenkins-design-language:1.27.14 jersey2-api:2.44-151.v6df377fff741 jira:3.13 jjwt-api:0.11.5-112.ve82dfb_224b_a_d jnr-posix-api:3.1.19-2 joda-time-api:2.12.7-29.v5a_b_e3a_82269a_ jquery3-api:3.7.1-2 jsch:0.2.16-86.v42e010d9484b_ json-api:20240303-41.v94e11e6de726 json-path-api:2.9.0-58.v62e3e85b_a_655 junit:1296.vb_f538b_c88630 ldap:725.v3cb_b_711b_1a_ef lockable-resources:1255.vf48745da_35d0 mail-watcher-plugin:1.19 mailer:472.vf7c289a_4b_420 mapdb-api:1.0.9-40.v58107308b_7a_7 matrix-auth:3.2.2 matrix-project:832.va_66e270d2946 maven-plugin:3.23 mercurial:1260.vdfb_723cdcc81 metrics:4.2.21-451.vd51df8df52ec mina-sshd-api-common:2.13.2-125.v200281b_61d59 mina-sshd-api-core:2.13.2-125.v200281b_61d59 next-build-number:1.8 okhttp-api:4.11.0-172.vda_da_1feeb_c6e p4:1.16.0 pam-auth:1.11 pipeline-build-step:540.vb_e8849e1a_b_d8 pipeline-github-lib:61.v629f2cc41d83 pipeline-graph-analysis:216.vfd8b_ece330ca_ pipeline-groovy-lib:730.ve57b_34648c63 pipeline-input-step:495.ve9c153f6067b_ pipeline-milestone-step:119.vdfdc43fc3b_9a_ pipeline-model-api:2.2205.vc9522a_9d5711 pipeline-model-definition:2.2205.vc9522a_9d5711 pipeline-model-extensions:2.2205.vc9522a_9d5711 pipeline-rest-api:2.34 pipeline-stage-step:312.v8cd10304c27a_ pipeline-stage-tags-metadata:2.2205.vc9522a_9d5711 pipeline-stage-view:2.34 pipeline-utility-steps:2.17.0 plain-credentials:183.va_de8f1dd5a_2b_ plugin-util-api:4.1.0 pubsub-light:1.18 resource-disposer:0.23 role-strategy:743.v142ea_b_d5f1d3 saml:4.464.vea_cb_75d7f5e0 scm-api:696.v778d637b_a_762 script-security:1354.va_70a_fe478c7f simple-theme-plugin:191.vcd207ef9dd24 slack:734.v7f9ec8b_66975 snakeyaml-api:2.2-121.v5a_68b_9300b_d4 sse-gateway:1.27 ssh-credentials:343.v884f71d78167 ssh-slaves:2.973.v0fa_8c0dea_f9f sshd:3.330.vc866a_8389b_58 structs:338.v848422169819 subversion:1275.va_7b_014f3fc2c theme-manager:262.vc57ee4a_eda_5d throttle-concurrents:2.14 timestamper:1.27 token-macro:400.v35420b_922dcb_ trilead-api:2.147.vb_73cc728a_32e variant:60.v7290fc0eb_b_cd workflow-aggregator:600.vb_57cdd26fdd7 workflow-api:1336.vee415d95c521 workflow-basic-steps:1058.vcb_fc1e3a_21a_9 workflow-cps:3953.v19f11da_8d2fa_ workflow-durable-task-step:1371.vb_7cec8f3b_95e workflow-job:1436.vfa_244484591f workflow-multibranch:795.ve0cb_1f45ca_9a_ workflow-scm-step:427.v4ca_6512e7df1 workflow-step-api:678.v3ee58b_469476 workflow-support:920.v59f71ce16f04 ws-cleanup:0.46
After updating our "Pipleine: Groovy" plugin, we started to have a strange error. Whenever a pipeline fails, it raises NullPointerException and our post operations cannot run. All pipeline process gets interrupted.
It started with https://plugins.jenkins.io/workflow-cps/releases/#version_3946.v7935cb_edb_f82 and it is still happening with the latest release https://plugins.jenkins.io/workflow-cps/releases/#version_3953.v19f11da_8d2fa_ . We reverted our plugin to https://plugins.jenkins.io/workflow-cps/releases/#version_3943.v3519a_3260660 to prevent this issue.
It is happening on our Dev Jenkins which is working on a Linux machine with Java 21, but it is also happening on another Jenkins that has Windows and Java 11. On Windows one it just throws NullPointerException without any explanation but with the same callstack. I managed to write a simple pipeline that can reproduce the issue. If there are no parallel stages after throwing the error, exception is not raised.
pipeline { options { parallelsAlwaysFailFast() buildDiscarder(logRotator(artifactDaysToKeepStr: '', artifactNumToKeepStr: '', daysToKeepStr: '7', numToKeepStr: '')) timestamps() } agent none stages { stage ("Error Stage") { when { beforeAgent true expression { true } } agent any steps { echo "Echo" error "Error" echo "After Error" } } stage ("Parallel Stages") { when {expression { true }} parallel{ stage('Parallel 1') { when { beforeAgent true expression { true } } agent any steps { echo "Echo Steps 1" } post { cleanup { echo "cleanup 1" } failure { echo "failure 1" } aborted { echo "aborted 1" } } } stage('Parallel 2') { when { beforeAgent true expression { true } } agent any steps { echo "Echo Steps 2" } post { cleanup { echo "cleanup 2" } failure { echo "failure 2" } aborted { echo "aborted 2" } } } } } } post { failure { echo "Failure" } always { echo "Always" } } }
16:02:03 Started by user Bilal Yaylak 16:02:04 [Pipeline] Start of Pipeline 16:02:05 [Pipeline] timestamps 16:02:05 The timestamps step is unnecessary when timestamps are enabled for all Pipeline builds. 16:02:05 [Pipeline] { 16:02:05 [Pipeline] stage 16:02:05 [Pipeline] { (Error Stage) 16:02:05 [Pipeline] node 16:02:05 Running on ******** in C:\JenkinsWorkspaces\1\workspace\groovy-plugin-test 16:02:05 [Pipeline] { 16:02:05 [Pipeline] echo 16:02:05 Echo 16:02:05 [Pipeline] error 16:02:05 [Pipeline] } 16:02:05 [Pipeline] // node 16:02:05 [Pipeline] } 16:02:05 [Pipeline] // stage 16:02:05 [Pipeline] stage 16:02:05 [Pipeline] { (Parallel Stages) 16:02:05 Stage "Parallel Stages" skipped due to earlier failure(s) 16:02:05 [Pipeline] getContext 16:02:05 [Pipeline] parallel 16:02:05 [Pipeline] { (Branch: Parallel 1) 16:02:05 [Pipeline] { (Branch: Parallel 2) 16:02:05 [Pipeline] stage 16:02:05 [Pipeline] { (Parallel 1) 16:02:05 [Pipeline] stage 16:02:05 [Pipeline] { (Parallel 2) 16:02:05 Stage "Parallel 1" skipped due to earlier failure(s) 16:02:05 [Pipeline] getContext 16:02:05 [Pipeline] } 16:02:05 Stage "Parallel 2" skipped due to earlier failure(s) 16:02:05 [Pipeline] getContext 16:02:05 [Pipeline] } 16:02:05 [Pipeline] // stage 16:02:05 [Pipeline] // stage 16:02:05 [Pipeline] } 16:02:05 Failed in branch Parallel 1 16:02:05 [Pipeline] } 16:02:05 Failed in branch Parallel 2 16:02:05 Terminating timestamps (id: 3) 16:02:05 Terminating stage (id: 15) 16:02:05 Terminating parallel (id: 18) 16:02:05 [Pipeline] End of Pipeline 16:02:05 Also: org.jenkinsci.plugins.workflow.actions.ErrorAction$ErrorId: fcbd3f7d-7035-4377-9f95-5592f79ee7d6 16:02:05 java.lang.NullPointerException: Cannot read field "group" because "this.this$0.thread" is null 16:02:05 at PluginClassLoader for workflow-cps//org.jenkinsci.plugins.workflow.cps.CpsBodyExecution$2.onSuccess(CpsBodyExecution.java:254) 16:02:05 at PluginClassLoader for workflow-cps//org.jenkinsci.plugins.workflow.cps.CpsBodyExecution$2.onSuccess(CpsBodyExecution.java:249) 16:02:05 at PluginClassLoader for workflow-cps//org.jenkinsci.plugins.workflow.cps.CpsFlowExecution$4$1.run(CpsFlowExecution.java:995) 16:02:05 at PluginClassLoader for workflow-cps//org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService.lambda$wrap$2(CpsVmExecutorService.java:85) 16:02:05 at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) 16:02:05 at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) 16:02:05 at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:139) 16:02:05 at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28) 16:02:05 at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68) 16:02:05 at jenkins.util.ErrorLoggingExecutorService.lambda$wrap$0(ErrorLoggingExecutorService.java:51) 16:02:05 at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) 16:02:05 at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) 16:02:05 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) 16:02:05 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) 16:02:05 at PluginClassLoader for workflow-cps//org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$1.call(CpsVmExecutorService.java:53) 16:02:05 at PluginClassLoader for workflow-cps//org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$1.call(CpsVmExecutorService.java:50) 16:02:05 at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:136) 16:02:05 at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:275) 16:02:05 at PluginClassLoader for workflow-cps//org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService.lambda$categoryThreadFactory$0(CpsVmExecutorService.java:50) 16:02:05 at java.base/java.lang.Thread.run(Thread.java:1583) 16:02:05 Finished: FAILURE
I'd appreciate it if anyone could help, thank you in advance.