Closed Bug 1330589 Opened 8 years ago Closed 7 years ago

stylo: Talos job "tcanvasmark" failed with timeout

Categories

(Testing :: Talos, defect, P3)

x86_64
Linux
defect

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: shinglyu, Unassigned)

References

Details

Attachments

(3 files)

Component: CSS Parsing and Computation → Talos
Product: Core → Testing
The error message: 17:27:49 INFO - PROCESS | 4890 | ERROR:geckoservo::glue: Unnecessary call to traverse_subtree 17:27:49 INFO - PROCESS | 4890 | ERROR:geckoservo::glue: Unnecessary call to traverse_subtree 17:27:49 INFO - PROCESS | 4890 | ERROR:geckoservo::glue: Unnecessary call to traverse_subtree 17:27:49 INFO - PROCESS | 4890 | ERROR:geckoservo::glue: Unnecessary call to traverse_subtree 17:27:49 INFO - PROCESS | 4890 | ERROR:geckoservo::glue: Unnecessary call to traverse_subtree 17:27:49 INFO - PROCESS | 2030 | ************************* 17:27:49 INFO - PROCESS | 2030 | A coding exception was thrown and uncaught in a Task. 17:27:49 INFO - PROCESS | 2030 | 17:27:49 ERROR - PROCESS | 2030 | Full message: TypeError: NetworkError when attempting to fetch resource. 17:27:49 INFO - PROCESS | 2030 | Full stack: 17:27:49 INFO - PROCESS | 2030 | ************************* 17:37:49 INFO - Terminating psutil.Process(pid=2030, name='firefox') 17:37:49 INFO - TEST-UNEXPECTED-ERROR | tcanvasmark | timeout 17:37:49 ERROR - Traceback (most recent call last): 17:37:49 INFO - File "/home/shinglyu/workspace/stylo/stylo-incubator-2/testing/talos/talos/run_tests.py", line 202, in run_tests 17:37:49 INFO - talos_results.add(mytest.runTest(browser_config, test)) 17:37:49 INFO - File "/home/shinglyu/workspace/stylo/stylo-incubator-2/testing/talos/talos/ttest.py", line 70, in runTest 17:37:49 INFO - return self._runTest(browser_config, test_config, setup) 17:37:49 INFO - File "/home/shinglyu/workspace/stylo/stylo-incubator-2/testing/talos/talos/ttest.py", line 174, in _runTest 17:37:49 INFO - if counter_management else None), 17:37:49 INFO - File "/home/shinglyu/workspace/stylo/stylo-incubator-2/testing/talos/talos/talos_process.py", line 117, in run_browser 17:37:49 INFO - raise TalosError("timeout") 17:37:49 INFO - TalosError: timeout 17:37:49 INFO - TEST-INFO took 902868ms 17:37:49 INFO - SUITE-END | took 1216s 17:37:50 ERROR - Return code: 2 17:37:50 WARNING - setting return code to 2 17:37:50 ERROR - # TBPL FAILURE #
Attached image Console Error.png
Saw this in the developer console.
The problem is that the testing/talos/talos/tests/canvasmark/index.html test is not running. So the test suite fails.
Got this trace while trying to run Game.centerFillText(ctx, "Please wait... Loading Images...", "18pt Helvetica", GameHandler.height/2, "#eee"); ************************* console.error: Message: TypeError: rule is null Stack: _getImported/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/stylesheets.js:939:1 _run@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:311:39 process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:917:23 walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:801:7 Promise*scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:734:11 schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:765:7 Promise.prototype.then@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:450:5 _handleResultValue@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:387:7 _run@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:319:13 TaskImpl@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:273:3 asyncFunction@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:247:14 spawn@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:161:12 _getImported@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/stylesheets.js:933:12 _addStyleSheets/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/stylesheets.js:915:29 _run@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:311:39 TaskImpl@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:273:3 asyncFunction@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:247:14 spawn@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:161:12 _addStyleSheets@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/stylesheets.js:888:12 StyleSheetsActor<.getStyleSheets<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/stylesheets.js:839:26 _run@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:311:39 TaskImpl@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:273:3 asyncFunction@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:247:14 handler@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/protocol.js:1082:19 onPacket@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/main.js:1776:15 receiveMessage@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/transport/transport.js:761:7 enter@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/script.js:350:5 _pushThreadPause@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/script.js:533:5 _pauseAndRespond@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/script.js:741:7 hit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/breakpoint.js:172:12 onRenderScene@file:///home/shinglyu/workspace/stylo/stylo-incubator-2/testing/talos/talos/tests/canvasmark/scripts/canvasmark_v6.js:6239:13 frame@file:///home/shinglyu/workspace/stylo/stylo-incubator-2/testing/talos/talos/tests/canvasmark/scripts/canvasmark_v6.js:282:13 start@file:///home/shinglyu/workspace/stylo/stylo-incubator-2/testing/talos/talos/tests/canvasmark/scripts/canvasmark_v6.js:109:7 onloadHandler/g_splashImg.onload@file:///home/shinglyu/workspace/stylo/stylo-incubator-2/testing/talos/talos/tests/canvasmark/scripts/canvasmark_v6.js:6091:7 EventHandlerNonNull*onloadHandler@file:///home/shinglyu/workspace/stylo/stylo-incubator-2/testing/talos/talos/tests/canvasmark/scripts/canvasmark_v6.js:6087:4 EventListener.handleEvent*@file:///home/shinglyu/workspace/stylo/stylo-incubator-2/testing/talos/talos/tests/canvasmark/scripts/canvasmark_v6.js:6077:1 _getImported/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/stylesheets.js:939:1 _run@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:311:39 process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:917:23 walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:801:7 Promise*scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:734:11 schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:765:7 Promise.prototype.then@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:450:5 _handleResultValue@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:387:7 _run@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:319:13 TaskImpl@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:273:3 asyncFunction@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:247:14 spawn@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:161:12 _getImported@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/stylesheets.js:933:12 _addStyleSheets/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/stylesheets.js:915:29 _run@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:311:39 TaskImpl@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:273:3 asyncFunction@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:247:14 spawn@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:161:12 _addStyleSheets@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/stylesheets.js:888:12 StyleSheetsActor<.getStyleSheets<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/stylesheets.js:839:26 _run@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:311:39 TaskImpl@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:273:3 asyncFunction@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/task.js:247:14 handler@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/protocol.js:1082:19 onPacket@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/main.js:1776:15 receiveMessage@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/transport/transport.js:761:7 enter@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/script.js:350:5 _pushThreadPause@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/script.js:533:5 _pauseAndRespond@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/script.js:741:7 hit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/server/actors/breakpoint.js:172:12 onRenderScene@file:///home/shinglyu/workspace/stylo/stylo-incubator-2/testing/talos/talos/tests/canvasmark/scripts/canvasmark_v6.js:6239:13 frame@file:///home/shinglyu/workspace/stylo/stylo-incubator-2/testing/talos/talos/tests/canvasmark/scripts/canvasmark_v6.js:282:13 start@file:///home/shinglyu/workspace/stylo/stylo-incubator-2/testing/talos/talos/tests/canvasmark/scripts/canvasmark_v6.js:109:7 onloadHandler/g_splashImg.onload@file:///home/shinglyu/workspace/stylo/stylo-incubator-2/testing/talos/talos/tests/canvasmark/scripts/canvasmark_v6.js:6091:7 EventHandlerNonNull*onloadHandler@file:///home/shinglyu/workspace/stylo/stylo-incubator-2/testing/talos/talos/tests/canvasmark/scripts/canvasmark_v6.js:6087:4 EventListener.handleEvent*@file:///home/shinglyu/workspace/stylo/stylo-incubator-2/testing/talos/talos/tests/canvasmark/scripts/canvasmark_v6.js:6077:1 console.error: Protocol error (unknownError): rule is null
Hi Cameron, Do you have any idea about our canvas support? Looks like it hangs when trying to call fillText on a canvas?
Flags: needinfo?(cam)
We currently throw an exception from some canvas methods, since we haven't got the ability to ask Servo for an nsStyleContext based on a given list of rules. http://searchfox.org/mozilla-central/rev/30fcf167af036aeddf322de44a2fadd370acfd2f/dom/canvas/CanvasRenderingContext2D.cpp#2649 That might be the cause of the timeout.
Flags: needinfo?(cam)
I've isolated the test case, it's caused by setting the font: var c = document.getElementById("canvas"); var ctx = c.getContext("2d"); ctx.font = "18pt Helvetica" // <<< GOTCHA! ctx.fillText("Hello World", 25, 25) (Also attached the html and screenshot) Is there anything blocking us from implementing it? Or is there anyone already working on it?
Flags: needinfo?(cam)
Attached file minimal_testcase.html
The left is the expected result (using firefox-dev edition), the left is stylo and the error message.
(In reply to Shing Lyu [:shinglyu] from comment #7) > I've isolated the test case, it's caused by setting the font: > > var c = document.getElementById("canvas"); > var ctx = c.getContext("2d"); > ctx.font = "18pt Helvetica" // <<< GOTCHA! > ctx.fillText("Hello World", 25, 25) > > (Also attached the html and screenshot) > > Is there anything blocking us from implementing it? Or is there anyone > already working on it? That's bug 1324700, nobody's working on it yet though.
Flags: needinfo?(cam)
Depends on: 1324700
Summary: [Stylo] Talos job "c" failed with timeout → [Stylo] Talos job "tcanvasmark" failed with timeout
The "c" job contains two subtests "tresize" and "tcanvasmark". Only "tcanvasmark" is failing.
Depends on: 1351978
Priority: -- → P3
Summary: [Stylo] Talos job "tcanvasmark" failed with timeout → stylo: Talos job "tcanvasmark" failed with timeout
The minimal test case in comment 8 looks fine now. Shing, is there anything what I can do for this?
Flags: needinfo?(shing.lyu)
https://treeherder.mozilla.org/#/jobs?repo=mozilla-central&filter-searchStr=stylo&selectedJob=104379974 ^ tcanvasmark test seems to run just fine now. Let's close it as WORKSFORME.
Flags: needinfo?(shing.lyu)
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: