monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] Invariant violation in server


From: Jon Bright
Subject: Re: [Monotone-devel] Invariant violation in server
Date: Wed, 07 Apr 2004 19:37:15 +0200
User-agent: Mozilla Thunderbird 0.5 (Windows/20040207)

Peter Simons wrote:

The server frequently crashes with the following error:

  processing 16350 byte input buffer from peer 213.146.112.87:49586
  netio.hh:31: invariant 'I(pos < str.size())' violated
  db.execute("ROLLBACK")

The complete output with --verbose can be found here:

  http://peti.cryp.to/log-server

Any idea what triggers this?

If it's the same as my recent problem with the same assertion, it's the client sending a 0-size delta to the server. Try this on the client side:

monotone --db=blah.db debug 'select * from file_deltas where base=id;'

If this turns up rows, that's probably the problem. Furthermore, if the source for the repository that's getting pushed to the server was an import from a CVS repository, it's probably *exactly* the same problem. CVS sometimes puts 0-size deltas - i.e. deltas that don't change anything - in its RCS files (possibly it does this when the keyword substitution options are changed? - this is just a suspicion). Monotone faithfully imports these, where it in fact shouldn't, since the concept of a 0-size delta is a) silly and b) not handled by the Monotone code.

For me, running the following command sorted the problem out:

monotone --db=blah.db debug 'delete from file_deltas where base=id;'

--
Jon Bright
Silicon Circus Ltd.
http://www.siliconcircus.com




reply via email to

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