[raptor] reboot test intermittent failure 'missing initial entry'

RESOLVED FIXED

Status

RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: rwood, Assigned: rwood)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

3 years ago
The Raptor reboot test is failing intermittently on flame with this error:

Error: Missing initial entry mark for run
    at Phase.format (/home/rwood/raptor/lib/phases/phase.js:411:24)
    at Reboot.handleRun (/home/rwood/raptor/lib/phases/reboot.js:192:27)
    at /home/rwood/raptor/lib/phases/phase.js:279:20
    at /home/rwood/raptor/node_modules/promise/lib/core.js:33:15
    at flush (/home/rwood/raptor/node_modules/promise/node_modules/asap/asap.js:27:13)
    at process._tickCallback (node.js:355:11)

Full log with extra debugging here:
https://gist.github.com/rwood-moz/48e7837d3f3cdb71cf12

I suspect there is a race condition where the 'deviceReboot' mark entry is written and actually received in the log before the log parser/handler is ready. So when the parser/handler is ready, the start mark has already gone by, and so the first entry received is `gecko-shell-html-load`, not the start mark. Perhaps the parser should be registered and the capture listener initialied before writing the start mark (?) however would this skew the timing results?

Updated

3 years ago
Blocks: 1211533
(Assignee)

Comment 1

3 years ago
Created attachment 8679605 [details] [review]
https://github.com/mozilla-raptor/raptor-cli/pull/35

The problem was we were rebooting the device, posting the performance reboot marker, then turning on the handlers after that. Most times that was fine, but intermittently the handler wouldn't be enabled fast enough and the deviceReboot marker had already gone by. Enabling the handlers first before posting the reboot marker seems to fix the problem, at least in all the tests I've done thus far.

This change won't alter the reboot results because the time of the actual reboot is not changed, and the rebootDevice marker still uses the same value from phase._restart().
Assignee: nobody → rwood
Status: NEW → ASSIGNED
Attachment #8679605 - Flags: review?(eperelman)
(Assignee)

Comment 4

3 years ago
+ @mozilla/raptor@3.2.1 published
Status: ASSIGNED → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.