[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

you won't believe this.

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2003-04-14 21:40:22 CEST

For the last month or so, I've had this curious problem when running
'make check' on my FreeBSD system.

I start 'make check' running over ra_local. Then I go to bed. I wake
up in the morning, and it's still sitting in basic_tests.py! I start
reading email, and poof, it flies through the rest of the tests as
usual.

It just happened again: I set 'make check' going, went to lunch, came
back, and almost nothing happened while I was gone. As soon as I
start typing again, the tests run as normal.

Keep in mind that I have no APM/power management at all; I've
completely turned it off in the BIOS.

I have a new theory: svn_repos_create() needs to generate a UUID,
which calls apr_generate_random_bytes(), which depends on /dev/random,
which *blocks* when it determines there isn't enough system entropy.

I didn't pull this theory out of the air either: I've actually
compiled Subversion on other systems before (some weird redhat
systems) and *seen* svn_repos_create() block on this very problem. It
wasn't until I forcibly recompiled APR against /dev/urandom (which is
currently APR's 2nd choice) that this blocking behavior went away.

Ugh, I think we really need to complexify the
apr_generate_random_bytes() interface, so that blocking/quality
behaviors can be selected. There's been talk about this in the APR
list...

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Apr 14 21:41:53 2003

This is an archived mail posted to the Subversion Dev mailing list.