monotone-debian
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bug#574512: [Monotone-debian] Bug#574512: monotone: mtn sync fails with


From: Thomas Keller
Subject: Bug#574512: [Monotone-debian] Bug#574512: monotone: mtn sync fails with 'fatal' error message
Date: Thu, 18 Mar 2010 21:39:58 +0100
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; de; rv:1.9.1.8) Gecko/20100216 Lightning/1.0b2pre Thunderbird/3.0.2

Am 18.03.10 19:08, schrieb Francis Russell:
> Package: monotone
> Version: 0.47-1
> Severity: important
> 
> 
> mtn produces an alarming error message when syncing. It doesn't appear to be
> related to different versions of mtn talking to each other as I can easily
> replicate with a sync between two databases on the same system.
> 
> $ mtn db init -d /tmp/mtn1.db
> $ mtn db init -d /tmp/mtn2.db
> $ mtn sync -d /tmp/mtn1.db file:///tmp/mtn2.db '*'
> mtn: setting default server to file:///tmp/mtn2.db
> mtn: setting default branch include pattern to '*'
> mtn: setting default branch exclude pattern to ''
> mtn: connecting to file:///tmp/mtn2.db
> mtn: finding items to synchronize:
> mtn: successful exchange with file:///tmp/mtn2.db
> mtn:  bytes in | bytes out | revs in
> mtn:       151 |       160 |     0/0
> mtn: fatal: error: network/session_base.cc:82: I(!is_pipe_pair())
> 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 address@hidden
> mtn: wrote debugging log to /home/fpr/.monotone/dump
> mtn: if reporting a bug, please include this file

This looks like a regression introduced in f65d9cb5 - please check if
this patch solves your problem:

#
# old_revision [dda54058811fd39356e8755ad0d68998a5159dd3]
#
# patch "network/reactor.cc"
#  from [a90cee5442d3c77d8082d7bb91d4d23170bf25fb]
#    to [4f424db0f326e61b015ff042880f2d77589c6429]
#
============================================================
--- network/reactor.cc  a90cee5442d3c77d8082d7bb91d4d23170bf25fb
+++ network/reactor.cc  4f424db0f326e61b015ff042880f2d77589c6429
@@ -87,8 +87,9 @@ void reactor::remove(shared_ptr<reactabl
   if (i != items.end())
     {
       items.erase(i);
+      bool had_pipe = have_pipe;
       have_pipe = false;
-      if (readying)
+      if (readying && !had_pipe)
         item->remove_from_probe(probe);
     }
 }

@Timothy: I was a bit careful about setting have_pipe after `if
(readying) ...` here - if you think this would not introduce a problem,
then this patch could be simplyfied of course.

Thomas.

-- 
GPG-Key 0x160D1092 | address@hidden | http://thomaskeller.biz
Please note that according to the EU law on data retention, information
on every electronic information exchange might be retained for a period
of six months or longer: http://www.vorratsdatenspeicherung.de/?lang=en

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]