Closed Bug 1689647 Opened 3 years ago Closed 3 years ago

bootstrap installs a very new evolve extension, which throws exceptions to the console

Categories

(Firefox Build System :: Bootstrap Configuration, defect)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: emilio, Assigned: Kwan)

References

Details

Attachments

(1 file)

$ hg status
Traceback (most recent call last):
  File "c:\mozilla-build\python\lib\site-packages\mercurial\extensions.py", line 213, in _runuisetup
    uisetup(ui)
  File "c:/Users/emilio/.mozbuild/evolve/hgext3rd\evolve\exthelper.py", line 142, in finaluisetup
    entry = extensions.wrapcommand(commands.table, command, wrapper)
  File "c:\mozilla-build\python\lib\site-packages\mercurial\extensions.py", line 478, in wrapcommand
    aliases, entry = cmdutil.findcmd(command, table)
  File "c:\mozilla-build\python\lib\site-packages\mercurial\cmdutil.py", line 688, in findcmd
    raise error.UnknownCommand(cmd, allcmds)
UnknownCommand: ('debugstrip', ['debugsuccessorssets', 'forget', 'tip', 'config', 'showconfig', 'debugconfig', 'debugdate', 'debuglocks', 'debugdata', 'help', 'debugwhyunstable', 'annotate', 'blame', 'addremove', 'add', 'debugrename', 'debugapplystreamclonebundle', 'debugwireproto', 'rollback', 'debugmergestate', 'pull', 'debugformat', 'debugrevspec', 'debugwalk', 'status', 'st', 'resolve', 'incoming', 'in', 'debugdag', 'bisect', 'revert', 'manifest', 'merge', 'debugpushkey', 'continue', 'debuguiprompt', 'update', 'up', 'checkout', 'co', 'locate', 'log', 'history', 'debugnamecomplete', 'debugindexstats', 'export', 'debugfileset', 'debuggetbundle', 'debugpeer', 'identify', 'id', 'outgoing', 'out', 'debugupgraderepo', 'version', 'debugpathcopies', 'debugrebuilddirstate', 'debugrebuildstate', 'debugancestor', 'commit', 'ci', 'tags', 'debugcolor', 'debugpathcomplete', 'debugcheckstate', 'debugpvec', 'summary', 'sum', 'debugdeltachain', 'backout', 'rename', 'move', 'mv', 'debugcapabilities', 'unshelve', 'debugssl', 'diff', 'heads', 'debugsetparents', 'init', 'debugignore', 'debugobsolete', 'debugupdatecaches', 'parents', 'files', 'import', 'patch', 'debugrebuildfncache', 'serve', 'debugdiscovery', 'debugwireargs', 'push', 'debugpickmergetool', 'branch', 'unbundle', 'debugcomplete', 'grep', 'debugserve', 'cat', 'debugp1copies', 'tag', 'debugrevlog', 'shelve', 'debugcommands', 'root', 'debugsub', 'debuglabelcomplete', 'debugmanifestfulltextcache', 'abort', 'debugtemplate', 'recover', 'archive', 'graft', 'paths', 'debuguigetpass', 'verify', 'debugextensions', 'debugfsinfo', 'debuginstall', 'copy', 'cp', 'debugp2copies', 'clone', 'bundle', 'debugknown', 'bookmarks', 'bookmark', 'debugbuilddag', 'debugindex', 'phase', 'remove', 'rm', 'branches', 'debugdownload', 'debugindexdot', 'debugdirstate', 'debugstate', 'debugcreatestreamclonebundle', 'debugrevlogindex', 'debugbundle'])
*** failed to set up extension evolve: ('debugstrip', ['debugsuccessorssets', 'forget', 'tip', 'config', 'showconfig', 'debugconfig', 'debugdate', 'debuglocks', 'debugdata', 'help', 'debugwhyunstable', 'annotate', 'blame', 'addremove', 'add', 'debugrename', 'debugapplystreamclonebundle', 'debugwireproto', 'rollback', 'debugmergestate', 'pull', 'debugformat', 'debugrevspec', 'debugwalk', 'status', 'st', 'resolve', 'incoming', 'in', 'debugdag', 'bisect', 'revert', 'manifest', 'merge', 'debugpushkey', 'continue', 'debuguiprompt', 'update', 'up', 'checkout', 'co', 'locate', 'log', 'history', 'debugnamecomplete', 'debugindexstats', 'export', 'debugfileset', 'debuggetbundle', 'debugpeer', 'identify', 'id', 'outgoing', 'out', 'debugupgraderepo', 'version', 'debugpathcopies', 'debugrebuilddirstate', 'debugrebuildstate', 'debugancestor', 'commit', 'ci', 'tags', 'debugcolor', 'debugpathcomplete', 'debugcheckstate', 'debugpvec', 'summary', 'sum', 'debugdeltachain', 'backout', 'rename', 'move', 'mv', 'debugcapabilities', 'unshelve', 'debugssl', 'diff', 'heads', 'debugsetparents', 'init', 'debugignore', 'debugobsolete', 'debugupdatecaches', 'parents', 'files', 'import', 'patch', 'debugrebuildfncache', 'serve', 'debugdiscovery', 'debugwireargs', 'push', 'debugpickmergetool', 'branch', 'unbundle', 'debugcomplete', 'grep', 'debugserve', 'cat', 'debugp1copies', 'tag', 'debugrevlog', 'shelve', 'debugcommands', 'root', 'debugsub', 'debuglabelcomplete', 'debugmanifestfulltextcache', 'abort', 'debugtemplate', 'recover', 'archive', 'graft', 'paths', 'debuguigetpass', 'verify', 'debugextensions', 'debugfsinfo', 'debuginstall', 'copy', 'cp', 'debugp2copies', 'clone', 'bundle', 'debugknown', 'bookmarks', 'bookmark', 'debugbuilddag', 'debugindex', 'phase', 'remove', 'rm', 'branches', 'debugdownload', 'debugindexdot', 'debugdirstate', 'debugstate', 'debugcreatestreamclonebundle', 'debugrevlogindex', 'debugbundle'])
obsolete feature not enabled but 19 markers found!

cd ~/.mozbuild/evolve && hg up -c 10.1.0 fixes it.

See Also: → 1688606

Updating to the tip of stable means it's more likely that users will end up
with a broken/incompatible evolve, so we should avoid doing so, and stick to
actual releases.

Assignee: nobody → moz-ian
Status: NEW → ASSIGNED
See Also: → 1689697

So there were two issues here:
There was a bug in newly introduced code in evolve to handle back compat with the move & rename of the strip command from an extension to the core debugstrip command. Under Mercurial's demandimport mode it didn't correctly trigger the import of the module that it was expecting to fail on older versions, so just tried to wrap the non-existent debugstrip command on those versions, hence the stack above. I've sent a patch to evolve for that, so hopefully that'll make it in before they release the next stable version: https://foss.heptapod.net/mercurial/evolve/-/merge_requests/308

Secondly the v-c-t code that clones and sets up evolve during bootstrap was just updating to the tip of the stable branch, making it much more likely for new contributors to hit bugs in unreleased evolve code, like this one. The above patch changes that.

Pushed by cosheehan@mozilla.com:
https://hg.mozilla.org/hgcustom/version-control-tools/rev/a88e3049ab62
Update to evolve's latest tag rather than tip of stable branch. r=sheehan

Status: ASSIGNED → RESOLVED
Closed: 3 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: