From: Yukihiro Matsumoto Date: 2004-11-05T06:35:35+09:00 Subject: [ruby-dev:24712] Re: String#gsub causes core dump まつもと ゆきひろです In message "Re: [ruby-dev:24708] String#gsub causes core dump" on Fri, 5 Nov 2004 00:00:00 +0900, Tanaka Akira writes: |次のようにすると core を吐きます。 | |% ./ruby -d -rsocket -e ' |s = TCPSocket.open("www.ruby-lang.org", 80) |s.print "GET / HTTP/1.0\r\n\r\n" |Thread.new { Thread.pass; | ObjectSpace.each_object(String) {|s| | if s.length == 0x10000 | s.gsub(/\A/) { "" } | s.replace "a" | end | } |} |p s.recvfrom(0x10000)' |Exception `SocketError' at -e:12 - getnameinfo: ai_family not supported |-e:12:in `recvfrom': getnameinfo: ai_family not supported (SocketError) | from -e:12 |-e:12: [BUG] Segmentation fault |ruby 1.9.0 (2004-11-04) [i686-linux] 夕べ、String#gsubはレシーバをlocktmpしなくなりましたから、こ の問題はなくなりました。ただ、gsubでなくreadでは同じ問題が起 こせますね。