MozillaSecurity / MozillaSecurity/bugmon

Improve error handling when attempting to bisect revision that doesn't exist

Open
#10 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
11
Forks
2
Avg merge
2h 8m
Merged PRs (30d)
1

Description

Attempts to bisect where the original revision doesn't exist (mistype, wrong branch, etc) will fail.

Traceback (most recent call last):
  File "/home/worker/.local/bin/bugmon-process", line 8, in <module>
    sys.exit(main())
  File "/home/worker/.local/lib/python3.8/site-packages/bugmon_tc/process/cli.py", line 33, in main
    results = processor.process()
  File "/home/worker/.local/lib/python3.8/site-packages/bugmon_tc/process/process.py", line 69, in process
    bugmon.process()
  File "/home/worker/.local/lib/python3.8/site-packages/bugmon/bugmon.py", line 397, in process
    self.confirm_open()
  File "/home/worker/.local/lib/python3.8/site-packages/bugmon/bugmon.py", line 258, in confirm_open
    self.bisect()
  File "/home/worker/.local/lib/python3.8/site-packages/bugmon/bugmon.py", line 208, in bisect
    bisector = Bisector(
  File "/home/worker/.local/lib/python3.8/site-packages/autobisect/bisect.py", line 168, in __init__
    self.end = Fetcher(
  File "/usr/local/lib/python3.8/dist-packages/fuzzfetch/fetch.py", line 805, in __init__
    requested = HgRevision(build, branch).pushdate
  File "/usr/local/lib/python3.8/dist-packages/fuzzfetch/fetch.py", line 132, in __init__
    self._data = get_url(
  File "/usr/local/lib/python3.8/dist-packages/fuzzfetch/fetch.py", line 107, in get_url
    raise FetcherException(exc) from None
fuzzfetch.fetch.FetcherException: 404 Client Error: Not Found for url: https://hg.mozilla.org/mozilla-central/json-rev/8be68465a851

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in bugmon/bugmon.py at bisect(), then follow the Bisector and Fetcher calls shown in the traceback. Reproduce an attempt using the nonexistent revision 8be68465a851 and define completion as a handled error rather than an unhandled FetcherException traceback.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.