Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Intermittently Cucumber Reports Jenkins Plugin fails with org.apache.velocity.exception.VelocityException #397

Open
ramapalani opened this issue Aug 18, 2021 · 0 comments

Comments

@ramapalani
Copy link

ramapalani commented Aug 18, 2021

Version report

Jenkins and plugins versions report:
Jenkins 2.249.3
Cucumber reports Plugin: 5.5.0

Jenkins: 2.249.3
OS: Linux - 4.14.232-176.381.amzn2.x86_64
---
docker-workflow:1.25
bootstrap5-api:5.0.1-2
ghprb:1.42.0
timestamper:1.11.8
blueocean-pipeline-api-impl:1.24.3
github-api:1.117
workflow-scm-step:2.11
plain-credentials:1.7
workflow-api:2.46
flaky-test-handler:1.0.4
sonar:2.12
favorite:2.3.2
JiraTestResultReporter:2.0.7
plot:2.1.0
build-view-column:0.3
jackson2-api:2.12.3
mapdb-api:1.0.9.0
workflow-cps:2.87
frontline-jenkins-plugin:1.14.2
junit:1.50
structs:1.20
secrets-mask-plugin:1.11
dependency-track:2.1.0
command-launcher:1.5
multiple-scms:0.6
extended-read-permission:3.2
plugin-util-api:2.3.0
applitools-eyes:1.7
pipeline-model-declarative-agent:1.1.1
pipeline-input-step:2.12
blueocean-events:1.24.3
oauth-credentials:0.4
blueocean-git-pipeline:1.24.3

