Randomly changed hash key in overriden []= method in Hash inherited class -------------------------------------------------------------------------
Key: JRUBY-6035 URL: https://jira.codehaus.org/browse/JRUBY-6035 Project: JRuby Issue Type: Bug Components: Core Classes/Modules Affects Versions: JRuby 1.6.4, JRuby 1.6.2 Environment: Ubuntu 10.04 (2.6.32-33) java 1.6.0_26-b03 Reporter: Ivan Vystoskiy Found this problem trying to run Machinist v2.0.0beta2 but it happens in irb as well. Here is a snippet I ran in a console. In my environment it randomly fails on 48th-49th iteration. After self[*keys] = [] empty array get added to keys and having the key is changed super(key) returns nil. class AA < Hash def []=(*keys) value = keys.pop super(keys, value) end def [](*keys) if !has_key?(keys) p keys self[*keys] = [] p keys end super(keys) end end def go(h,count) count.times do |i| key=[i,i] h[key]<<i end end go(AA.new, 100) -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email