Closed Bug 1015178 Opened 6 years ago Closed 6 years ago
B2G reftests don't kill
And Get Stack on timeout
We implemented kill and get stack for B2G in mozrunner, but reftests still use b2gautomation.py. Ideally we'd move them off b2gautomation.py and onto mozrunner, but the simple thing to do here is to just re-implement it. http://mxr.mozilla.org/mozilla-central/source/testing/mozbase/mozrunner/mozrunner/remote.py#246
Should be all that's needed. Try run with the patch from bug 966646 to help reproduce timeouts: https://tbpl.mozilla.org/?tree=Try&rev=cfee277e40ae
Assignee: nobody → ahalberstadt
Status: NEW → ASSIGNED
So that somewhat worked, after the timeout the process was killed and checkForCrashes invoked.. but minidump_stackwalk failed with "header signature mismatch": https://tbpl.mozilla.org/php/getParsedLog.php?id=40287378&tree=Try&full=1#error1 Ted, what does it mean when this happens?
We chatted on IRC, the current working theory is that maybe we're pulling the dump from the device too soon and it's not finished writing yet. ahal is going to try putting a sleep in there to test that theory.
Try run with sleep: https://tbpl.mozilla.org/?tree=Try&rev=d90894750c8e If this works, I'll modify it to poll the b2g process before committing.
I think that worked: https://tbpl.mozilla.org/php/getParsedLog.php?id=40481364&tree=Try&full=1#error0 I'll get a patch up shortly.
Updated patch to wait for b2g process to stop existing. New try run just to be sure it still works: https://tbpl.mozilla.org/?tree=Try&rev=50e86a011121
Comment on attachment 8429567 [details] [diff] [review] b2g_kill_and_get_stack Review of attachment 8429567 [details] [diff] [review]: ----------------------------------------------------------------- Looks ok to me, one minor suggestion. ::: build/mobile/b2gautomation.py @@ +155,5 @@ > self.lastTestSeen, int(timeout)) > + self._devicemanager.killProcess('/system/b2g/b2g', sig=signal.SIGABRT) > + > + timeout = 10 # seconds > + for i in range(0, timeout): I think the marionette approach is somewhat more intuitive: starttime = datetime.datetime.now() while datetime.datetime.now() - starttime < datetime.timedelta(seconds=timeout):
Attachment #8429567 - Flags: review?(wlachance) → review+
(In reply to Andrew Halberstadt [:ahal] from comment #5) > I think that worked: > https://tbpl.mozilla.org/php/getParsedLog. > php?id=40481364&tree=Try&full=1#error0 Yeah, that looks good. Good call!
Updated patch with suggestion. Carry r+ forward.
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla32
You need to log in before you can comment on or make changes to this bug.