[#21225] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values. — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

14 messages 2003/08/22
[#21227] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values. — nobu.nakada@... 2003/08/22

なかだです。

[#21228] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values. — matz@... (Yukihiro Matsumoto) 2003/08/22

まつもと ゆきひろです

[#21281] 大量メモリ消費攻撃に対する対応 — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

16 messages 2003/08/29
[#21285] Re: 大量メモリ消費攻撃に対する対応 — matz@... (Yukihiro Matsumoto) 2003/08/29

まつもと ゆきひろです

[#21288] Re: 大量メモリ消費攻撃に対する対応 — Hidetoshi NAGAI <nagai@...> 2003/08/29

永井@知能.九工大です.

[#21306] Re: 大量メモリ消費攻撃に対する対応 — matz@... (Yukihiro Matsumoto) 2003/09/03

まつもと ゆきひろです

[ruby-dev:21179] [BUG]net/httpでBUG

From: "yamamoto madoka" <dan@...2.so-net.ne.jp>
Date: 2003-08-11 12:38:49 UTC
List: ruby-dev #21179
こんにちは、山本 円と申します。

スレッドとnet/httpとを使ったプログラムにて
BUGが見つかりましたので報告いたします。

プログラムは、数の変化する多数のスレッドの
その一つ一つでnet/httpを使用しています。

BUGのメッセージは以下の通りです。


/usr/local/lib/ruby/1.8/net/http.rb:892: [BUG] Segmentation fault
ruby 1.8.0 (2003-08-11) [i686-linux]

Aborted


今回は再現プログラムがありますのでやってみていただけると
早いかと思います。

ただ、プログラムの性質上ものすごくHTTPサーバーの負荷になりますので
大丈夫なサーバーがある方に試していただきたく思います。

以下、再現プログラムです。25行目のHTTP.getの引数を書き換えてご使用ください。


#!ruby -Ks

require 'net/http'

$DEBUG = TRUE

latestTime = 0
threadSize = 10

while true
  arr = []
  if latestTime > 45
p    threadSize /= 0.8
  else
p    threadSize *= 1.2
  end

  threadSize.to_i.times{
    arr << Thread.start{
      breakFlag = false
      10.times{
        begin
          startTime = Time.now

          ret = Net::HTTP.get('dokkanoserver', "/")

          score = Time.now - startTime
          latestTime = score if latestTime < score
        rescue
          sleep 1
        else
          breakFlag = true
          break
        end
      }
      raise if breakFlag == false

    }
  }
  arr.each {|t| t.join}
end


山本 円 dan@xa2.so-net.ne.jp


In This Thread

Prev Next