Issue #5719 has been updated by Martin D端rst.


This is related to http://redmine.ruby-lang.org/issues/982. In terms of what needs to be done, it may even be "the same" bug, although 982 is about a very long array literal, and this is about a very long array created by a splash. At http://redmine.ruby-lang.org/issues/982, Koichi Sasada said 「すみません,1.9.3 の後の課題とさせて下さい.」, i.e. "sorry, but let's deal with this after 1.9.3". So now may be a good time :-).
----------------------------------------
Bug #5719: Hash::[] can't handle 100000+ args
http://redmine.ruby-lang.org/issues/5719

Author: Nick Quaranto
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: -


I couldn't pin down an exact size for when/how this occurs, but I have code that was creating hashes just fine with Hash::[] with 300k+ arguments.

irb(main):056:0> (0...140000).map { |n| [:a, n] }.tap { |a| Hash[*a] }.size
SystemStackError: stack level too deep
	from /Users/qrush/.rbenv/versions/1.9.3-p0/lib/ruby/1.9.1/irb/workspace.rb:80
Maybe IRB bug!
irb(main):057:0> (0...130000).map { |n| [:a, n] }.tap { |a| Hash[*a] }.size
=> 130000



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