Currently when running bisect for a narrow regression range and triggering try jobs, some jobs may fail due to compile failure. In this case Findit is unable to continue, however a culprit can still be identified
Example:
1. Regression range narrowed down to [10, 20].
2. Bisect suggests to examine 15
3. 15 fails to compile
4. Findit fails with an assertion error and analysis is halted
Possible solution:
Create a range of [10, 20], and detect that 15 failed. Remove 15 from the search range and rerun bisect, e.g. [10, 11, 12, 13, 14, 16, 17, 18, 19, 20]. Bisect should now suggest 14 and resume analysis as though 15 doesn't exist.
In the worst case, say the regression range is narrowed down to just 15 and 16, but 15 was known to have failed due to compile and 16 is flaky, 14 is stable. Then the culprit is either 15 or 16, which is as far as Findit is able to analyze.
This does not solve 100% of cases, due to the possibility that catastrophic failure occurred within a range and all commits fail to compile, but should reduce the number of analyses that are unable to come to a conclusion.
Comment 1 by st...@chromium.org
, Aug 1