[#25384] test fail: drb/drb.rb:836:in `initialize': Address already in use - bind(2) (Errno::EADDRINUSE) — Tanaka Akira <akr@...17n.org>
test-all が Errno::EADDRINUSE で止まることがあります。
咳といいます。
In article <97B55E6C-5C05-11D9-A492-000D9350318C@mva.biglobe.ne.jp>,
咳といいます。
In article <B8BBFD48-5C15-11D9-A492-000D9350318C@mva.biglobe.ne.jp>,
[#25396] rand uniformity — Tanaka Akira <akr@...17n.org>
次のように、rand の結果があからさまに一様でない分布を示すことがあるようです。
In article <20050103233811.7dd92150.sheepman@tcn.zaq.ne.jp>,
[#25414] 1.9.0で使用済みソケットが回収されない? — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
[#25430] 1.8 warn nonblocking IO#read and add IO#readpartial — Tanaka Akira <akr@...17n.org>
1.8 に以下の変更を行いたいんですが、どうでしょうか?
山本です。
In article <20050109063005.3048a4ba.tommy@tmtm.org>,
はじめまして。角と申します。
とみたです。
mput です。
とみたです。
まつもと ゆきひろです
とみたです。
まつもと ゆきひろです
[#25446] DATA.read skips some characters — SASADA Koichi <ko1@...>
ささだです。
なかだです。
こんにちは、なかむら(う)です。
[#25479] some problems on ext/tk/sample/**/*.rb — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
永井@知能.九工大です.
山本です。
こんにちは、なかむら(う)です。
山本です。
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
こんにちは、なかむら(う)です。
[#25486] process to merge ruby-dl2 — Takaaki Tateishi <ttate@...>
立石です。
まつもと ゆきひろです。
[#25500] priority between commandline option and RUBYOPT env variable — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
わたなべです。
永井@知能.九工大です.
[#25508] Fw: DateTime questions [newbie] — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
ふなばです。
まつもと ゆきひろです
ふなばです。
まつもと ゆきひろです
> [ruby-talk:128124]によれば
[#25520] pack cannot convert nil into Integer — "horiguchi" <hiya@...>
はじめまして。堀口と申します。
[#25522] merge tcltklib and tk — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
こんにちは、なかむら(う)です。
こんにちは。
なかだです。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
なかだです。
[#25574] flockの動作 (with win32 mod_ruby) — "Tokiwa" <tokiwa@...>
ときわです。
[#25587] imported Oniguruma 3.5.4 — Kazuo Saito <ksaito@...>
斉藤です。
[#25590] Can I copy doc/irb/irb.rd.ja to the reference Wiki? — sheepman <sheepman@...>
こんばんは、sheepman です。
けいじゅ@いしつかです.
こんにちは、sheepman です。
けいじゅ@いしつかです.
こんにちは、sheepman です。
けいじゅ@いしつかです.
まつもと ゆきひろです
永井@知能.九工大です.
まつもと ゆきひろです
[ruby-dev:25389] Re: test fail: drb/drb.rb:836:in `initialize': Address already in use - bind(2) (Errno::EADDRINUSE)
In article <B8BBFD48-5C15-11D9-A492-000D9350318C@mva.biglobe.ne.jp>,
Masatoshi SEKI <m_seki@mva.biglobe.ne.jp> writes:
> 特定のポート番号でTCPServerを一度作って閉じ、すぐに同じポート番号で獲得できる、
>
>>> # という試験だった気がします。(できない時期があったので)
>
>> うぅむ。そんな内容のテストだったとは。
>>
>> それは本質的に race condition になるので、保証されないと考えるべきだと
>> 思います。
>
> そういうわけで削除します。
本質的には削除が正しいと思うんですが、ひとつ疑問があります。
実は手元にかなり確実に Errno::EADDRINUSE が起きる環境があります。
http://www.rubyist.net/~akr/ab/netbsd-2.0/ruby-trunk/
しかし、その環境では
% ruby -rsocket -e '100.times { TCPServer.new(8473).close }'
というのは問題なく終了するのです。
もちろん、8473 が他で使われていない場合ですが。
つまり、閉じてすぐ作るぶんには問題ないわけで、本当は閉じていないのが問
題なんではないかと疑っています。
調べてみると、
class TestDRbReusePort < TestDRbAry
def setup
sleep 1.2
@ext = DRbService.ext_service('ut_port.rb')
@there = @ext.front
end
end
というところの sleep 1.2 を消すと、手元の Debian でも確実に EADDRINUSE
になります。
そこで確認したいのですが、ここはソケットを閉じた後に次のテストを行う仕
掛けになっているんでしょうか?
sleep のところをみると、なっていない気がするのですが。
> それはそうなのですが、そういうのを管理するモジュールのテストに近いので
> ちょっと悩ましいです。鋭意努力しますがそれまでの間、timeoutでごまかしても
> 良いでしょうか?
なるほど。なかなか悩ましいですね。
> 遅くなるのはtimeoutがスレッドを生成するからですか?
> それとも失敗したときにtimeoutの時間まで時間がかかってしまうからですか?
失敗した時に時間がかかることを気にしています。
そっか。成功すれば時間はかからないからこの場合は大きな問題はない気がし
て来ました。
考えてみると、(TestDRbReusePort#setup のように) 成功するケースで sleep
するものが問題なわけですね。
--
[田中 哲][たなか あきら][Tanaka Akira]