samidare を別のマシンに移動したら見事に動かない。 ruby に -d を付けてみると、「Non-HTTP proxy URI: (RuntimeError)」で concurrent_map が止まってるということがわかった。 発生元は open-uri.rb で、試してみるとこれだけでも出る。
~ % ruby -ropen-uri -e 'URI("http://i.loveruby.net").read' /usr/local/pkg/ruby/lib/ruby/1.9/open-uri.rb:233:in `open_http': Non-HTTP proxy URI: (RuntimeError) from /usr/local/pkg/ruby/lib/ruby/1.9/open-uri.rb:688:in `buffer_open' from /usr/local/pkg/ruby/lib/ruby/1.9/open-uri.rb:193:in `open_loop' from /usr/local/pkg/ruby/lib/ruby/1.9/open-uri.rb:191:in `open_loop' from /usr/local/pkg/ruby/lib/ruby/1.9/open-uri.rb:137:in `open_uri' from /usr/local/pkg/ruby/lib/ruby/1.9/open-uri.rb:590:in `open' from /usr/local/pkg/ruby/lib/ruby/1.9/open-uri.rb:598:in `read' from -e:1
こういうことだろうか……。
Index: lib/open-uri.rb =================================================================== RCS file: /var/cvs/src/ruby/lib/open-uri.rb,v retrieving revision 1.42 diff -u -r1.42 open-uri.rb --- lib/open-uri.rb 30 Sep 2005 16:48:46 -0000 1.42 +++ lib/open-uri.rb 2 Nov 2005 20:19:13 -0000 @@ -173,7 +173,7 @@ end case opt_proxy when true - find_proxy = lambda {|u| [u.find_proxy, nil, nil]} + find_proxy = lambda {|u| pxy = u.find_proxy; pxy ? [pxy, nil, nil] : nil} when nil, false find_proxy = lambda {|u| nil} when String
(05:23)
chroot 入りの特製 CVS パッケージを作ってたんですけどね。 何度やってもログインすると認証エラーになって、 いったい何がおかしいのかと思ったら……。
deb の作りかたを間違えてパッチが当たってなかっただけでした (泣)
ソースコードを書き換えるだけじゃだめなのね……。 パッチを保存しといたらうまくいった。
これを機に deb の作りかたをちゃんと調べとこうかな。
(02:44)
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.