throttle-concurrents:2.0.1
parameterized-scheduler:0.8
bootstrap4-api:4.6.0-3
code-coverage-api:1.2.0
description-setter:1.10
pipeline-stage-tags-metadata:1.7.2
warnings:5.0.1
groovy-postbuild:2.4.3
blueocean-display-url:2.4.0
bouncycastle-api:2.18
run-condition:1.2
jquery3-api:3.6.0-1
h2-api:1.4.199
github-branch-source:2.9.2
intuit-build-metrics:1.0.10
popper2-api:2.5.4-2
blueocean-jwt:1.24.3
workflow-aggregator:2.6
cloudbees-bitbucket-branch-source:2.9.6
m2release:0.14.0
contrast-continuous-application-security:3.5
allure-jenkins-plugin:2.27.0
blueocean-commons:1.24.3
jquery-detached:1.2.1
trilead-api:1.0.13
blueocean-autofavorite:1.2.4
hidden-parameter:0.0.4
display-url-api:2.3.4
jobConfigHistory:2.19
badge:1.7
external-monitor-job:1.7
github:1.32.0
apache-httpcomponents-client-4-api:4.5.13-1.0
pubsub-light:1.13
workflow-basic-steps:2.21
blueocean-dashboard:1.24.3
support-core:2.70
ant:1.11
promoted-builds:3.2
groovy:2.1
scm-api:2.6.4
workflow-job:2.40
gatling-check:1.0.0
handy-uri-templates-2-api:2.1.8-1.0
postbuild-task:1.8
ansicolor:0.7.3
sse-gateway:1.24
cobertura:1.16
build-timeout:1.19
async-http-client:1.9.40.0
blueocean-core-js:1.24.3
ssh-credentials:1.18.1
docker-commons:1.17
heavy-job:1.1
workflow-multibranch:2.22
script-security:1.77
testng-plugin:1.15
envinject-api:1.5
warnings-ng:3.0.0
parameterized-trigger:2.35.2
dependency-check-jenkins-plugin:4.0.2
kubernetes:1.27.5
odl-metrics-plugin:1.0.17
token-macro:2.13
pipeline-build-step:2.13
aws-java-sdk:1.11.854
pipeline-model-definition:1.7.2
workflow-support:3.8
blueocean-rest-impl:1.24.3
build-metrics-publisher-plugin:5.1.13
authentication-tokens:1.4
deployed-on-column:1.8
node-iterator-api:1.5.0
font-awesome-api:5.15.3-3
jira:3.1.1
build-name-setter:1.7.0
xunit:2.3.2
splunk-devops-extend:1.9.6.1
analysis-core:1.96
blueocean-jira:1.24.3
docker-build-publish:1.3.2
pipeline-model-extensions:1.7.2
subversion:2.12.2
windows-slaves:1.7
kubernetes-client-api:4.11.1
performance:3.15
pipeline-graph-analysis:1.10
aws-device-farm:1.30
blueocean-pipeline-editor:1.24.3
google-oauth-plugin:1.0.0
blueocean-personalization:1.24.3
checkstyle:4.0.0
workflow-cps-global-lib:2.17
mercurial:2.12
credentials-binding:1.24
deployer-framework:1.1
text-finder:1.10
jenkins-jira-transition-deployed:2.0.6
email-ext:2.79
pipeline-rest-api:2.19
blueocean-bitbucket-pipeline:1.24.3
echarts-api:5.1.2-2
built-on-column:1.1
workflow-step-api:2.23
cloudbees-disk-usage-simple:0.9
matrix-auth:2.6.4
pam-auth:1.6
blueocean-github-pipeline:1.24.3
okhttp-api:3.14.9
variant:1.3
popper-api:1.16.1-2
dockerhub-notification:2.3.0
rebuild:1.31
clover:4.11.1
aws-credentials:1.28
jsch:0.1.55.2
ssh-agent:1.17
durable-task:1.35
snakeyaml-api:1.27.0
pipeline-stage-view:2.19
splunk-devops:1.9.6.1
p4:1.8.9
blueocean:1.24.3
pipeline-stage-step:2.5
jquery-ui:1.0.2
port-allocator:1.8
ws-cleanup:0.37
ace-editor:1.1
role-strategy:3.1
gradle:1.30
git-client:3.5.1
pipeline-milestone-step:1.3.1
blueocean-i18n:1.24.3
git-parameter:0.9.6
matrix-project:1.18
preSCMbuildstep:0.3
jquery:1.12.4-1
maven-plugin:3.7
pipeline-maven:3.9.3
pipeline-githubnotify-step:1.0.5
kubernetes-credentials:0.7.0
javadoc:1.6
saml:1.1.7
extended-choice-parameter:0.76
jacoco:3.1.0
pipeline-utility-steps:2.6.1
http_request:1.8.27
blueocean-pipeline-scm-api:1.24.3
cucumber-reports:5.5.0
ignore-committer-strategy:1.0.4
perforce:1.3.34
git-server:1.9
credentials:2.3.14
pipeline-model-api:1.7.2
ibp2-ec2-plugin:1.50.2.9
nexus-jenkins-plugin:3.11.20210621-093929.6318134
checkmarx:2020.4.3
antisamy-markup-formatter:2.1
caffeine-api:2.9.1-23.v51c4e2c879c8
jenkins-design-language:1.24.3
flexible-publish:0.15.2
git:4.4.5
branch-api:2.6.2
config-file-provider:3.7.0
jenkins-multijob-plugin:1.32
blueocean-rest:1.24.3
blueocean-web:1.24.3
copyartifact:1.45.2
jms-responder-plugin:1.0.5
cloudbees-folder:6.15
jdk-tool:1.4
android-emulator:3.0
naginator:1.17.2
datatheorem-mobile-app-security:2.1.0
dynamic-axis:1.0.3
blueocean-config:1.24.3
conditional-buildstep:1.3.6
metrics:4.0.2.6
nodelabelparameter:1.7.2
handlebars:1.1.1
envinject:2.1.6
job-dsl:1.71
cvs:2.11
analysis-model-api:2.1.2
slack:2.48
checks-api:1.7.0
build-blocker-plugin:1.7.3
htmlpublisher:1.23
monitoring:1.86.0
embeddable-build-status:2.0.1
momentjs:1.1.1
workflow-durable-task-step:2.37
notification:1.13
gatling:1.2.5
embeddable-badges:2.5.2
unique-id:2.1.3
vulnerable-plugin-identification:1.0.0.00
resource-disposer:0.12
mailer:1.32.1
lockable-resources:2.10
fstrigger:0.39
swarm:3.24
build-user-vars-plugin:1.5
ldap:1.26

  • What Operating System are you using (both controller, and any agents involved in the problem)?
Amazon Linux 2.

Reproduction steps

  • A free style Jenkins job using Cucumber reports plugin, while processing 90+ test results intermittently fails with this error
