Project

General

Profile

Bug #4434

make test-all "-j10000" のように大きな並列数を与えると異常終了

Added by Motohiro KOSAKI over 5 years ago. Updated over 3 years ago.

Status:
Feedback
Priority:
Normal
ruby -v:
ruby 1.9.3dev (2011-02-22 trunk 30941) [x86_64-linux]
[ruby-dev:43264]

Description

=begin
% make test-all TESTS="-j10000"
./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- "./test/runner.rb" -j10000
Run options: -j10000

Running tests:

[FATAL] Failed to create timer thread (errno: 11)
[FATAL] Failed to create timer thread (errno: 11)
make: *** [yes-test-all] Error 1

/home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in write': Broken pipe - <STDOUT> (Errno::EPIPE)
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in
puts'
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in run'
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:139:in
'
/home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in write': Broken pipe - <STDOUT> (Errno::EPIPE)
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in
puts'
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in run'
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:139:in
'
/home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in write': Broken pipe - <STDOUT> (Errno::EPIPE)
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in
puts'
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in run'
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:139:in
'
/home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in write': Broken pipe - <STDOUT> (Errno::EPIPE)
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in
puts'
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in run'
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:139:in
'
/home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in write': Broken pipe - <STDOUT> (Errno::EPIPE)
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in
puts'
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in run'
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:139:in
'
/home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in write': Broken pipe - <STDOUT> (Errno::EPIPE)
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in
puts'
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in run'
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:139:in
'
/home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in write': Broken pipe - <STDOUT> (Errno::EPIPE)
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in
puts'
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in run'
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:139:in
'
/home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in write': Broken pipe - <STDOUT> (Errno::EPIPE)
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in
puts'
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:74:in run'
from /home/kosaki/linux/ruby-svn/ruby/lib/test/unit/parallel.rb:139:in
'

=end

History

#1 [ruby-dev:43294] Updated by sorah Shota Fukumori over 5 years ago

  • Category changed from test to lib

=begin

=end

#2 [ruby-dev:43712] Updated by Koichi Sasada about 5 years ago

この問題はどうなっていますでしょうか.

#3 [ruby-dev:45352] Updated by sorah Shota Fukumori over 4 years ago

  • Status changed from Assigned to Feedback

r34968 の変更で IO.popen による worker プロセスの起動に失敗した時に

ERROR: Failed to launch job process - Errno::EMFILE: Too many open files - ./miniruby

と表示されるようになったので make test-all TESTS="-j10000" で現在チケットに書いてあるような
分かりにくい異常終了の仕方にはなってないのですが問題無いでしょうか。

(-j10000 は手元の環境じゃ too many open files になるというのもあり、引き続き再現するか不明
なので一旦 feedback にします)

#4 [ruby-dev:45422] Updated by Motohiro KOSAKI over 4 years ago

Too many open files を出してるのがマネージャープロセスなら、しょうがないんじゃない。それはRLIMIT上げればいいんだし。
workerプロセスが出してるなら問題で、それはfdリークを意味してるので -j の数によってテストが変わってしまう可能性があるのでよくないよね。

#5 [ruby-dev:47028] Updated by Yusuke Endoh over 3 years ago

  • Target version changed from 2.0.0 to next minor

テストの問題に過ぎない (ですよね?) ので先送り。

--
Yusuke Endoh mame@tsg.ne.jp

Also available in: Atom PDF