monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] A cornucopia of issues


From: Ryan Hinton
Subject: Re: [Monotone-devel] A cornucopia of issues
Date: Tue, 02 Aug 2005 10:01:20 -0600
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)

Matt Johnston wrote:

On Tue, Jul 26, 2005 at 12:08:37AM -0600, Ryan Hinton wrote:

(1) I added a package for GCC 3.3.2, downloaded monotone 0.21, and hit another snag. I had to add "#include <cstdarg>" to database.hh. It uses a va_list type. I'm suggesting this as a patch.

Richard moved a stdarg.h include to database.hh just after
0.21, does that fix it?

That should do it. Some might argue that <cstdarg> is better C++ style, but it doesn't bother me.

(2) Next issue. In order to get my feet wet and suggest this patch, I tried to pull the monotone source. I pull about 9MB of data and then begin spewing. Incidentally, there is a noticeable stall at the 5.4MB. Here is what I see.

myhost% monotone --db=mt.db --key="" pull venge.net net.venge.monotone
..
monotone:     8.9M |    467.4k |     7678 |    2721 |            0

I get the multiple lines hitting <ENTER> to keep my SSH session from dropping (anyone know how to STOP THAT?!). I think the resulting
(have a look at ServerAliveInterval in the ssh_config manpage perhaps)
No luck yet, but thanks.

monotone: warning: discarding revision data packet 6b72e940a0c1f3e9d79a60164964786aaea74798 with unmet dependencies

I can send a core dump if that would be useful. Any suggestions on getting the monotone source? Is there any way to do a partial pull?

It should bomb out with an error message, probably printed
above the discarded packet warnings. If your network
connection is having timeout problems (the ssh problems you
mentioned), it's possible that there isn't any data
transferred for long enough that the connection times out,
and monotone fails. Are you going through any strange
routers etc? The error message would be useful.
This is what I have:

monotone: binding 2 parameters for SELECT delta FROM file_deltas WHERE id = ? AND base = ?
monotone: binding 1 with value 'ff29f04bb5cbf77926b9bfe05ba0780add131b26'
monotone: binding 2 with value '960ce5ba76ced81ff99bbf6a4872da168a74bd42'
monotone: version cache expiring 1e6650a94e25b90f026758b712b0eb259e4deb84
monotone: version cache hit on ff29f04bb5cbf77926b9bfe05ba0780add131b26
monotone: binding 3 parameters for INSERT INTO file_deltas VALUES(?, ?, ?)
monotone: binding 1 with value 'ae1621049348d574ecf3694807ba5e8dd167a34f'
monotone: binding 2 with value 'ff29f04bb5cbf77926b9bfe05ba0780add131b26'
monotone: binding 3 with value 'H4sIAAAAAAAAAH2Rv04DMQzG9zyF2XpDURz/SSJEl059igqRgDKQirvcwNuTXBFCQjpPn+3f monotone: Z9nJGSygZbXmDIzIHnzoEq3aCIhWzAUwmjl/rnlp19valvZSU6nvg0JPCAGJe+IsOwVRxpGo monotone: IwFycc/uVAL2ITSgThnoUeAZfvCcrqXlj+XxrdR0aF/TUycuhwIP/5HciWkD5tzWuUI5npb8
monotone: eqvpeNrsJeXap
monotone: noting acceptence of file ae1621049348d574ecf3694807ba5e8dd167a34f
monotone: read 15928 bytes from fd 6 (peer venge.net)
monotone: lua isfunction() failed in get_fn
monotone: warning: discarding revision cert packet 002b5019bc48b5eb187df86ec7c387b5a4b79a78 with unmet dependencies
... many more discards ...
... ROLLBACK and other stuff ...
monotone: fatal: std::bad_alloc: St9bad_alloc

The "St9bad_alloc" is interesting. But I've seen that "lua isfunction() failed" before without ill effect. Any ideas? If this is the wrong output, I would appreciate any pointers on how to capture the right output.

(3) Next I tried to get a client to test my OpenBSD server. So I tried to compile 0.21 on my FreeBSD box. It fails. Here is the error.

/usr/local/include/boost/dynamic_bitset/dynamic_bitset.hpp:548: error: no matching function for call to `make_non_const(boost::dynamic_bitset<unsigned char, std::allocator<unsigned char> >::<anonymous enum>)'

I'm not too sure, though googling suggests that it's a boost
error in the bsd config file, see
http://lists.freebsd.org/pipermail/freebsd-ports-bugs/2005-January/050580.html

Are you using a boost port from after mid-February?

Right on. Thanks for the pointer. I'm sorry I didn't realize it was Boost issue and do the same search.

(4) I am having trouble running monotone chroot'ed. This is probably user error, but any help is appreciated.

myhost# chroot /var/www/ monotone --db=/var/monotone/myhost.mtdb serve myhostname "myhostname-reversed.*" monotone: fatal: std::exception: OS_Rng: open /dev/urandom operation failed with error 6

Notice I'm still running as root. (Same results for the _monotone user I created.) I have a /var/www/dev/urandom file with permissions 755. Here is the output from monotone --full-version just for fun.

The /dev/urandom file is a special device, you'll need to create it with mknod /var/www/dev/random c 2 3
or something similar (those device numbers may be wrong, I just googled).

I finally got this working. My /var partition is, of course, mounted "nodev". That was the error 6 I was getting (device not ready). I tried a soft link to /dev/urandom, but then I got an error 63 (too many symbolic links, can't soft link out of a chroot). I finally found the answer here.

http://wiki.noreply.org/noreply/TheOnionRouter/TorInChroot

The answer is to use svnd to emulate a file system and create the devices in that file system. Monotone seems to be running happily chrooted now.

(5) Finally, an easy one. I am trying to find the best way to run monotone as a server. Should I add it to rc.local? Should I use nohup? Run it in the background using my user account? I saw someone suggested using runit, but OpenBSD 3.5 doesn't have a packaged version. I can try to download and install it if it's the best solution. The same thread mentioned some post-install information/scripts I haven't found yet. Where can I find that information? Any other suggestions on how to securely run and use the monotone server?

You can run it just from startup scripts, though it's useful
if it's running under some some sort of supervisor program
which can restart it if it stops running for some reason.
Nathaniel's docs are at
http://frances.vorpus.org/~monotone/netsync-setup.html ,
though that uses runit - I'm not sure of standard
alternatives on BSDs. Also note that the permission hook
format has changed since that was written.

Matt
Thanks for the pointer.  I am still hoping to get monotone to work for me!

--
Ryan Hinton
address@hidden





reply via email to

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