[CucumberReport] Using Cucumber Reports version 5.5.0
[CucumberReport] JSON report directory is "target/project/target/surefire-reports/"
[CucumberReport] Copied 59 json files from workspace "/WORKSPACE/target/project/target/surefire-reports" to reports directory "/var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache"
[CucumberReport] Copied 0 properties files from workspace "/WORKSPACE/target/project/target/surefire-reports" to reports directory "/var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache"
[CucumberReport] Processing 59 json files:
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.activity.activityTest.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.assignment.create.assignWhenEngagementOver.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.assignment.create.duplicateAssignment.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.assignment.create.duplicateAssignmentWithDiffeRole.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.assignment.delete.unassignExpert.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.assignment.swap.swapWithDiffRole.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.assignment.swap.swapWithIdempotence.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.assignment.swap.swapWithNewAssignments.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.assignment.update.updateAssignmentStatus.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.bulk.bulkTest.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.engagement.close.badCloseReason.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.engagement.close.closeStartedUnassignedEngagement.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.engagement.close.closeUnstartedEngagement.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.engagement.close.closeWithReasonCLOSED.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.engagement.close.closeWithReasonREVOKED.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.engagement.create.createEngagementTwiceDifYears.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.engagement.create.createEngagementTwiceDupes.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.engagement.create.createEngagementTwiceOneClosed.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.engagement.create.createEngagementWithAccountId.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.engagement.list.getEngagementsForExpert.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.engagement.list.getEngagementsForTaxPayer.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.engagement.search.searchEngagementBadId.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.engagement.update.badEngagementStatusUpdate.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.engagement.update.updateEngagementStatus.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.graphql.closeEngagement.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.graphql.createEngagement.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.graphql.getEngagementById.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.graphql.getEngagementDefinition.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.graphql.getFirmBasedIdentity.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.graphql.searchBulkAssignments.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.graphql.searchEngagementUseEngagementSearchV2.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.graphql.searchEngagementsByBusinessRole.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.graphql.searchEngagementsCustomFilters.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.graphql.searchEngagementsFrontendQuery.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.graphql.searchEngagementsUnauthorized.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.graphql.searchEngagementsWildcardSearch.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.graphql.searchEngagementsWithExpertName.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.graphql.searchEngagementsWithOwnerSort.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.graphql.searchEngagementsWithOwnerSortFilterType.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.graphql.sortEngagements.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.graphql.swapEngagement.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.graphql.updateEngagementDueDate.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.graphql.updatecloseableStatusEngagement.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.ingestor.ingestorTest.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.resource.create.createResource.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.resource.get.InvalidGet.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.resource.get.ValidGet.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.resource.search.InvalidSearch.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.core.resource.search.ValidSearch.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.sampleEngagement.completeLifecycle.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.sampleEngagement.createTestEngagement.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.sampleEngagement.milestone.complete.badCompleteRequestAutomatic.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.sampleEngagement.milestone.complete.badCompleteRequestManual.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.sampleEngagement.milestone.complete.validCompleteRequest.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.sampleEngagement.milestone.override.badOverrideRequest.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.sampleEngagement.milestone.override.validOverrideRequest.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.sampleEngagement.milestone.start.badStartRequest.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.sampleEngagement.milestone.start.validStartRequest.json
[CucumberReport] /var/jenkins_home/jobs/JOB/builds/3085/cucumber-html-reports/.cache/integration.live.sampleEngagement.work.get.getWorks.json
ERROR: Build step failed with exception
org.apache.velocity.exception.VelocityException: The specified class for ResourceManager (org.apache.velocity.runtime.resource.ResourceManagerImpl) does not implement org.apache.velocity.runtime.resource.ResourceManager; Velocity is not initialized correctly.
	at org.apache.velocity.runtime.RuntimeInstance.initializeResourceManager(RuntimeInstance.java:816)
	at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:282)
	at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:742)
	at org.apache.velocity.app.VelocityEngine.init(VelocityEngine.java:123)
	at net.masterthought.cucumber.generators.AbstractPage.<init>(AbstractPage.java:60)
	at net.masterthought.cucumber.generators.ErrorPage.<init>(ErrorPage.java:18)
	at net.masterthought.cucumber.ReportBuilder.generateErrorPage(ReportBuilder.java:229)
	at net.masterthought.cucumber.ReportBuilder.generateReports(ReportBuilder.java:109)
	at net.masterthought.jenkins.CucumberReportPublisher.generateReport(CucumberReportPublisher.java:470)
	at net.masterthought.jenkins.CucumberReportPublisher.perform(CucumberReportPublisher.java:369)
	at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:112)
	at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:78)
	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:741)
	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
	at hudson.model.Build$BuildExecution.post2(Build.java:186)
	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
	at hudson.model.Run.execute(Run.java:1919)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
	at hudson.model.ResourceController.execute(ResourceController.java:97)
	at hudson.model.Executor.run(Executor.java:428)
Build step 'Cucumber reports' marked build as failure

Results

Expected result:

Even when Cucumber reports plugins is not able to process the report, the build should not be marked as failed. So that subsequent stages in the pipeline could be executed.

Actual result:

Build is marked as failed.
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants