[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Monotone-devel] Re: Invariant failure
From: |
graydon hoare |
Subject: |
[Monotone-devel] Re: Invariant failure |
Date: |
Tue, 14 Sep 2004 10:35:31 -0400 |
User-agent: |
Opera M2/7.53 (Linux, build 737) |
On Tue, 14 Sep 2004 13:54:09 +0200 (CEST), Richard Levitte - VMS Whacker
<address@hidden> wrote:
In message <address@hidden> on 09 Sep 2004 23:16:16 +0200, Peter Simons
<address@hidden> said:
simons> monotone: fatal: std::logic_error: patch_set.cc:351:
simons> invariant 'I(m_old.find(i->first) != m_old.end())'
simons> violated
simons>
simons> Does anyone have advice on how to proceed?
I just hit the exact same problem (although with a different set of
files :-)), and I haven't seen a reply to this yet, so I'm asking the
same question.
sorry, slipped past. I meant to answer this:
the problem stems from your database having previously-composed rename
certs in it. for quite a while the logic for issuing rename certs after
merges was broken, so a lot of them got composed which are essentially
impossible to interpret correctly. they make no sense. so I was in a
sort of tight situation there: either I fire an invariant failure when
I detect the nonsense (shutting down the process) or I continue and
possibly make an incorrect decision about moving files around in your
manifest or working copy (potential data loss). I opted for the
former. it's an ugly situation though.
the only way to un-jam it is to remove the rename cert in question.
removal of rename certs is "mostly harmless", in that its worst
effect is to break the history chain of a particular file; future
merges may be a bit stickier if you move files around a lot, but
otherwise the file contents and manifest assignments are still there.
I'm sorry about that. I introduced the assertion in 0.14 when
correcting the rename cert logic, in response to a number of
testcases (ironically those which peter supplied; some thanks you
get eh?)
-graydon
- [Monotone-devel] Invariant failure, Peter Simons, 2004/09/09
- Re: [Monotone-devel] Invariant failure, Richard Levitte - VMS Whacker, 2004/09/14
- RE: [Monotone-devel] Invariant failure, Eric Meyer, 2004/09/14
- [Monotone-devel] Re: Invariant failure,
graydon hoare <=
- [Monotone-devel] Re: Invariant failure, Richard Levitte - VMS Whacker, 2004/09/15
- [Monotone-devel] Re: Invariant failure, Peter Simons, 2004/09/16
- [Monotone-devel] Re: Invariant failure, graydon hoare, 2004/09/16
- [Monotone-devel] Re: Invariant failure, Peter Simons, 2004/09/17
- [Monotone-devel] Re: Invariant failure, graydon hoare, 2004/09/17
- [Monotone-devel] Re: Invariant failure, Peter Simons, 2004/09/17
- [Monotone-devel] Re: Invariant failure, graydon hoare, 2004/09/17
Re: [Monotone-devel] Invariant failure, Matt Johnston, 2004/09/14