3

Closed

Rubygems failures

description

The change to Array equality and hashing caused 40 failures in Rubygems. 38 of them are System::ArugmentNullException: Value cannot be null. The other two are RangeError: bignum too big to convert into `long'.
 
To reproduce: rake test:gems
 
 
38) Error:
test_fetch_spec_platform(TestGemSpecFetcher):
System::ArgumentNullException: Value cannot be null.
Parameter name: key
mscorlib:0:in `ThrowArgumentNullException'
mscorlib:0:in `Insert'
mscorlib:0:in `set_Item'
c:\vsl\m3\Merlin\Main\Languages\Ruby\Libraries.LCA_RESTRICTED\Extensions\IListOps.cs:248:in `-'
:0:in `CallSite.Target'
spec_fetcher.rb:77:in `fetch_spec'
c:/vsl/m3/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/RubyGems-1_3_1-test/test_gem_spec_fetcher.rb:150:in `tes
t_fetch_spec_platform'
c:\vsl\m3\Merlin\Main\Languages\Ruby\Libraries.LCA_RESTRICTED\Builtins\KernelOps.cs:1311:in `send'
c:/vsl/m3/Merlin/External.LCA_RESTRICTED/Languages/Ruby/ruby-1.8.6p287/lib/ruby/gems/1.8/gems/minitest-1.3.1/lib/min
itest/unit.rb:415:in `run_test_suites'
unit.rb:438:in `run'
unit.rb:416:in `run_test_suites'
c:\vsl\m3\Merlin\Main\Languages\Ruby\Libraries.LCA_RESTRICTED\Extensions\IListOps.cs:761:in `each'
unit.rb:415:in `run_test_suites'
c:\vsl\m3\Merlin\Main\Languages\Ruby\Libraries.LCA_RESTRICTED\Extensions\IListOps.cs:761:in `each'
c:/vsl/m3/Merlin/External.LCA_RESTRICTED/Languages/Ruby/ruby-1.8.6p287/lib/ruby/gems/1.8/gems/minitest-1.3.1/lib/min
itest/unit.rb:395:in `run'
c:/vsl/m3/Merlin/External.LCA_RESTRICTED/Languages/Ruby/ruby-1.8.6p287/lib/ruby/gems/1.8/gems/minitest-1.3.1/lib/min
itest/unit.rb:335:in `autorun'

 

 
 
40) Error:
test_files_non_array_pathological(TestGemSpecification):
RangeError: bignum too big to convert into `long'
c:\vsl\m3\Merlin\Main\Languages\Ruby\Ruby\Runtime\RubyOps.cs:1605:in `ConvertBignumToFixnum'
c:\vsl\m3\Merlin\Main\Runtime\Microsoft.Scripting\Utils\ReflectedCaller.Generated.cs:325:in `Invoke'
c:\vsl\m3\Merlin\Main\Runtime\Microsoft.Scripting\Utils\ReflectedCaller.Generated.cs:46:in `Invoke'
c:\vsl\m3\Merlin\Main\Runtime\Microsoft.Scripting\Interpreter\Instruction.cs:775:in `Run'
c:\vsl\m3\Merlin\Main\Runtime\Microsoft.Scripting\Interpreter\Interpreter.cs:233:in `RunInstructions'
c:/vsl/m3/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/RubyGems-1_3_1-test/test_gem_specification.rb:450:in `te
st_files_non_array_pathological'
c:\vsl\m3\Merlin\Main\Runtime\Microsoft.Scripting\Interpreter\LightLambda.Generated.cs:72:in `Run2'
c:\vsl\m3\Merlin\Main\Languages\Ruby\Ruby\Runtime\Calls\MethodDispatcher.Generated.cs:736:in `Invoke'
c:\vsl\m3\ndp\fx\src\Core\Microsoft\Scripting\Actions\UpdateDelegates.Generated.cs:191:in `UpdateAndExecute1'
:0:in `CallSite.Target'
c:\vsl\m3\Merlin\Main\Languages\Ruby\Ruby\Builtins\RubyArray.cs:106:in `GetHashCode'
c:\vsl\m3\Merlin\Main\Languages\Ruby\Libraries.LCA_RESTRICTED\Extensions\IListOps.cs:342:in `hash'
:0:in `CallSite.Target'
c:\vsl\m3\Merlin\Main\Runtime\Microsoft.Scripting\Interpreter\LightLambda.Generated.cs:87:in `Run3'
c:\vsl\m3\Merlin\Main\Languages\Ruby\Ruby\Runtime\Calls\MethodDispatcher.Generated.cs:781:in `Invoke'
specification.rb:664:in `hash'
c:\vsl\m3\Merlin\Main\Languages\Ruby\Libraries.LCA_RESTRICTED\Builtins\Enumerable.cs:274:in `<Inject>b__18'
c:\vsl\m3\Merlin\Main\Languages\Ruby\Libraries.LCA_RESTRICTED\Extensions\IListOps.cs:761:in `each'
c:\vsl\m3\Merlin\Main\Languages\Ruby\Libraries.LCA_RESTRICTED\Builtins\Enumerable.cs:34:in `Each'
c:\vsl\m3\Merlin\Main\Languages\Ruby\Libraries.LCA_RESTRICTED\Builtins\Enumerable.cs:264:in `inject'
specification.rb:663:in `hash'
c:/vsl/m3/Merlin/External.LCA_RESTRICTED/Languages/Ruby/ruby-1.8.6p287/lib/ruby/gems/1.8/gems/minitest-1.3.1/lib/min
itest/unit.rb:415:in `run_test_suites'
c:\vsl\m3\Merlin\Main\Languages\Ruby\Libraries.LCA_RESTRICTED\Builtins\KernelOps.cs:1311:in `send'
unit.rb:438:in `run'
unit.rb:416:in `run_test_suites'
c:\vsl\m3\Merlin\Main\Languages\Ruby\Libraries.LCA_RESTRICTED\Extensions\IListOps.cs:761:in `each'
unit.rb:415:in `run_test_suites'
c:\vsl\m3\Merlin\Main\Languages\Ruby\Libraries.LCA_RESTRICTED\Extensions\IListOps.cs:761:in `each'
c:/vsl/m3/Merlin/External.LCA_RESTRICTED/Languages/Ruby/ruby-1.8.6p287/lib/ruby/gems/1.8/gems/minitest-1.3.1/lib/min
itest/unit.rb:395:in `run'
c:/vsl/m3/Merlin/External.LCA_RESTRICTED/Languages/Ruby/ruby-1.8.6p287/lib/ruby/gems/1.8/gems/minitest-1.3.1/lib/min
itest/unit.rb:335:in `autorun'
 
694 tests, 1854 assertions, 1 failures, 39 errors, 0 skips
Closed Jul 22, 2009 at 11:25 PM by jredville
Tests are passing

comments

TomasMatousek wrote Jun 23, 2009 at 9:42 PM

Fixed.

riles01 wrote Jul 19, 2009 at 12:55 AM

I notice that Tomas has commented this is fixed, but when trying to run the tests again or trying to install certain gems (e.g. cucumber), I still get the "RangeError: bignum too big to convert into `long'" error.

jredville wrote Jul 22, 2009 at 11:25 PM

riles, if you can still repro, please see if you can narrow down and submit a new bug

riles01 wrote Jul 23, 2009 at 4:34 AM

I got latest from github.com/ironruby/ironruby.git (is that the correct repo?) and still see the two failures. I'll create a new bug.

riles01 wrote Jul 23, 2009 at 5:06 AM

I posted Work Item 1841 to further this investigation. You may have fixed it in another repo, but I don't see it in the ironruby/ironruby repo on github yet.