Open Bug 1428124 Opened 8 years ago Updated 3 years ago

if I hit CTRL+C during |mach try fuzzy| at the wrong time, the tip of HG gets messed up

Categories

(Developer Infrastructure :: Try, enhancement, P3)

54 Branch
Unspecified
Windows
enhancement

Tracking

(Not tracked)

People

(Reporter: jmaher, Unassigned)

Details

I seem to run into this about once/month, although twice in the last 5 working days for me. typically if I forget something, I will cancel mach try fuzzy by hitting ctrl+c, then finish what I forgot and repeat. The problem is sometimes when I hit ctrl+c I am unable to |hg qref| as I get |abort: working directory revision is not qtip|. I was with :ted in Austin when this happened to me last time and he couldn't figure out a way to fix my local repo, so I recloned and added my .hg/patches from the old dir and was up and running again.
Component: mach → General
Product: Core → Testing
I'm not familiar with how mq works, but there are a few stack overflow posts from people with the same error, they might help point towards a better recovery method than re-cloning. Though it seems to be a symptom with several possible causes. As for fixing it, Joel reported it seemed to happen when generating the task list (aka taskgraph generation). I'm not sure how this would affect hg, but maybe it's doing something funny at some point in the generation. Would be good to see if the same problem can be reproduced when ctrl-c'ing |mach taskgraph target|.
It does look like some of the taskgraph transforms call `hg robustcheckout` on Windows: https://dxr.mozilla.org/mozilla-central/search?q=path%3Ataskgraph+hg_command&redirect=true Maybe aborting that is messing with mq state somehow? I don't have any better ideas.
OS: Unspecified → Windows
If this is isolated to Windows+MozillaBuild, then it is bug 1230790. We /might/ be able to leverage some additional Mercurial hacks so the temporary commit managed by the push-to-try Mercurial extension is never written to disk. Although I don't think Mercurial's APIs are good enough to support a full in-memory commit yet (I'm pretty sure all commits get written to disk as soon as they are made and/or there is no way to push an in-memory commit to a remote).
Priority: -- → P3
Component: General → Try
Product: Testing → Firefox Build System
Product: Firefox Build System → Developer Infrastructure
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.