bugmonotone - Bugs: bug #23349, ...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #23349: I(right_uncommon_ancestors.find(right_rid) != right_uncommon_ancestors.end())' violated

Submitted by:  Ludovic Brenta <lbrenta>
Submitted on:  Sat 24 May 2008 08:45:19 PM UTC  
 
Category: merge algorithmSeverity: 3 - Normal
Item Group: crashStatus: Fixed
Privacy: PublicAssigned to: None
Open/Closed: Closed
mtn version --full: 

monotone 0.38 (base revision: c1757f6cde49bddd77c82580059105bc470145b2)
Running on : Linux 2.6.24-1-amd64 #1 SMP Thu Mar 27 16:52:38 UTC 2008 x86_64
C++ compiler : GNU C++ version 4.2.3 20071123 (prerelease) (Debian 4.2.2-4)
C++ standard library: GNU libstdc++ version 20071123
Boost version : 1_34_1
Changes since base revision:
format_version "1"

new_manifest [085f4d04a0bbbc06b44cf6194ca9c2079f924cdd]

old_revision [c1757f6cde49bddd77c82580059105bc470145b2]

Generated from data cached in the distribution;
further changes may have been made.

Sun 09 May 2010 10:37:50 AM UTC, comment #1:

I tried to reproduce the problem with Debian monotone 0.45-2 and the problem is no longer there. Closing the bug as fixed. Output of mtn version --full:

Running on : Linux 2.6.32-3-amd64 #1 SMP Wed Feb 24 18:07:42 UTC 2010 x86_64
C++ compiler : GNU C++ version 4.3.4
C++ standard library: GNU libstdc++ version 20091102
Boost version : 1_40
SQLite version : 3.6.23.1 (compiled against 3.6.20)
Lua version : Lua 5.1
PCRE version : 7.8 2008-09-05 (compiled against 7.8)
Botan version : 1.8.8 (compiled against 1.8.6)
Changes since base revision:
format_version "1"

new_manifest [a4583b2d0cae8cb6889b8701543aeb4efc7e1554]

old_revision [a19f8b2017c81c3c6c8b2bb3247f865f6ed4e5a9]

Generated from data cached in the distribution;
further changes may have been made.

Ludovic Brenta <lbrenta>
Project Member
 Spam posted by an anonymous
Sat 24 May 2008 08:45:19 PM UTC, original submission:

I'm having a peculiar problem merging between two branches (org.debian.gcc-4.3 and org.debian.gnat-4.3) in the Ada-France database.

$ mtn co -d [omitted] -b org.debian.gcc-4.3
$ cd org.debian.gcc-4.3
$ cat _MTN/revision
format_version "1"

new_manifest [0000000000000000000000000000000000000001]

old_revision [b6268e44129cd7b83c5255096e6a41e02554dcba]
$ mtn propagate org.debian.gnat-4.3 org.debian.gcc-4.3
mtn: propagating org.debian.gnat-4.3 -> org.debian.gcc-4.3
mtn: [source] fdff43d734541e14cd0757c74aaf591bb2abd2e7
mtn: [target] b6268e44129cd7b83c5255096e6a41e02554dcba
mtn: branch 'org.debian.gcc-4.3' is up-to-date with respect to branch 'org.debian.gnat-4.3'
mtn: no action taken

This is untrue, as can be seen by examining the revision graph, which is (with revision ids abbreviated):

fdff 15b3
| \ |
... 2f41
| |
... ...
| |
cf47 921e
| / |
758a ca59
| |
... ...
| |
32c4 b01d
| / |
76e4 989b
| |
... ...
| |
9142 a7d4
| / |
03f5 b5ec
| |
| ...
| |
6b42 b626

The left branch is org.debian.gnat-4.3; the right branch is org.debian.gcc-4.3. Left was merged several times into Right; the last time this occurred was when h:Left was the offending revision, fdff. Then, Right was merged 3 times into Left with no problems. Now the merge algorithm complains but is incorrect, as 6b42 is not an ancestor of b626.

explicit_merge complains in the same way as propagate:

$ mtn explicit_merge h:org.debian.gnat-4.3 h:org.debian.gcc-4.3 org.debian.gnat-4.3
mtn: expanding selection 'h:org.debian.gnat-4.3'
mtn: expanded to 'fdff43d734541e14cd0757c74aaf591bb2abd2e7'
mtn: expanding selection 'h:org.debian.gcc-4.3'
mtn: expanded to 'b6268e44129cd7b83c5255096e6a41e02554dcba'
mtn: misuse: fdff43d734541e14cd0757c74aaf591bb2abd2e7 is already an ancestor of b6268e44129cd7b83c5255096e6a41e02554dcba

But now things become interesting:

$ mtn merge_into_workspace h:org.debian.gnat-4.3
mtn: expanding selection 'h:org.debian.gnat-4.3'
mtn: expanded to 'fdff43d734541e14cd0757c74aaf591bb2abd2e7'
mtn: fatal: std::logic_error: roster.cc:1810: invariant 'I(right_uncommon_ancestors.find(right_rid) != right_uncommon_ancestors.end())' violated
mtn: this is almost certainly a bug in monotone.
mtn: please send this error message, the output of 'mtn version --full',
mtn: and a description of what you were doing to monotone-devel@nongnu.org.
mtn: wrote debugging log to /home/lbrenta/src/tmp/org.debian.gcc-4.3/_MTN/debug
mtn: if reporting a bug, please include this file

The database is available at http://www.ada-france.org if anyone is interested.

Ludovic Brenta <lbrenta>
Project Member

 

Attached Files
file #15725:  debug added by lbrenta (83KiB - application/octet-stream - _MTN/debug produced by the invariant violation)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by lbrenta (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun 09 May 2010 10:37:50 AM UTClbrentaStatusNone=>Fixed
      Open/ClosedOpen=>Closed
    Sat 24 May 2008 08:45:19 PM UTClbrentaAttached File-=>Added debug, #15725

    Back to the top


    Powered by Savane 3.1-cleanup1