観察日記 2010-02-03

RubySpecの人に怒られた

あまりに頭の悪いミスなのでぐうの音も出ない。

library/socket/tcpserver/gets_spec.rb で止まる

Thread.new { sleep }
TCPServer.new(0).gets

mameさんが追跡中

FreeBSDGC中にSEGV

e = [1,2,3].each
10000.times {
  e = [e].each
}
Thread.new { GC.start }.join

FreeBSDで落ちる。FreeBSD はメインスレッドのマシンスタックのサイズの取得方法が違うらしい。DragonFlyBSDも同様のようだ。r26549,r26550 スタックオーバーフローのハンドリング (Stack Overflow Handling)

dlがlibffiで置き換えられた

Solaris (Sun Studio 11) や mswin32/mswin64 で dl が使えなくなってしまった。LLVM/clangでは動いた。

まつもとさんは「mswin32 が解決すれば」「まぁ,いいんじゃない」だそうなので、mswin32/mswin64 対策が行われれば、1.9.2 に入ると思われる。