Page MenuHomePhabricator

Spurious CI failures for jquery.wikibase.edittoolbar in mediawiki-extensions-qunit-jessie
Closed, DuplicatePublic

Description

It seems that earlier this day, the mediawiki-extensions-qunit-jessie job has started failing with errors like this (example console):

1 FAILED TESTS:
2 jquery.wikibase.edittoolbar
3 ✖ Create & destroy
4 Chrome 57.0.2987 (Linux 0.0.0)
5 afterEach failed on Create & destroy: Pending AJAX requests: 0 (active: 1)
6 Error: Pending AJAX requests: 0 (active: 1)
7 at Object.localEnv.afterEach (http://localhost:9876/…)
8 at Object.localEnv.afterEach (http://localhost:9876/…)
9 at callHook (node_modules/qunitjs/qunit/qunit.js:1497:25)
10 at runHook (node_modules/qunitjs/qunit/qunit.js:1520:7)
11 at Object.advance (node_modules/qunitjs/qunit/qunit.js:1116:26)
12 at begin (node_modules/qunitjs/qunit/qunit.js:2937:20)
13 at node_modules/qunitjs/qunit/qunit.js:2051:6
14
15
16 ✖ Deferred button initialization
17 Chrome 57.0.2987 (Linux 0.0.0)
18 afterEach failed on Deferred button initialization: Pending AJAX requests: 0 (active: 1)
19 Error: Pending AJAX requests: 0 (active: 1)
20 at Object.localEnv.afterEach (http://localhost:9876/…)
21 at Object.localEnv.afterEach (http://localhost:9876/…)
22 at callHook (node_modules/qunitjs/qunit/qunit.js:1497:25)
23 at runHook (node_modules/qunitjs/qunit/qunit.js:1520:7)
24 at Object.advance (node_modules/qunitjs/qunit/qunit.js:1116:26)
25 at begin (node_modules/qunitjs/qunit/qunit.js:2937:20)
26 at node_modules/qunitjs/qunit/qunit.js:2051:6
27
28
29 ✖ toEditMode(), toNonEditMode()
30 Chrome 57.0.2987 (Linux 0.0.0)
31 afterEach failed on toEditMode(), toNonEditMode(): Pending AJAX requests: 0 (active: 1)
32 Error: Pending AJAX requests: 0 (active: 1)
33 at Object.localEnv.afterEach (http://localhost:9876/…)
34 at Object.localEnv.afterEach (http://localhost:9876/…)
35 at callHook (node_modules/qunitjs/qunit/qunit.js:1497:25)
36 at runHook (node_modules/qunitjs/qunit/qunit.js:1520:7)
37 at Object.advance (node_modules/qunitjs/qunit/qunit.js:1116:26)
38 at begin (node_modules/qunitjs/qunit/qunit.js:2937:20)
39 at node_modules/qunitjs/qunit/qunit.js:2051:6
40
41
42 jquery.wikibase.entitytermsforlanguageview
43 ✖ Create & destroy
44 Chrome 57.0.2987 (Linux 0.0.0)
45 afterEach failed on Create & destroy: Pending AJAX requests: 0 (active: 1)
46 Error: Pending AJAX requests: 0 (active: 1)
47 at Object.localEnv.afterEach (http://localhost:9876…)
48 at Object.localEnv.afterEach (http://localhost:9876/…)
49 at callHook (node_modules/qunitjs/qunit/qunit.js:1497:25)
50 at runHook (node_modules/qunitjs/qunit/qunit.js:1520:7)
51 at Object.advance (node_modules/qunitjs/qunit/qunit.js:1116:26)
52 at begin (node_modules/qunitjs/qunit/qunit.js:2937:20)
53 at node_modules/qunitjs/qunit/qunit.js:2051:6

CCing @WMDE-leszek because he’s been working on the browser tests and I don’t have much else to go on.

Repeating the CI build sometimes makes the error disappear (e. g. on https://gerrit.wikimedia.org/r/c/416765/, patch set 6, after the second recheck).

Event Timeline

Pending AJAX requests: 0 (active: 1)

Looking at tests/qunit/data/testrunner.js, I’m not sure how that can happen… jQuery thinks there’s an active request somewhere ($.active, logged as “active: 1”), but it’s not in “pending” state – but in that case, why isn’t the “Pending requests does not match jQuery.active count” message (because pending.length !== $.active) being printed? Or do we not see mw.log.warn() messages in the CI output?