[cvsnt] CVSNT client hangs when using compression with 1.11.2 UNIX pserve r

Elliot Murphy elliot.murphy at veritas.com
Wed Oct 9 14:37:23 BST 2002


Thank you Tony and everyone who responded!

-----Original Message-----
From: Tony Hoyle [mailto:tmh at nodomain.org] 
Sent: Tuesday, October 08, 2002 5:14 PM
To: cvsnt at cvsnt.org
Subject: Re: [cvsnt] CVSNT client hangs when using compression with 1.11.2
UNIX pserve r


 
> Something's definately wrong with cvs 1.11.2 when it talks -z3, though,
> on my test setup it went 100% CPU and began eating memory at a phenominal
> rate.

Yup.  Using cvsnt against a cvs 1.11.2 server with -z3 is a
denial-of-service attack!

Basically what seems to happen is that the client code is written to
assume the server drops the connection first, but in 1.11.2 it doesn't,
instead it causes the client to block waiting for the server (this doesn't
happen the same under Unix, presumably because of different file
semantics).

Killing the client at this point causes the server to go into a loop,
presumably allocating memory as it ate 1GB in under 10 seconds (fast
enough to make it extremely difficult to 'kill -9' it before the whole
machine went down).

I've taken the loop out that waits for trailing data from the server, and
that seems to fix it (at both ends).

Unfortunately the machine that I use to do the nightlies & releases is
down (busted motherboard) otherwise I'd release in the morning to get
the fix out.  I'll do it ASAP.

I find debugging under Unix a pain otherwise I'd have a look at Unix cvs
to see what the bug is... It's possible they're still using the zlib with
the bug in it that was reported a few months ago.

Tony



_______________________________________________
cvsnt mailing list
cvsnt at cvsnt.org
http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt




More information about the cvsnt mailing list