Page MenuHomePhabricator

browsertests-VisualEditor-language-screenshot jenkins job failing
Closed, ResolvedPublic1 Estimated Story Points

Description

At the moment, we have a couple of jenkins jobs:

The first job runs local firefox and fails randomly.

Options:

  • check if any of the headless environment variables helps
  • check if any of the reuse browser environment variables helps
  • check if switching to local chromium helps

The second job run a remote browser on sauce labs, but it does not support Chinese and Japanese fonts (at least), but only on linux host.

  • check if running the job on windows (or mac) helps.

Event Timeline

zeljkofilipin claimed this task.
zeljkofilipin raised the priority of this task from to Medium.
zeljkofilipin updated the task description. (Show Details)
zeljkofilipin changed Security from none to None.
zeljkofilipin added a subscriber: Amire80.

Can you confirm you have mediawiki_selenium 0.4.1 +

And:

export HEADLESS_DESTROY_AT_EXIT=false

See https://bugzilla.wikimedia.org/show_bug.cgi?id=71602#c6

In T1321#23186, @hashar wrote:

Can you confirm you have mediawiki_selenium 0.4.1 +

Yes.

00:03:37.335 Installing mediawiki_selenium 0.4.1
00:03:37.335 0:  mediawiki_selenium (0.4.1) from /mnt/jenkins-workspace/workspace/browsertests-VisualEditor-language-screenshot-windows_8.1-firefox/LANGUAGE_SCREENSHOT_CODE/ar/label/gems/2.0.0/specifications/mediawiki_selenium-0.4.1.gemspec

From:

https://integration.wikimedia.org/ci/view/BrowserTests/view/VisualEditor/job/browsertests-VisualEditor-language-screenshot-windows_8.1-firefox/LANGUAGE_SCREENSHOT_CODE=ar,label=contintLabsSlave%20&&%20UbuntuTrusty/1/console

The job has BROWSER=firefox and HEADLESS=false, I am not sure what happens exactly in some case. We probably want to set HEADLESS=true and set HEADLESS* env variables to avoid killing the XVFB.

The relevant code for 0.4.1 is:

http://git.wikimedia.org/blob/mediawiki%2Fselenium/0.4.1/lib%2Fmediawiki_selenium%2Fsupport%2Fhooks.rb#L27

See also the README.md doc under "Headless mode" section: http://git.wikimedia.org/blob/mediawiki%2Fselenium/0.4.1/README.md

I think we want:

HEADLESS=true
HEADLESS_DESTROY_AT_EXIT=false

That will default to use display 99, we have an XVFB listening on 99 already.

If we want the headless gem to spawn a new xvfb on a different display port, we can use HEADLESS_REUSE=false which will make it spawn a new xvfb on a different display port. But that is probably not needed.

Some more context:

Already reported as bug 71602 - mediawiki_selenium always use the same default xvfb display 99, which explains how our jobs ends up killing each other XVFB (typical race condition).

Dan fixed it with https://gerrit.wikimedia.org/r/#/c/164704/ ( b6af34a40e ) which is included in mediawiki_selenium 0.4.1.

The jobs need to be bumped to that library version and use the appropriate env variables as described above.

zeljkofilipin raised the priority of this task from Medium to High.Nov 20 2014, 2:48 PM
zeljkofilipin lowered the priority of this task from High to Lowest.Dec 3 2014, 1:35 PM
Amire80 assigned this task to zeljkofilipin.
Amire80 raised the priority of this task from Lowest to Medium.

It was moved to run on Mac, and now runs successfully.