Closed Bug 961075 Opened 6 years ago Closed 6 years ago

Add the build step or else process name to buildbot's generic command timed out failure strings

Categories

(Release Engineering :: General, defect)

defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: emorley, Assigned: emorley)

References

(Blocks 1 open bug)

Details

(Keywords: sheriffing-P1)

Attachments

(1 file)

Bug 778688 comment 38 covers a number of intermittent failures where we have the generic log output:
"command timed out: N seconds without output, attempting to kill"

Whilst we've added this to the TBPL regexes, so we can use TBPL's bug suggestion feature - the messages are generic, so many suggestions are shown, eg:

https://bugzilla.mozilla.org/buglist.cgi?quicksearch=command%20timed%20out%20keywords%3Aintermittent

Whilst I'd prefer the worst of these failure modes to be handled by the mozharness/test harness/... itself, we're always going to have edge cases where timeouts occur and it's not worth adding TBPL-compatible failure messages to that script.

As such, I was thinking we should prefix the timeout messages with the build step name or else the process name (former preferred) here:

http://hg.mozilla.org/build/buildbot/file/6d8bc44b5874/slave/buildslave/runprocess.py#l657
   657     def doTimeout(self):
   658         self.timer = None
   659         msg = "command timed out: %d seconds without output" % self.timeout
   660         self.kill(msg)
   661 
   662     def doMaxTimeout(self):
   663         self.maxTimer = None
   664         msg = "command timed out: %d seconds elapsed" % self.maxTime
   665         self.kill(msg)

Now I know buildbot patches are generally a bit more awkward - so don't know if you think we would need to upstream first - or even whether they'd take it the change?

Dustin, what do you think? :-)
Blocks: 778688
I'd like to see that upstream, sure.

Shipping a change to non-Windows systems is pretty easy - it's done with Puppet.  Windows is still hard.
Upstream PR:
https://github.com/buildbot/buildbot/pull/1130
Assignee: nobody → emorley
Status: NEW → ASSIGNED
Duplicate of this bug: 778690
Comment on attachment 8408096 [details] [diff] [review]
For timeouts include the command being run in the failure string

Assuming you're confident that fake_command works the same way in 0.8.2, this looks just like the patch I merged :)
Attachment #8408096 - Flags: review?(dustin) → review+
Landed on default & transplanted to production-0.8, since there are buildbot master changes that require a restart that did not want to be merged across just yet.

https://hg.mozilla.org/build/buildbot/rev/6ac947fa5721
https://hg.mozilla.org/build/buildbot/rev/8a9e33843c3f
Depends on: 1009584
Whiteboard: [waiting on bug 1009584]
This is still waiting for bug 1009584 to actually be deployed, but closing this so it still appearing in bugzilla-todos.
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Whiteboard: [waiting on bug 1009584] → [waiting on bug 1009584 for deployment]
This is deployed on !Windows; bug 1042597 will take care of Windows.

@Sheriffs: Note this bug changes "command timed out: 2400 seconds without output" to "command timed out: 2400 seconds without output running <cmd...>"
Depends on: 1042597
Whiteboard: [waiting on bug 1009584 for deployment]
Component: General Automation → General
You need to log in before you can comment on or make changes to this bug.