Missing XML files cause "Publish Performance test result report"
Open, LowPublic

Description

Summary

That is a regression in the Jenkins Performance plugin between version 2.0. and 2.2. I have rollback the plugin to 2.0 and the job pass just fine now.

Filled Upstream as JENKINS-41417 JENKINS-43438

Issue

https://integration.wikimedia.org/ci/job/selenium-GettingStarted/385/BROWSER=firefox,MEDIAWIKI_ENVIRONMENT=beta,PLATFORM=Linux,label=BrowserTests/console and https://integration.wikimedia.org/ci/job/selenium-GettingStarted/386/BROWSER=firefox,MEDIAWIKI_ENVIRONMENT=beta,PLATFORM=Linux,label=BrowserTests/console both failed due to the XML files being missing.

19:03:03 ERROR: Step ‘Publish Performance test result report’ aborted due to exception: 
19:03:03 java.io.FileNotFoundException: /srv/jenkins-workspace/workspace/selenium-GettingStarted/BROWSER/firefox/MEDIAWIKI_ENVIRONMENT/beta/PLATFORM/Linux/label/BrowserTests/log/junit/*.xml (No such file or directory)
19:03:03 	at java.io.FileInputStream.open(Native Method)
19:03:03 	at java.io.FileInputStream.<init>(FileInputStream.java:146)
19:03:03 	at java.io.FileReader.<init>(FileReader.java:72)
19:03:03 	at hudson.plugins.performance.parsers.ParserDetector.detect(ParserDetector.java:21)
19:03:03 	at hudson.plugins.performance.parsers.ParserFactory.getParser(ParserFactory.java:26)
19:03:03 	at hudson.plugins.performance.PerformancePublisher.getParsers(PerformancePublisher.java:439)
19:03:03 	at hudson.plugins.performance.PerformancePublisher.perform(PerformancePublisher.java:481)
19:03:03 	at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:78)
19:03:03 	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
19:03:03 	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
19:03:03 	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:720)
19:03:03 	at hudson.model.Build$BuildExecution.post2(Build.java:186)
19:03:03 	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:665)
19:03:03 	at hudson.model.Run.execute(Run.java:1753)
19:03:03 	at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
19:03:03 	at hudson.model.ResourceController.execute(ResourceController.java:98)
19:03:03 	at hudson.model.Executor.run(Executor.java:405)

Below is 386:

1​Started by upstream project "selenium-GettingStarted" build number 386
2​originally caused by:
3​ Started by user mattflaschen
4​Building remotely on saucelabs-03 (BrowserTests) in workspace /srv/jenkins-workspace/workspace/selenium-GettingStarted/BROWSER/firefox/MEDIAWIKI_ENVIRONMENT/beta/PLATFORM/Linux/label/BrowserTests
5​Using checkout strategy: Default
6​Last Built Revision: Revision b1b5cd3014a2bd6074fe4981ecc6098d3bb5b25b (origin/master)
7​ > git rev-parse --is-inside-work-tree # timeout=10
8​Fetching changes from the remote Git repository
9​ > git config remote.origin.url https://gerrit.wikimedia.org/r/mediawiki/extensions/GettingStarted # timeout=10
10​Pruning obsolete local branches
11​Fetching upstream changes from https://gerrit.wikimedia.org/r/mediawiki/extensions/GettingStarted
12​ > git --version # timeout=10
13​ > git fetch --tags --progress https://gerrit.wikimedia.org/r/mediawiki/extensions/GettingStarted +refs/heads/*:refs/remotes/origin/* --prune
14​Checking out Revision b1b5cd3014a2bd6074fe4981ecc6098d3bb5b25b (origin/master)
15​ > git config core.sparsecheckout # timeout=10
16​ > git checkout -f b1b5cd3014a2bd6074fe4981ecc6098d3bb5b25b
17​ > git rev-list b1b5cd3014a2bd6074fe4981ecc6098d3bb5b25b # timeout=10
18​Cleaning workspace
19​ > git rev-parse --verify HEAD # timeout=10
20​Resetting working tree
21​ > git reset --hard # timeout=10
22​ > git clean -fdx # timeout=10
23​ > git tag -a -f -m Jenkins Build #386 jenkins-BROWSER=firefox,MEDIAWIKI_ENVIRONMENT=beta,PLATFORM=Linux,label=BrowserTests-386 # timeout=10
24​No emails were triggered.
25​[BrowserTests] $ /bin/bash -xe /tmp/hudson440161821117145517.sh
26​+ mkdir -p /srv/jenkins-workspace/workspace/selenium-GettingStarted/BROWSER/firefox/MEDIAWIKI_ENVIRONMENT/beta/PLATFORM/Linux/label/BrowserTests/log/junit
27​[BrowserTests] $ /bin/bash -xe /tmp/hudson7183250079443586129.sh
28​+ [[ beta == \b\e\t\a* ]]
29​+ export MEDIAWIKI_API_URL=https://en.wikipedia.beta.wmflabs.org/w/api.php
30​+ MEDIAWIKI_API_URL=https://en.wikipedia.beta.wmflabs.org/w/api.php
31​++ /srv/deployment/integration/slave-scripts/bin/mw-api-siteinfo.py https://en.wikipedia.beta.wmflabs.org/w/api.php git_branch
32​+ MEDIAWIKI_GIT_BRANCH=master
33​+ git checkout -f origin/master
34​HEAD is now at b1b5cd3... Add number of pages to dump_redis.php
35​+ git reset --hard origin/master
36​HEAD is now at b1b5cd3 Add number of pages to dump_redis.php
37​+ git clean -x -q -d -f
38​[BrowserTests] $ /bin/bash -xe /tmp/hudson3936795819665878917.sh
39​++ ruby -e 'print RbConfig::CONFIG["ruby_version"]'
40​+ RUBY_VERSION=2.1.0
41​+ export GEM_HOME=/mnt/home/jenkins-deploy/.gem/2.1.0
42​+ GEM_HOME=/mnt/home/jenkins-deploy/.gem/2.1.0
43​+ bundle install --verbose
44​Using rake 11.1.1
45​0: rake (11.1.1) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/rake-11.1.1.gemspec
46​Using ast 2.1.0
47​0: ast (2.1.0) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/ast-2.1.0.gemspec
48​Using parser 2.2.2.6
49​0: parser (2.2.2.6) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/parser-2.2.2.6.gemspec
50​Using astrolabe 1.3.1
51​0: astrolabe (1.3.1) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/astrolabe-1.3.1.gemspec
52​Using builder 3.2.3
53​0: builder (3.2.3) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/builder-3.2.3.gemspec
54​Using ffi 1.9.17
55​0: ffi (1.9.17) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/ffi-1.9.17.gemspec
56​Using childprocess 0.6.2
57​0: childprocess (0.6.2) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/childprocess-0.6.2.gemspec
58​Using diff-lcs 1.3
59​0: diff-lcs (1.3) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/diff-lcs-1.3.gemspec
60​Using multi_json 1.12.1
61​0: multi_json (1.12.1) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/multi_json-1.12.1.gemspec
62​Using gherkin 2.12.2
63​0: gherkin (2.12.2) from /usr/share/rubygems-integration/2.1/specifications/gherkin-2.12.2.gemspec
64​Using multi_test 0.1.2
65​0: multi_test (0.1.2) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/multi_test-0.1.2.gemspec
66​Using cucumber 1.3.20
67​0: cucumber (1.3.20) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/cucumber-1.3.20.gemspec
68​Using i18n 0.8.1
69​0: i18n (0.8.1) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/i18n-0.8.1.gemspec
70​Using faker 1.7.3
71​0: faker (1.7.3) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/faker-1.7.3.gemspec
72​Using yml_reader 0.7
73​0: yml_reader (0.7) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/yml_reader-0.7.gemspec
74​Using data_magic 1.0
75​0: data_magic (1.0) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/data_magic-1.0.gemspec
76​Using unf_ext 0.0.7.2
77​0: unf_ext (0.0.7.2) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/unf_ext-0.0.7.2.gemspec
78​Using unf 0.1.4
79​0: unf (0.1.4) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/unf-0.1.4.gemspec
80​Using domain_name 0.5.20170223
81​0: domain_name (0.5.20170223) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/domain_name-0.5.20170223.gemspec
82​Using multipart-post 2.0.0
83​0: multipart-post (2.0.0) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/multipart-post-2.0.0.gemspec
84​Using faraday 0.11.0
85​0: faraday (0.11.0) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/faraday-0.11.0.gemspec
86​Using http-cookie 1.0.3
87​0: http-cookie (1.0.3) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/http-cookie-1.0.3.gemspec
88​Using faraday-cookie_jar 0.0.6
89​0: faraday-cookie_jar (0.0.6) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/faraday-cookie_jar-0.0.6.gemspec
90​Using faraday_middleware 0.11.0.1
91​0: faraday_middleware (0.11.0.1) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/faraday_middleware-0.11.0.1.gemspec
92​Using headless 2.3.1
93​0: headless (2.3.1) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/headless-2.3.1.gemspec
94​Using json 2.0.3
95​0: json (2.0.3) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/json-2.0.3.gemspec
96​Using mediawiki_api 0.7.1
97​0: mediawiki_api (0.7.1) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/mediawiki_api-0.7.1.gemspec
98​Using net-http-persistent 2.9.4
99​0: net-http-persistent (2.9.4) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/net-http-persistent-2.9.4.gemspec
100​Using page_navigation 0.10
101​0: page_navigation (0.10) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/page_navigation-0.10.gemspec
102​Using rubyzip 1.2.1
103​0: rubyzip (1.2.1) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/rubyzip-1.2.1.gemspec
104​Using websocket 1.2.4
105​0: websocket (1.2.4) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/websocket-1.2.4.gemspec
106​Using selenium-webdriver 3.1.0
107​0: selenium-webdriver (3.1.0) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/selenium-webdriver-3.1.0.gemspec
108​Using watir 6.2.0
109​0: watir (6.2.0) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/watir-6.2.0.gemspec
110​Using page-object 2.0.0
111​0: page-object (2.0.0) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/page-object-2.0.0.gemspec
112​Using mime-types 2.99.3
113​0: mime-types (2.99.3) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/mime-types-2.99.3.gemspec
114​Using netrc 0.11.0
115​0: netrc (0.11.0) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/netrc-0.11.0.gemspec
116​Using rest-client 1.8.0
117​0: rest-client (1.8.0) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/rest-client-1.8.0.gemspec
118​Using rspec-core 2.99.2
119​0: rspec-core (2.99.2) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/rspec-core-2.99.2.gemspec
120​Using rspec-expectations 2.99.2
121​0: rspec-expectations (2.99.2) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/rspec-expectations-2.99.2.gemspec
122​Using syntax 1.2.1
123​0: syntax (1.2.1) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/syntax-1.2.1.gemspec
124​Using thor 0.19.4
125​0: thor (0.19.4) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/thor-0.19.4.gemspec
126​Using mediawiki_selenium 1.8.0
127​0: mediawiki_selenium (1.8.0) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/mediawiki_selenium-1.8.0.gemspec
128​Using powerpack 0.1.1
129​0: powerpack (0.1.1) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/powerpack-0.1.1.gemspec
130​Using rainbow 2.0.0
131​0: rainbow (2.0.0) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/rainbow-2.0.0.gemspec
132​Using ruby-progressbar 1.7.5
133​0: ruby-progressbar (1.7.5) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/ruby-progressbar-1.7.5.gemspec
134​Using rubocop 0.34.2
135​0: rubocop (0.34.2) from /mnt/home/jenkins-deploy/.gem/2.1.0/specifications/rubocop-0.34.2.gemspec
136​Using bundler 1.7.4
137​0: bundler (1.7.4) from /usr/share/rubygems-integration/all/specifications/bundler-1.7.4.gemspec
138​Your bundle is complete!
139​Use `bundle show [gemname]` to see where a bundled gem is installed.
140​+ export SAUCE_ONDEMAND_USERNAME=wikimedia-jenkins
141​+ SAUCE_ONDEMAND_USERNAME=wikimedia-jenkins
142​+ [[ beta == \b\e\t\a* ]]
143​+ echo 'MEDIAWIKI_PASSWORD=$selenium_user_beta'
144​MEDIAWIKI_PASSWORD=$selenium_user_beta
145​+ set +x
146​+ bundle exec rake selenium
147​[DEPRECATION] `last_comment` is deprecated. Please use `last_description` instead.
148​/usr/bin/ruby2.1 -S bundle exec cucumber tests/browser --backtrace --verbose --color --format pretty --format Cucumber::Formatter::Sauce --out '/srv/jenkins-workspace/workspace/selenium-GettingStarted/BROWSER/firefox/MEDIAWIKI_ENVIRONMENT/beta/PLATFORM/Linux/label/BrowserTests/log/junit' --tags ~@skip --tags @en.wikipedia.beta.wmflabs.org --tags @firefox
149​Code:
150​ * tests/browser/features/support/env.rb
151​ * tests/browser/features/support/pages/editable_random_page.rb
152​ * tests/browser/features/support/pages/registration_page.rb
153​Failed to load 'md' programming language for file tests/browser/README.md: cannot load such file -- cucumber/md_support/md_language
154​ * tests/browser/README.md [NOT SUPPORTED]
155​Failed to load 'yml' programming language for file tests/browser/ci.yml: cannot load such file -- cucumber/yml_support/yml_language
156​ * tests/browser/ci.yml [NOT SUPPORTED]
157​ * tests/browser/environments.yml [NOT SUPPORTED]
158​ * tests/browser/features/step_definitions/modal_on_editable_returnto_steps.rb
159
160​Features:
161​ * tests/browser/features/modal_on_editable_returnto.feature
162​Parsing feature files took 0m0.009s
163
164​@en.wikipedia.beta.wmflabs.org @firefox
165​Feature: Modal on editable returnto page
166
167​ Scenario: User sees modal call to action after registration # tests/browser/features/modal_on_editable_returnto.feature:4
168​ Given I am at a random page # mediawiki_selenium-1.8.0/lib/mediawiki_selenium/step_definitions/navigation_steps.rb:1
169​ When I register # tests/browser/features/step_definitions/modal_on_editable_returnto_steps.rb:1
170​ Then I should be returned to the same article # tests/browser/features/step_definitions/modal_on_editable_returnto_steps.rb:8
171​ And I should see a modal call to action # tests/browser/features/step_definitions/modal_on_editable_returnto_steps.rb:12
172​ And one action is edit this page # tests/browser/features/step_definitions/modal_on_editable_returnto_steps.rb:16
173​ And one action is edit a suggested page # tests/browser/features/step_definitions/modal_on_editable_returnto_steps.rb:20
174​ And one action is no thanks, maybe later # tests/browser/features/step_definitions/modal_on_editable_returnto_steps.rb:24
175
176​1 scenario (1 passed)
177​7 steps (7 passed)
178​0m46.571s
179​Recording test results
180​IRC notifier plugin: Sending notification to: #wikimedia-releng
181​ERROR: Step ‘Publish Performance test result report’ aborted due to exception:
182​java.io.FileNotFoundException: /srv/jenkins-workspace/workspace/selenium-GettingStarted/BROWSER/firefox/MEDIAWIKI_ENVIRONMENT/beta/PLATFORM/Linux/label/BrowserTests/log/junit/*.xml (No such file or directory)
183​ at java.io.FileInputStream.open(Native Method)
184​ at java.io.FileInputStream.<init>(FileInputStream.java:146)
185​ at java.io.FileReader.<init>(FileReader.java:72)
186​ at hudson.plugins.performance.parsers.ParserDetector.detect(ParserDetector.java:21)
187​ at hudson.plugins.performance.parsers.ParserFactory.getParser(ParserFactory.java:26)
188​ at hudson.plugins.performance.PerformancePublisher.getParsers(PerformancePublisher.java:439)
189​ at hudson.plugins.performance.PerformancePublisher.perform(PerformancePublisher.java:481)
190​ at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:78)
191​ at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
192​ at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
193​ at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:720)
194​ at hudson.model.Build$BuildExecution.post2(Build.java:186)
195​ at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:665)
196​ at hudson.model.Run.execute(Run.java:1753)
197​ at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
198​ at hudson.model.ResourceController.execute(ResourceController.java:98)
199​ at hudson.model.Executor.run(Executor.java:405)
200​Archiving artifacts
201​[PostBuildScript] - Execution post build scripts.
202​[BrowserTests] $ /bin/bash -xe /tmp/hudson2462942571325681054.sh
203​+ set +e
204​+ set +x
205​Removing potential png screenshots under /log/
206​Done
207​Email was triggered for: Failure - Any
208​Sending email for trigger: Failure - Any
209​Sending email to: mflaschen@wikimedia.org qa-alerts@lists.wikimedia.org samsmith@wikimedia.org
210​Finished: FAILURE

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptMay 2 2017, 7:10 PM

Mentioned in SAL (#wikimedia-releng) [2017-05-02T19:51:15Z] <hashar> Jenkins: rolling back Performance plugin from 2.2 to 2.0 due to an exception / failure to find a junit xml file. T164296

hashar added a comment.May 2 2017, 7:57 PM

I thought maybe the Performance plugin would be to blame but apparently that is not the case. For a build, there is definitely a file /srv/jenkins-workspace/workspace/selenium-GettingStarted/BROWSER/firefox/MEDIAWIKI_ENVIRONMENT/beta/PLATFORM/Linux/label/BrowserTests/log/junit/TEST-tests-browser-features-modal_on_editable_returnto.xml with the content:

<?xml version="1.0" encoding="UTF-8"?>
<testsuite errors="0" failures="0" name="Modal on editable returnto page" skipped="0" tests="1" time="42.729813">
<testcase classname="Modal on editable returnto page" name="User sees modal call to action after registration" time="42.729813">
  <system-out/>
  <system-err/>
</testcase>
  <system-out>
    <![CDATA[]]>
  </system-out>
  <system-err>
    <![CDATA[]]>
  </system-err>
</testsuite>

Mentioned in SAL (#wikimedia-releng) [2017-05-02T19:59:36Z] <hashar> Regenerate jobs selenium-GettingStarted from JJB - T164296

That is a regression in the Jenkins Performance plugin between version 2.0. and 2.2. I have rollback the plugin to 2.0 and the job pass just fine now.

Filled Upstream as JENKINS-41417.

hashar triaged this task as Normal priority.May 2 2017, 8:17 PM
hashar updated the task description. (Show Details)
hashar moved this task from Backlog to Reported Upstream on the Upstream board.
hashar moved this task from Backlog to Reported upstream on the Jenkins board.
zeljkofilipin lowered the priority of this task from Normal to Low.May 29 2017, 10:30 AM