Bug #1590 [ruby-core:23759]
Unexpected behaviour of Array.|
| Status : | Third Party's Issue | Start : | 06/09/2009 | |
| Priority : | Normal | Due date : | ||
| Assigned to : | - | % Done : | 0% |
|
| Category : | - | |||
| Target version : | - | |||
| ruby -v : | ruby 1.8.7 (2009-04-08 patchlevel 160) [i686-darwin9] |
Description
In combination with rails 2.2, concatenation of arrays behaves strange in 1.8.7, patch level 160 (darwin). The following code (assuming installed rails 2.2) gives unpredictable results:
require 'rubygems'
require 'activesupport'
Time.zone = 'Eastern Time (US & Canada)'
a1 = [
{:date=>Time.zone.parse("Wed, 06 May 2009 11:58:57 UTC +00:00")},
{:date=>Time.zone.parse("Wed, 01 Apr 2009 12:34:05 UTC +00:00")},
{:date=>Time.zone.parse("Tue, 24 Mar 2009 16:27:35 UTC +00:00")},
{:date=>Time.zone.parse("Mon, 23 Mar 2009 11:54:44 UTC +00:00")},
{:date=>Time.zone.parse("Mon, 23 Mar 2009 11:41:20 UTC +00:00")},
{:date=>Time.zone.parse("Mon, 23 Mar 2009 11:05:48 UTC +00:00")},
{:date=>Time.zone.parse("Mon, 23 Mar 2009 10:42:58 UTC +00:00")},
{:date=>Time.zone.parse("Fri, 20 Mar 2009 16:19:15 UTC +00:00")},
{:date=>Time.zone.parse("Wed, 18 Mar 2009 18:02:30 UTC +00:00")},
{:date=>Time.zone.parse("Wed, 18 Mar 2009 15:23:03 UTC +00:00")}]
a2 = [
{:date=>Time.zone.parse("Tue, 19 May 2009 18:20:06 UTC +00:00")},
{:date=>Time.zone.parse("Fri, 08 May 2009 16:15:34 UTC +00:00")},
{:date=>Time.zone.parse("Fri, 08 May 2009 13:42:43 UTC +00:00")},
{:date=>Time.zone.parse("Fri, 08 May 2009 13:23:12 UTC +00:00")},
{:date=>Time.zone.parse("Fri, 08 May 2009 10:49:26 UTC +00:00")},
{:date=>Time.zone.parse("Fri, 08 May 2009 10:30:37 UTC +00:00")},
{:date=>Time.zone.parse("Fri, 08 May 2009 08:40:41 UTC +00:00")},
{:date=>Time.zone.parse("Fri, 08 May 2009 08:15:26 UTC +00:00")},
{:date=>Time.zone.parse("Fri, 08 May 2009 07:48:37 UTC +00:00")},
{:date=>Time.zone.parse("Fri, 08 May 2009 07:36:58 UTC +00:00")}]
a1 | a2 # returns unpredictable array, most of the time empty
The last row sometimes returns [] but the next time an array with 2 or 3 elements.