Closed Bug 1153801 Opened 9 years ago Closed 9 years ago

Bisection of mozilla-inbound failed with "TypeError: 'bool' object is not iterable"

Categories

(Testing :: mozregression, defect)

x86
macOS
defect
Not set
normal

Tracking

(firefox40 affected)

RESOLVED FIXED
Tracking Status
firefox40 --- affected

People

(Reporter: nthomas, Assigned: parkouss)

References

Details

Attachments

(2 files)

Attached file Log
See attached log for more details. 

I was able to bisect nightlies without problems (using a wider good/bad windows), but inbound fails after the first build. Adding 
   --no-background-dl  --persist <path>
worked around the problem, I'm guessing it's the first argument which made a difference, so tentatively blocking on bug 999019.

mozregression 0.34 with Python 2.7.9 from Homebrew, on Mac 10.7.5.
Oops, that should read mozregression v0.35.
Thanks a lot Nick for the bug report and all the provided information here. :)

I am able to reproduce the bug thanks to that. I can confirm that it is related to the implementation of bug 999019, and passing --no-background-dl makes mozregression works as expected.

To reproduce the bug:

mozregression --good-rev 2446d768 --bad-rev 5da3ebe0
then just answer "g" to the first question.

I suspect that with the background download option, the bisection data may change in case we have invalid builds (that were not builds for some reasons for example) - and the index we use to represent the current build data becomes invalid - and we are not expecting it.

Using:

new_data._cache = copy.deepcopy(self._cache[smin:smax])

in place of https://github.com/mozilla/mozregression/blob/10d37ec8d70267ebd6954a5313f6f52338e08bdb/mozregression/build_data.py#L66

makes the bug disappear in my case. I have to think more of the consequences of this - maybe just use this trick where it is really needed (https://github.com/mozilla/mozregression/blob/10d37ec8d70267ebd6954a5313f6f52338e08bdb/mozregression/bisector.py#L328), or find another better way.
This patch fix the issue by cleaning the cache and returning the new valid mid point when using background download option. This is a much better option than what I proposed in the previous comment because we keep the cache up to date, no need to re-download information for a given build.

I gave it a try, and this works fine with the test case mentioned in previous comment.

As a side note, the gui is not impacted as it does not use the background option for now or the functions modified in the patch.

Will, if you also think that this is a good fix, I think we can release a new version as soon as it is merged in because for now mozregression with background download enabled (which is the default) is broken.
Assignee: nobody → j.parkouss
Status: NEW → ASSIGNED
Attachment #8592131 - Flags: review?(wlachance)
Comment on attachment 8592131 [details] [review]
fix a download background issue when build data cache changes

This makes sense, thanks! A new release sounds like a good idea.
Attachment #8592131 - Flags: review?(wlachance) → review+
Merged in: https://github.com/mozilla/mozregression/commit/09e35bfca26cc08698070d2e3ecd59e0caf16c29

I'll wait to see if we have something to fix for bug 1154467 before doing the new release.
We released mozregression 0.36 with the bugfix for this, should be good now.
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: