[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] Repeatable 'monotone serve' crash
From: |
Timothy Brownawell |
Subject: |
Re: [Monotone-devel] Repeatable 'monotone serve' crash |
Date: |
Fri, 05 Jan 2007 14:40:57 -0600 |
On Thu, 2007-01-04 at 23:20 -0500, Ethan Blanton wrote:
> When serving the monotone database at:
>
> http://www.cs.purdue.edu/homes/eblanton/private/ical.mtn
>
> Using the config file:
>
> http://www.cs.purdue.edu/homes/eblanton/private/ical.monotonerc
>
> ... the monotone server crashes on a pull of 'net.elitists.ical' into
> an empty database. I can repeat this reliably by doing:
>
> mtn -d new.mtn db init
> mtn -d new.mtn pull nestor.cs.purdue.edu net.elitists.ical
>
> ... from any monotone 0.32 (maybe other versions, don't have one
> handy) client. Both monotone 0.30 and 0.32 as the server display this
> behavior. I have attached the crash dump left by monotone when this
> happens. The server is being started via usher, if that is relevant.
The error is
netsync.cc:1,223: 'I(! del().empty() || ident == base)'
.
gdb tells me that the destination file is da39... , ie, the empty file.
IIRC an xdelta consists of copy+insert instructions; to delete
everything you leave the xdelta empty.
An empty xdelta is not the same as an xdelta that does nothing. The
invariant is based on a wrong assumption, and should be removed.
--
Timothy
Free (experimental) public monotone hosting: http://mtn-host.prjek.net