[Top][All Lists]
[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
signature.asc
Description: OpenPGP digital signature