coLinux subversion問題

今まで普通に使えてたのに週末に研究室のサーバーが落ちてそれを再起動したらsvn commitで固まるようになってしまった。

最初は認証のキャッシュが原因なのかなと思って.subversion/auth/svn.simple/以下のファイルを削除してみたりしたのだけどうまく行かず。

これは困ったということで調べてみると、coLinux特有の現象らしい。
http://www.bookshelf.jp/2ch/linux/1078609142.html
http://www2d.biglobe.ne.jp/~meross-k/diary/0406.HTM#200406112360

903 sage 04/11/04 18:27:08 id:NvIZ6WGh
つづき:
/dev/random coLinux で検索したら、ここに書いてありました。
http://www2d.biglobe.ne.jp/~meross-k/diary/0406.HTM#200406112360
>>908はこの日記の方かな?どうもありがとう。

なお、/dev/random は通常
# mknod /dev/random c 1 8
のようにして作成しますが、これを
# mknod /dev/random c 1 9
とすると、coLinuxでもSubversionが問題なく動作するみたいです。
ちなみに後者は/dev/urandomの作り方らしい。

/dev/random と /dev/urandom の違い:
* /dev/random は読み込むときにブロックすることがある。
* /dev/urandom はブロックを行わない。
つまりsubversionが /dev/random を読もうとしてブロックされてしまっていた。そこで/dev/randomを/dev/urandomと同じにしてしまえばブロックされなくなるので Subversionが動作するようになった、ということみたいです。

From:
http://www.bookshelf.jp/2ch/linux/1078609142.html

ということでやってみたらcommit出来るようになった。

今までsvnadmin createがやたら遅いなぁとは思っていたのだけど滅多に使わないから放置していたのだけど、これが原因だったのかー。

coLinuxな人は今は問題なく出来ていても急に出来なくこともあるようなので念のためやっておくことをオススメします。あとどこかにメモっといた方がよさそうですね。