history

青木日記 RSS

<前の日 | この月 | 次の日>

2005-09-07

net/http: WebDAV 拡張

1.9 の net/http を 1.8 にマージするついでに WebDAV メソッドを全部入れちゃおうとか思ってドツボにはまる罠。

(00:14)

net/http: 1.8 マージ

とりあえず新しいメソッドを 1.8 に追加するのはあきらめて、 マージを先にやることにする。

と思ったら 1.9 が変わりすぎててマージできない。 しょうがないので 1.9 のをそのままつっこもう。

(01:09)

net/http: そして core dump

~/c/net/test % ruby-1.8.2 -I~/c/ruby/lib test_http.rb       aamine@serenade
zsh: 7142 illegal hardware instruction (core dumped)  ruby-1.8.2 -I~/c/ruby/lib test_http.rb

どうして俺がなんかするたびに落ちるんだよ! いくらなんでも秘孔つきすぎにも程があるよ! SIGILL なんて出たのは超久しぶりだよバカヤロー!

新しいアーキテクチャは恐いですなあ。

(01:39)

net/http: 解決

~/c/net/test % ruby-1.8.2 -I~/c/ruby/lib test_http.rb       aamine@serenade
/home/aamine/c/ruby/lib/webrick/httpauth/htpasswd.rb:38: [BUG] Segmentation fault
ruby 1.8.2 (2004-12-25) [x86_64-linux]
 
zsh: 17355 abort (core dumped)  ruby-1.8.2 -I~/c/ruby/lib test_http.rb

gcc をアップデートしたら無事 SEGV になりました。 よかったよかった。よくねえよ。

とりあえず -O2 を -O0 にしてみる。

~/c/net/test % ruby-1.8.2 -I~/c/ruby/lib test_http.rb       aamine@serenade
/home/aamine/c/ruby/lib/webrick/httpauth/htpasswd.rb:38: [BUG] Segmentation fault
ruby 1.8.2 (2004-12-25) [x86_64-linux]
 
zsh: 24913 abort (core dumped)  ruby-1.8.2 -I~/c/ruby/lib test_http.rb

だめか。

……冷静に考えると 1.8.2 より 1.8 HEAD で試すべきだなあ。 意外と修正されてたりするかもしれないし。

~/c/net/test % /usr/local/pkg/ruby-1.8/bin/ruby -I./lib test_http.rb
~/c/net/test %                                              aamine@serenade

なおってたー! ありがとうパッチモンスター!

それにつけても AMD64 はコンパイルが速くてよいですな。

net/http: 問題発生

1.9 の net/http は 1.9 の net/protocol に 凄い勢いで依存していることが判明してしまった。 これをアップデートすると net/smtp と net/pop も道連れにならざるをえない。どーしよ。

どっちも SSL 対応が入っちゃうのか。 これはけっこうヤバいな。

…………うーん。まあいいか。 ねこそぎ持っていこう。

(02:22)

名前
メールアドレス

<前の日 | この月 | 次の日>
2002|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|04|05|06|09|10|
2009|07|
2010|09|

Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved. LIRS