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)