You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Moritz Möller <m....@bigpoint.net> on 2009/04/01 16:38:53 UTC

svn update stuck in read() - matching svnserve process also in read()

Hi,

we have the problem that svn occasionally freezes.

Client:
svn version 1.5.1 / debian / 64bit / 8core.
/checkout is a checkout of svn://out-svnserver/some-repository
svn --non-interactive --username xxx --password xxx /checkout is stuck in a read() call on the network connection

Server:
svnserve version 1.5.6 / debian / 64bit / 8core / fsfs
the matching svnserve process is also read()ing the network connection.

As there is no timeout, the svn update is stuck until killed.

Does anyone know about this or has an idea how to solve it?

Please answer cc my e-mail address as I'm not on this list.

Thanks a lot,

Moritz

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1508739

To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].


RE: svn update stuck in read() - matching svnserve process also in read()

Posted by Moritz Möller <m....@bigpoint.net>.
We had the problem only via svn protocol, svn+ssh / http both works.

However, I guess we experienced something different than the timeout problem described in #3347 - in our case svn server and client are on the same switch in a private network without disconnects, and still both block in read().

However, I guess a reasonable timeout should solve this - or at least fail-fast.

> -----Original Message-----
> From: Stefan Sperling [mailto:stsp@elego.de]
> Sent: Thursday, May 28, 2009 11:50 PM
> To: Moritz Möller
> Cc: Erik Huelsmann; users@subversion.tigris.org
> Subject: Re: svn update stuck in read() - matching svnserve process
> also in read()
> 
> On Wed, Apr 01, 2009 at 09:50:01PM +0200, Moritz Möller wrote:
> > Hi,
> >
> > rngd is running on the machine and
> > /proc/sys/kernel/random/entropy_avail is monitored. And if I'm not
> > completely wrong the svn client is single threaded and the blocking
> > call is on the network connection, and the server is multithreaded
> but
> > in case of missing random entropy it should either wait in a futex or
> > wait on a read() on /dev/*random.
> >
> > To me it looks more like a protocol error. I will try to see if it
> > also happens with svn+ssh or http protocols.
> 
> Moritz,
> 
> what did you find out about the other protocols?
> 
> I am asking because I have just made a patch to fix the same
> or a related problem over svn://, but would like to know if other
> protocols also suffer similar problems.
> 
> See http://subversion.tigris.org/issues/show_bug.cgi?id=3347
> 
> Thanks,
> Stefan

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2356679

To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].


Re: svn update stuck in read() - matching svnserve process also in read()

Posted by Stefan Sperling <st...@elego.de>.
On Wed, Apr 01, 2009 at 09:50:01PM +0200, Moritz Möller wrote:
> Hi,
> 
> rngd is running on the machine and
> /proc/sys/kernel/random/entropy_avail is monitored. And if I'm not
> completely wrong the svn client is single threaded and the blocking
> call is on the network connection, and the server is multithreaded but
> in case of missing random entropy it should either wait in a futex or
> wait on a read() on /dev/*random.
> 
> To me it looks more like a protocol error. I will try to see if it
> also happens with svn+ssh or http protocols.

Moritz,

what did you find out about the other protocols?

I am asking because I have just made a patch to fix the same
or a related problem over svn://, but would like to know if other
protocols also suffer similar problems.

See http://subversion.tigris.org/issues/show_bug.cgi?id=3347

Thanks,
Stefan


RE: svn update stuck in read() - matching svnserve process also in read()

Posted by Moritz Möller <m....@bigpoint.net>.
Hi,

rngd is running on the machine and /proc/sys/kernel/random/entropy_avail is monitored. And if I'm not completely wrong the svn client is single threaded and the blocking call is on the network connection, and the server is multithreaded but in case of missing random entropy it should either wait in a futex or wait on a read() on /dev/*random.

To me it looks more like a protocol error. I will try to see if it also happens with svn+ssh or http protocols.

Best,

Moritz

-----Original Message-----
From: Erik Huelsmann [mailto:ehuels@gmail.com] 
Sent: Wednesday, April 01, 2009 9:35 PM
To: Moritz Möller
Cc: users@subversion.tigris.org
Subject: Re: svn update stuck in read() - matching svnserve process also in read()

On Wed, Apr 1, 2009 at 6:38 PM, Moritz Möller <m....@bigpoint.net> wrote:
> Hi,
>
> we have the problem that svn occasionally freezes.
>
> Client:
> svn version 1.5.1 / debian / 64bit / 8core.
> /checkout is a checkout of svn://out-svnserver/some-repository
> svn --non-interactive --username xxx --password xxx /checkout is stuck in a read() call on the network connection
>
> Server:
> svnserve version 1.5.6 / debian / 64bit / 8core / fsfs
> the matching svnserve process is also read()ing the network connection.
>
> As there is no timeout, the svn update is stuck until killed.
>
> Does anyone know about this or has an idea how to solve it?

Is the server headless? If so, it could be that it's reading from
/dev/random for entropy. However, on headless boxes, this resource can
get starved. Since /dev/random is blocking, your server (or client) is
waiting for the system to collect more entropy. Try using
/dev/urandom, or copy some entropy into /dev/random.

HTH,

Erik.

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1510220

To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].

Re: svn update stuck in read() - matching svnserve process also in read()

Posted by Erik Huelsmann <eh...@gmail.com>.
On Wed, Apr 1, 2009 at 6:38 PM, Moritz Möller <m....@bigpoint.net> wrote:
> Hi,
>
> we have the problem that svn occasionally freezes.
>
> Client:
> svn version 1.5.1 / debian / 64bit / 8core.
> /checkout is a checkout of svn://out-svnserver/some-repository
> svn --non-interactive --username xxx --password xxx /checkout is stuck in a read() call on the network connection
>
> Server:
> svnserve version 1.5.6 / debian / 64bit / 8core / fsfs
> the matching svnserve process is also read()ing the network connection.
>
> As there is no timeout, the svn update is stuck until killed.
>
> Does anyone know about this or has an idea how to solve it?

Is the server headless? If so, it could be that it's reading from
/dev/random for entropy. However, on headless boxes, this resource can
get starved. Since /dev/random is blocking, your server (or client) is
waiting for the system to collect more entropy. Try using
/dev/urandom, or copy some entropy into /dev/random.

HTH,

Erik.

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1510080

To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].


Re: svn update stuck in read() - matching svnserve process also in read()

Posted by Christian Lohmaier <cl...@openoffice.org>.
Hi Moritz, *,

On Wed, Apr 1, 2009 at 6:38 PM, Moritz Möller <m....@bigpoint.net> wrote:
> we have the problem that svn occasionally freezes.
>
> Client:
> svn version 1.5.1 / debian / 64bit / 8core.
> /checkout is a checkout of svn://out-svnserver/some-repository
> svn --non-interactive --username xxx --password xxx /checkout is stuck in a read() call on the network connection
>
> Server:
> svnserve version 1.5.6 / debian / 64bit / 8core / fsfs
> the matching svnserve process is also read()ing the network connection.
>
> As there is no timeout, the svn update is stuck until killed.
>
> Does anyone know about this or has an idea how to solve it?

No, but I suffer from this bug as well - on linux 64 and 32 bit, on
Mac OSX PPC and Intel, i.e. on all systems I use svn on. (tinderboxes,
thus do often switch trees)

ciao
Christian

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1509090

To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].