Project

General

Profile

Actions

Bug #11219

closed

bootstrap test failed on sparc Solaris since r50743

Added by ngoto (Naohisa Goto) almost 9 years ago. Updated almost 9 years ago.

Status:
Closed
Target version:
-
[ruby-dev:49023]

Description

r50743以降、sparc Solaris 10 にて bootstrap test が失敗します。
(64ビット、32ビット共)

test_syntax.rb           ..............................Fstderr output is not empty
   bootstraptest.tmp.rb:4: [BUG] unreachable
   ruby 2.3.0dev (2015-06-03) [sparc64-solaris2.10]
   
   -- Control frame information -----------------------------------------------
   c:0003 p:0022 s:0010 e:000007 METHOD bootstraptest.tmp.rb:4
   c:0002 p:0026 s:0005 E:000b20 EVAL   bootstraptest.tmp.rb:17 [FINISH]
   c:0001 p:0000 s:0002 E:001020 (none) [FINISH]
   
   -- Ruby level backtrace information ----------------------------------------
   bootstraptest.tmp.rb:17:in `<main>'
   bootstraptest.tmp.rb:4:in `test'
   
   -- Other runtime information -----------------------------------------------
   
   * Loaded script: bootstraptest.tmp.rb
   
   * Loaded features:
   
       0 enumerator.so
       1 rational.so
       2 complex.so
       3 /XXXXX-50743/.ext/sparc64-solaris2.10/enc/encdb.so
       4 /XXXXX-50743/.ext/sparc64-solaris2.10/enc/trans/transdb.so
       5 /XXXXX-50743/lib/unicode_normalize.rb
   
   [NOTE]
   You may have encountered a bug in the Ruby interpreter or extension libraries.
   Bug reports are welcome.
   For details: http://www.ruby-lang.org/bugreport.html
.............................................................................................................................

                         
test_thread.rb           ..................................................

                         
#142 test_eval.rb:212:in `<top (required)>': 
     class Module
       def my_module_eval(&block)
         module_eval(&block)
       end
     end
     class String
       Integer.my_module_eval do
         def hoge; end
       end
     end
     if Integer.instance_methods(false).map{|m|m.to_sym}.include?(:hoge) &&
        !String.instance_methods(false).map{|m|m.to_sym}.include?(:hoge)
       :ok
     else
       :ng
     end
  #=> "ng" (expected "ok")  [ruby-dev:34236]
#837 test_syntax.rb:233:in `<top (required)>': 
     class C
       def test
         [defined?(m1()), defined?(self.m1), defined?(C.new.m1),
          defined?(m2()), defined?(self.m2), defined?(C.new.m2),
          defined?(m3()), defined?(self.m3), defined?(C.new.m3)]
       end
       def m1
       end
       private
       def m2
       end
       protected
       def m3
       end
     end
     C.new.test + [defined?(C.new.m3)]
  #=> "" (expected "[\"method\", \"method\", \"method\", \"method\", nil, nil, \"method\", \"method\", \"method\", nil]")  
FAIL 2/1012 tests failed
make: *** [yes-btest-ruby] Error 1

r50743 は rb_method_definition_t のビットフィールド分割などの変更ですので、
おそらく、big endian と little endian の違いにより顕在化した問題で、
何かの値をVALUEなどと暗黙のうちに兼用している部分があるのだと思いますが、
探しだせませんでした。


Related issues 1 (0 open1 closed)

Related to Ruby master - Bug #10037: Since r46798 on Solaris, "[BUG] rb_vm_get_cref: unreachable" during makeClosedko1 (Koichi Sasada)Actions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0