Open Bug 1648392 Opened 5 years ago Updated 3 years ago

"mach try" should do a better job handling exception

Categories

(Developer Infrastructure :: Try, defect, P3)

Tracking

(Not tracked)

People

(Reporter: Sylvestre, Unassigned)

Details

reported on sentry here:
https://sentry.prod.mozaws.net/share/issue/1b2de7873ebd4fe48d846f697a9e8db2/

I pushed a patch to try. It works but I had an exception when pushing the info to bugzilla because my bugzilla key has been revoked.

We probably don't need:

  • trigger an exception
  • show two pages of error
remote: Follow the progress of your build on Treeherder:
remote:   https://treeherder.mozilla.org/#/jobs?repo=try&revision=bf26ffc03c6fb3a40b15d30975fc8fb323e1fb31
remote: recorded changegroup in replication log in 0.011s
temporary commit removed, repository restored
** Unknown exception encountered with possibly-broken third-party extension bzpost
** which supports versions 4.6 of Mercurial.
** Please disable bzpost and try your action again.
** If that fixes the bug please report it to https://bugzilla.mozilla.org/enter_bug.cgi?product=Developer%20Services&component=Mercurial%3A%20bzpost
** Python 2.7.18 (default, Apr 20 2020, 20:30:41) [GCC 9.3.0]
** Mercurial Distributed SCM (version 5.3.2)
** Extensions loaded: strip, mq, rebase, histedit, bzexport, bzpost, firefoxtree, push-to-try, qimportbz, blackbox, churn, absorb, clang-format, js-format, uncommit
Traceback (most recent call last):
  File "/usr/bin/hg", line 43, in <module>
    dispatch.run()
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 111, in run
    status = dispatch(req)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 254, in dispatch
    ret = _runcatch(req) or 0
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 428, in _runcatch
    return _callcatch(ui, _runcatchfunc)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 437, in _callcatch
    return scmutil.callcatch(ui, func)
  File "/usr/lib/python2.7/dist-packages/mercurial/scmutil.py", line 152, in callcatch
    return func()
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 418, in _runcatchfunc
    return _dispatch(req)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 1182, in _dispatch
    lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 866, in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 1193, in _runcommand
    return cmdfunc()
  File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 1179, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
  File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 1854, in check
    return func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 1854, in check
    return func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/hgext/mq.py", line 4218, in mqcommand
    return orig(ui, repo, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 1854, in check
    return func(*args, **kwargs)
  File "/home/sylvestre/.mozbuild/version-control-tools/hgext/push-to-try/__init__.py", line 105, in push_to_try
    commands.push(ui, repo, server, force=True, rev=[repo[m].rev()])
  File "/usr/lib/python2.7/dist-packages/mercurial/commands.py", line 5658, in push
    opargs=opargs,
  File "/home/sylvestre/.mozbuild/version-control-tools/hgext/firefoxtree/__init__.py", line 319, in push
    **kwargs)
  File "/usr/lib/python2.7/dist-packages/mercurial/exchange.py", line 658, in push
    _pushbookmark(pushop)
  File "/usr/lib/python2.7/dist-packages/mercurial/extensions.py", line 509, in closure
    return func(*(args + a), **kw)
  File "/home/sylvestre/.mozbuild/version-control-tools/hgext/bzpost/__init__.py", line 170, in wrappedpushbookmark
  File "/home/sylvestre/.mozbuild/version-control-tools/pylib/Bugsy/bugsy/bugsy.py", line 66, in __init__
    params={'login': username, 'api_key': api_key}
  File "/home/sylvestre/.mozbuild/version-control-tools/pylib/Bugsy/bugsy/bugsy.py", line 175, in request
    return self._handle_errors(self.session.request(method, url, **kwargs))
  File "/home/sylvestre/.mozbuild/version-control-tools/pylib/Bugsy/bugsy/bugsy.py", line 187, in _handle_errors
    raise LoginException(result['message'], result.get("code"))
bugsy.errors.LoginException: Message: The API key you specified has been revoked by the user that created it. Code: 306
Error running mach:

    ['try', 'fuzzy']

The error occurred in code that was called by the mach command. This is either
a bug in the called code itself or in the way that mach is calling it.
You can invoke |./mach busted| to check if this issue is already on file. If it
isn't, please use |./mach busted file try| to report it. If |./mach busted| is
misbehaving, you can also inspect the dependencies of bug 1543241.

If filing a bug, please include the full output of mach, including this error
message.

The details of the failure are as follows:

subprocess.CalledProcessError: Command '('/usr/bin/hg', 'push-to-try', '-m', 'Fuzzy query=b\n\nPushed via `mach try fuzzy`')' returned non-zero exit status 1.

  File "/home/sylvestre/dev/mozilla/mozilla-central.hg/tools/tryselect/mach_commands.py", line 315, in try_fuzzy
    return self.run(**kwargs)
  File "/home/sylvestre/dev/mozilla/mozilla-central.hg/tools/tryselect/mach_commands.py", line 185, in run
    return mod.run(**kwargs)
  File "/home/sylvestre/dev/mozilla/mozilla-central.hg/tools/tryselect/selectors/fuzzy.py", line 390, in run
    return push_to_try('fuzzy',
  File "/home/sylvestre/dev/mozilla/mozilla-central.hg/tools/tryselect/push.py", line 182, in push_to_try
    vcs.push_to_try(commit_message)
  File "/home/sylvestre/dev/mozilla/mozilla-central.hg/python/mozversioncontrol/mozversioncontrol/__init__.py", line 435, in push_to_try
    subprocess.check_call((self._tool, 'push-to-try', '-m', message), cwd=self.path,
  File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
Severity: -- → S4
Priority: -- → P3
Product: Firefox Build System → Developer Infrastructure
You need to log in before you can comment on or make changes to this bug.