Project

General

Profile

Actions

Bug #10010

closed

Error in TestEnv#test_memory_leak_* on Solaris

Bug #10010: Error in TestEnv#test_memory_leak_* on Solaris

Added by ngoto (Naohisa Goto) over 11 years ago. Updated over 11 years ago.

Status:
Closed
Target version:
ruby -v:
ruby 2.2.0dev (2014-07-04) [sparc64-solaris2.10]
[ruby-dev:48370]

Description

r46550 くらい以降、Solaris 10 にて make test-all 中、以下のエラーが発生します。
(r44686 にて確認)

test/envutil.rb の 438行目にて、:size や :rss 用の情報が、OS側の何らかの理由で示されず、その結果ハッシュにも格納されず、 a または b が nil になることがあるのに、それに対応していないのが原因と思います。

なお、Solaris では、/proc/self/status は struct pstatus_t の内容のバイナリを返しますが、それには全く対応していないので、nil になるか、偶然バイナリ値が何かに一致した場合にでたらめな値が返されるかのいずれかになります。

 53) Error: TestEnv#test_memory_leak_shift: NoMethodError: undefined method `>' for nil:NilClass /XXXXX/test/ruby/envutil.rb:438:in `block in assert_no_memory_leak' /XXXXX/test/ruby/envutil.rb:435:in `each' /XXXXX/test/ruby/envutil.rb:435:in `assert_no_memory_leak' /XXXXX/test/ruby/test_env.rb:543:in `test_memory_leak_shift' 54) Error: TestEnv#test_memory_leak_select: NoMethodError: undefined method `>' for nil:NilClass /XXXXX/test/ruby/envutil.rb:438:in `block in assert_no_memory_leak' /XXXXX/test/ruby/envutil.rb:435:in `each' /XXXXX/test/ruby/envutil.rb:435:in `assert_no_memory_leak' /XXXXX/test/ruby/test_env.rb:525:in `test_memory_leak_select' 55) Error: TestEnv#test_memory_leak_aset: NoMethodError: undefined method `>' for nil:NilClass /XXXXX/test/ruby/envutil.rb:438:in `block in assert_no_memory_leak' /XXXXX/test/ruby/envutil.rb:435:in `each' /XXXXX/test/ruby/envutil.rb:435:in `assert_no_memory_leak' /XXXXX/test/ruby/test_env.rb:514:in `test_memory_leak_aset' 

Related issues 1 (0 open1 closed)

Actions

Also available in: PDF Atom