Issue #4040 has been updated by Koichi Sasada.

Target version changed from 1.9.3 to 1.9.x

Let us pending it to next version....
----------------------------------------
Bug #4040: SystemStackError with Hash[*a] for Large _a_
http://redmine.ruby-lang.org/issues/4040

Author: Run Paint Run Run
Status: Assigned
Priority: Low
Assignee: Koichi Sasada
Category: core
Target version: 1.9.x
ruby -v: ruby 1.9.3dev (2010-11-09 trunk 29737) [x86_64-linux] 


=begin
 I've been hesitating over whether to file a ticket about this, so please feel free to close if I've made the wrong choice.
 
 I often use Hash[*array.flatten] in IRB to convert arrays of arrays into hashes. Today I noticed that if the array is big enough, this would raise a SystemStackError. Puzzled, I looked deeper. I assumed I was hitting the maximum number of arguments a method's argc can hold, but realised that the minimum size of the array needed to trigger this exception differed depending on whether I used IRB or not. So, presumably this is indeed exhausting the stack...
 
 In IRB, the following is the minimal reproduction of this problem:
 
   Hash[*130648.times.map{ 1 }]; true
 
 I haven't looked for the minimum value needed with `ruby -e`, but the following reproduces:
 
   ruby -e 'Hash[*1380888.times.map{ 1 }]'
 
 I suppose this isn't technically a bug, but maybe it offers another argument for either #666 or an extension of #3131.
=end



-- 
http://redmine.ruby-lang.org