[#20320] Apollo.exeでsingleton_method_addedが効かない — Kazuhiro Yoshida <moriq@...>
もりきゅうです。
5 messages
2003/06/03
[#20335] 1.8 gsub — "H.Suzuki" <hsuzux@...>
hsuzu といいます。
7 messages
2003/06/08
[#20347] 1.8.0 preview3 schedule — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
14 messages
2003/06/14
[#20357] Re: 1.8.0 preview3 schedule
— Koji Arai <JCA02266@...>
2003/06/16
新井です。
[#20358] Re: 1.8.0 preview3 schedule
— matz@... (Yukihiro Matsumoto)
2003/06/17
まつもと ゆきひろです
[#20360] Re: 1.8.0 preview3 schedule
— Koji Arai <JCA02266@...>
2003/06/17
新井です。
[#20362] [Oniguruma] quoting substring — kkosako@...
PerlとJavaの正規表現で実現されている
7 messages
2003/06/18
[#20389] Re: [Oniguruma] quoting substring
— Tanaka Akira <akr@...17n.org>
2003/06/19
In article <5FD2F0CF7F5D7F44B00F36870B9E78B508DE5040@SBG-EX4>,
[#20395] Re: [Oniguruma] quoting substring
— Tanaka Akira <akr@...17n.org>
2003/06/20
In article <87u1aloqtq.fsf@serein.a02.aist.go.jp>,
[#20374] case sensitivity of the names of environment variables — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
5 messages
2003/06/19
[#20379] locale and Marshal — Masao Mutoh <mutoh@...>
むとうです。
11 messages
2003/06/19
[#20381] Re: locale and Marshal
— matz@... (Yukihiro Matsumoto)
2003/06/19
まつもと ゆきひろです
[#20392] [BigDecimal] proposal to change specification — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>
斎藤と申します。
25 messages
2003/06/20
[#20407] Re: [BigDecimal] proposal to change specification
— "Shigeo Kobayashi" <shigeo@...>
2003/06/22
小林です。
[#20412] Re: In 1.8.0 nil.to_s is not the same as "" — nobu.nakada@...
なかだです。
5 messages
2003/06/23
[#20416] ruby 1.8.0 preview3 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
11 messages
2003/06/23
[#20422] [BUG] SEGV on Alpha (Re: ruby 1.8.0 preview3)
— Minero Aoki <aamine@...>
2003/06/23
青木です。
[#20424] Re: [BUG] SEGV on Alpha (Re: ruby 1.8.0 preview3)
— matz@... (Yukihiro Matsumoto)
2003/06/23
まつもと ゆきひろです
[#20445] Re: *.soの autoload(PR#504) — nobu.nakada@...
なかだです。
13 messages
2003/06/24
[#20450] Re: *.soの autoload(PR#504)
— matz@... (Yukihiro Matsumoto)
2003/06/25
まつもと ゆきひろです
[#20451] Re: *.soの autoload(PR#504)
— Minero Aoki <aamine@...>
2003/06/25
青木です。
[#20454] Re: *.soのautoload(PR#504)
— nobu.nakada@...
2003/06/25
なかだです。
[#20455] Re: *.soのautoload(PR#504)
— Minero Aoki <aamine@...>
2003/06/25
青木です。
[#20457] Re: *.soのautoload(PR#504)
— matz@... (Yukihiro Matsumoto)
2003/06/25
[#20447] [BigDecimal] renaming proposal — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>
斎藤です。
47 messages
2003/06/24
[#20598] Re: [BigDecimal] renaming proposal
— "Shigeo Kobayashi" <shigeo@...>
2003/07/10
小林です、またまたまとめて。
[#20600] Re: [BigDecimal] renaming proposal
— matz@... (Yukihiro Matsumoto)
2003/07/10
まつもと ゆきひろです
[#20621] Re: [BigDecimal] renaming proposal
— "Shigeo Kobayashi" <shigeo@...>
2003/07/11
小林@MAILチェック中です。
[#20628] Re: [BigDecimal] renaming proposal
— "Shigeo Kobayashi" <shigeo@...>
2003/07/11
小林です。
[#20648] Re: [BigDecimal] 標準添付案 [Re: Re: [BigDecimal] renaming proposal]
— "Shigeo Kobayashi" <shigeo@...>
2003/07/13
小林です。
[#20649] Re: [BigDecimal] 標準添付案
— "Shigeo Kobayashi" <shigeo@...>
2003/07/13
小林です。
[#20692] Re: [BigDecimal] 標準添付案 [Re: Re: [BigDecimal] renaming proposal]
— "Shigeo Kobayashi" <shigeo@...>
2003/07/16
小林です。
[#20462] 原因不明のSEGV — "yamamoto madoka" <dan@...2.so-net.ne.jp>
山本ともうします。
15 messages
2003/06/26
[#20473] Re: 原因不明のSEGV
— "yamamoto madoka" <dan@...2.so-net.ne.jp>
2003/06/27
山本です。
[#20474] Re: 原因不明のSEGV
— nobu.nakada@...
2003/06/27
なかだです。
[ruby-dev:20351] socket.writeでBUG
From:
"so" <dan@...2.so-net.ne.jp>
Date:
2003-06-16 08:28:30 UTC
List:
ruby-dev #20351
はじめまして、山本円と申します。 socketを使っているとBUGが起こることがあるようです。 ハッキリしないのですが、 socketすでに切断され、Bad file descriptorな状態 になっているときsocket.writeをしようとすると、 たまに例外でなくBUGが起こることがあるという感じです。 スレッドも絡んでいるような気がします。 BUGのメッセージは以下のとおりです。 testserver.rb:19: [BUG] Segmentation fault ruby 1.8.0 (2003-06-14) [i686-linux] rubyは1.6.8でも起こるようです。 OSはredhat7.3、同8、同9で確認しました。 僕では原因は特定できませんので、 再現スクリプトを添付します。 以下のプログラムだと、サーバー側のプログラムでBUGが起きます。 サーバーとクライアントは別PCのがいいようです。 ■testserver.rb サーバー側プログラム(port 1100決め打ち) 使い方 ruby testserver.rb ■clientloop.rb testclient.rbを作っては殺し作っては殺すプログラム 使い方 clientloop.rb 192.168.1.1 1100 ■testclient.rb clientloop.rbから使われるクライアント側プログラム socketをやたらに作る
Attachments (3)
testclient.rb
(429 Bytes, text/x-ruby)
require 'socket'
require 'timeout'
if ARGV.size != 2
p "ARGV.size != 2"
exit
end
host = ARGV[0]
port = ARGV[1]
`echo '#{Process.pid}' > sb.pid`
1000000.times{
(1 .. 110).each{|i|
Thread.start{
sock = nil
sock = TCPSocket.open(host, port.to_i)
(1 .. 50).each do
sock.print("012345\n")
timeout(time_out){
line = sock.gets
}
end
sock.close
}
}
}
clientloop.rb
(228 Bytes, text/x-ruby)
if ARGV.size != 2
p "ARGV.size != 2"
exit
end
host = ARGV[0]
port = ARGV[1]
1000000.times{
Thread.start{
`ruby testclient.rb #{host} #{port}`
}
sleep(0.3)
p pid = `cat sb.pid`
pid.chomp!
`kill #{pid}`
}
testserver.rb
(1.34 KB, text/x-ruby)
$DEBUG = true
require 'socket'
class SockWrapper
@replyQueue
@socket
@recieveThread
def initialize(host, port, socket)
@socket = socket
@replyQueue = []
recieveThread()
end
def push(str)
@socket.write(str + "\n")
end
def shift()
return @replyQueue.shift
end
def close()
@socket.close
end
def alive?
return @socket.closed? == false
end
def recieveThread()
@recieveThread = Thread.start{
begin
while str = @socket.gets
@replyQueue.push(str)
end
rescue Exception
ensure
close
end
}
end
end
class TestServer
def initialize
makeServerConnect()
while true
threadLoop()
end
end
def port
1100
end
def makeServerConnect()
@gs = TCPServer.open(port)
addr = @gs.addr
addr.shift
printf("server is on %s\n", addr.join(":"))
end
:private
def threadLoop()
Thread.start(@gs.accept) do |socket| # save to dynamic variable
# print(socket, " is accepted\n")
@conn = SockWrapper.new(nil, nil, socket)
while @conn.alive?
getStr = @conn.shift
next unless getStr
begin
@conn.push("1234")
rescue Exception
end
end
# print(socket, " is gone\n")
end
end
end
if $0 == __FILE__
TestServer.new
end