Weird hanging commits in subversion

When I tried fixing a few broken images on freshmeat today, the commits to my subversion repository would just sit there doing nothing, not even responding to Ctrl-C. I upgraded to the latest subversion release, still no go. When running the command through `strace`, the following showed up as the latest proof of life:

open(“/dev/random”, O_RDONLY) = 3
read(3,

Sticking this into Google revealed a thread on the Subversion Users list at haxx.se outlining that the problem was supposedly an overused `/dev/random`. Since I was committing from freshmeat’s NFS server, there was very little chance that any other application was using `/dev/random` actually. There is literally nothing on this box.

Nonetheless I followed the advice from the list to recompile subversion or rather `apr` with the `—with-devrandom=/dev/urandom` flags like so:

$ ./configure \
  --prefix=/usr/local/subversion \
  --with-devrandom=/dev/urandom

from the main subversion source code directory. This indeed fixed it! Commits are once again flawlessly being pushed towards the repository.

Filed Under: Development Software