<?xml version="1.0" encoding="UTF-8"?>
<ticket>
  <assigned-user-id type="integer" nil="true"></assigned-user-id>
  <attachments-count type="integer">1</attachments-count>
  <closed type="boolean">true</closed>
  <created-at type="datetime">2009-06-24T18:44:12+01:00</created-at>
  <creator-id type="integer">46945</creator-id>
  <milestone-due-on type="datetime" nil="true"></milestone-due-on>
  <milestone-id type="integer" nil="true"></milestone-id>
  <number type="integer">2831</number>
  <permalink>activesupportjsondecode-explodes-in-certain-circumstances</permalink>
  <priority type="integer">1790</priority>
  <project-id type="integer">8994</project-id>
  <raw-data type="binary" nil="true" encoding="base64"></raw-data>
  <state>resolved</state>
  <tag>2.3.2 activesupport json</tag>
  <title>[PATCH] ActiveSupport::JSON.decode explodes in certain circumstances</title>
  <updated-at type="datetime">2009-08-08T23:07:59+01:00</updated-at>
  <user-id type="integer">7211</user-id>
  <user-name>Mike Gunderloy</user-name>
  <creator-name>Martin Kleppmann</creator-name>
  <url>http://rails.lighthouseapp.com/projects/8994/tickets/2831</url>
  <original-body>ActiveSupport::JSON.decode has problems with JSON strings which include both quoted slashes and dates:

@@@
&gt;&gt; ActiveSupport::JSON.decode('{&quot;r&quot;:&quot;http:\/\/foo&quot;,&quot;d&quot;:&quot;2004-06-24&quot;}')
IndexError: index 38 out of string
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:75:in `[]='
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:75:in `convert_json_to_yaml'
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:75:in `each'
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:75:in `convert_json_to_yaml'
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:12:in `decode'
@@@

Whether quoted slashes are actually valid JSON is not completely clear, but they are definitely seen in the wild -- the JSON gem's Hash#to_json method produces them, for example.</original-body>
  <latest-body>ActiveSupport::JSON.decode has problems with JSON strings which include both quoted slashes and dates:

@@@
&gt;&gt; ActiveSupport::JSON.decode('{&quot;r&quot;:&quot;http:\/\/foo&quot;,&quot;d&quot;:&quot;2004-06-24&quot;}')
IndexError: index 38 out of string
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:75:in `[]='
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:75:in `convert_json_to_yaml'
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:75:in `each'
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:75:in `convert_json_to_yaml'
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:12:in `decode'
@@@

Whether quoted slashes are actually valid JSON is not completely clear, but they are definitely seen in the wild -- the JSON gem's Hash#to_json method produces them, for example.</latest-body>
  <original-body-html>&lt;div&gt;&lt;p&gt;ActiveSupport::JSON.decode has problems with JSON strings which
include both quoted slashes and dates:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
&amp;gt;&amp;gt; ActiveSupport::JSON.decode('{&amp;quot;r&amp;quot;:&amp;quot;http:\/\/foo&amp;quot;,&amp;quot;d&amp;quot;:&amp;quot;2004-06-24&amp;quot;}')
IndexError: index 38 out of string
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:75:in `[]='
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:75:in `convert_json_to_yaml'
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:75:in `each'
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:75:in `convert_json_to_yaml'
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:12:in `decode'
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Whether quoted slashes are actually valid JSON is not completely
clear, but they are definitely seen in the wild -- the JSON gem's
Hash#to_json method produces them, for example.&lt;/p&gt;&lt;/div&gt;</original-body-html>
  <versions type="array">
    <version type="Ticket::Version">
      <assigned-user-id type="integer" nil="true"></assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>ActiveSupport::JSON.decode has problems with JSON strings which include both quoted slashes and dates:

@@@
&gt;&gt; ActiveSupport::JSON.decode('{&quot;r&quot;:&quot;http:\/\/foo&quot;,&quot;d&quot;:&quot;2004-06-24&quot;}')
IndexError: index 38 out of string
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:75:in `[]='
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:75:in `convert_json_to_yaml'
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:75:in `each'
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:75:in `convert_json_to_yaml'
	from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:12:in `decode'
@@@

Whether quoted slashes are actually valid JSON is not completely clear, but they are definitely seen in the wild -- the JSON gem's Hash#to_json method produces them, for example.</body>
      <body-html>&lt;div&gt;&lt;p&gt;ActiveSupport::JSON.decode has problems with JSON strings which
include both quoted slashes and dates:&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;&amp;gt;&amp;gt; ActiveSupport::JSON.decode('{&quot;r&quot;:&quot;http:\/\/foo&quot;,&quot;d&quot;:&quot;2004-06-24&quot;}')
IndexError: index 38 out of string
    from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:75:in `[]='
    from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:75:in `convert_json_to_yaml'
    from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:75:in `each'
    from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:75:in `convert_json_to_yaml'
    from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.2/lib/active_support/json/decoding.rb:12:in `decode'&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;Whether quoted slashes are actually valid JSON is not completely
clear, but they are definitely seen in the wild -- the JSON gem's
Hash#to_json method produces them, for example.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2009-06-24T18:44:12+01:00</created-at>
      <creator-id type="integer">46945</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer">9903</milestone-id>
      <number type="integer">2831</number>
      <permalink>activesupportjsondecode-explodes-in-certain-circumstances</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>new</state>
      <tag>2.3.2 activesupport json</tag>
      <title>ActiveSupport::JSON.decode explodes in certain circumstances</title>
      <updated-at type="datetime">2009-06-24T18:44:18+01:00</updated-at>
      <user-id type="integer">46945</user-id>
      <user-name>Martin Kleppmann</user-name>
      <creator-name>Martin Kleppmann</creator-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/2831</url>
      <milestone-title>2.x</milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer" nil="true"></assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body></body>
      <body-html></body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2009-07-02T20:16:42+01:00</created-at>
      <creator-id type="integer">46945</creator-id>
      <diffable-attributes type="yaml">--- 
:state: new
</diffable-attributes>
      <milestone-id type="integer">9903</milestone-id>
      <number type="integer">2831</number>
      <permalink>activesupportjsondecode-explodes-in-certain-circumstances</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>open</state>
      <tag>2.3.2 activesupport json</tag>
      <title>ActiveSupport::JSON.decode explodes in certain circumstances</title>
      <updated-at type="datetime">2009-07-02T20:16:45+01:00</updated-at>
      <user-id type="integer">12714</user-id>
      <user-name>Yehuda Katz (wycats)</user-name>
      <creator-name>Martin Kleppmann</creator-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/2831</url>
      <milestone-title>2.x</milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer" nil="true"></assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Here is a patch for this bug. I also believe this solves bug #2273.

The cause of the bug is that between the moment when the position of the quotes around dates are tracked, and the moment those quotes are removed, the output string has changed size due to removing backslashes and/or decoding unicode sequences. Due to this wrong characters in the string are overwritten, causing Yaml to fail consequently, which causes a ParseError exception.

This patch moves the code that replaces the quotes above the code that handles the backslashes and unicode sequences, before the string size changes.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Here is a patch for this bug. I also believe this solves bug
&lt;a href=&quot;/projects/8994/tickets/2273&quot; title=
&quot;Ticket #2273&quot;&gt;#2273&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The cause of the bug is that between the moment when the
position of the quotes around dates are tracked, and the moment
those quotes are removed, the output string has changed size due to
removing backslashes and/or decoding unicode sequences. Due to this
wrong characters in the string are overwritten, causing Yaml to
fail consequently, which causes a ParseError exception.&lt;/p&gt;
&lt;p&gt;This patch moves the code that replaces the quotes above the
code that handles the backslashes and unicode sequences, before the
string size changes.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2009-08-01T01:40:11+01:00</created-at>
      <creator-id type="integer">46945</creator-id>
      <diffable-attributes type="yaml">--- 
:title: ActiveSupport::JSON.decode explodes in certain circumstances
</diffable-attributes>
      <milestone-id type="integer">9903</milestone-id>
      <number type="integer">2831</number>
      <permalink>activesupportjsondecode-explodes-in-certain-circumstances</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>open</state>
      <tag>2.3.2 activesupport json</tag>
      <title>[PATCH] ActiveSupport::JSON.decode explodes in certain circumstances</title>
      <updated-at type="datetime">2009-08-01T01:40:19+01:00</updated-at>
      <user-id type="integer">64701</user-id>
      <user-name>Bas van Klinkenberg</user-name>
      <creator-name>Martin Kleppmann</creator-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/2831</url>
      <milestone-title>2.x</milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer" nil="true"></assigned-user-id>
      <attachments-count type="integer">1</attachments-count>
      <body></body>
      <body-html></body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2009-08-08T13:01:19+01:00</created-at>
      <creator-id type="integer">46945</creator-id>
      <diffable-attributes type="yaml">--- 
:tag: 2.3.2 activesupport json
</diffable-attributes>
      <milestone-id type="integer">9903</milestone-id>
      <number type="integer">2831</number>
      <permalink>activesupportjsondecode-explodes-in-certain-circumstances</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>open</state>
      <tag>2.3.2 activesupport bugmash json</tag>
      <title>[PATCH] ActiveSupport::JSON.decode explodes in certain circumstances</title>
      <updated-at type="datetime">2009-08-08T13:01:23+01:00</updated-at>
      <user-id type="integer">7211</user-id>
      <user-name>Mike Gunderloy</user-name>
      <creator-name>Martin Kleppmann</creator-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/2831</url>
      <milestone-title>2.x</milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">1</attachments-count>
      <body>Patch is verified for above code.

Before:

&lt;pre&gt;
ActiveSupport::JSON.decode('{&quot;r&quot;:&quot;http:\/\/foo&quot;,&quot;d&quot;:&quot;2004-06-24&quot;}')
IndexError: index 38 out of string
	from /opt/rubyee/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/json/backends/yaml.rb:77:in `[]='
	from /opt/rubyee/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/json/backends/yaml.rb:77:in `convert_json_to_yaml'
	from /opt/rubyee/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/json/backends/yaml.rb:77:in `each'
	from /opt/rubyee/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/json/backends/yaml.rb:77:in `convert_json_to_yaml'
	from /opt/rubyee/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/json/backends/yaml.rb:16:in `decode'
	from /opt/rubyee/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/json/decoding.rb:11:in `__send__'
	from /opt/rubyee/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/json/decoding.rb:11:in `decode'
	from (irb):1

&lt;/pre&gt;

After patch:

&lt;pre&gt;ActiveSupport::JSON.decode('{&quot;r&quot;:&quot;http:\/\/foo&quot;,&quot;d&quot;:&quot;2004-06-24&quot;}')
=&gt; {&quot;d&quot;=&gt;Thu, 24 Jun 2004, &quot;r&quot;=&gt;&quot;http://foo&quot;}
&lt;/pre&gt;</body>
      <body-html>&lt;div&gt;&lt;p&gt;Patch is verified for above code.&lt;/p&gt;
&lt;p&gt;Before:&lt;/p&gt;
&lt;pre&gt;
ActiveSupport::JSON.decode('{&quot;r&quot;:&quot;http:\/\/foo&quot;,&quot;d&quot;:&quot;2004-06-24&quot;}')
IndexError: index 38 out of string
    from /opt/rubyee/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/json/backends/yaml.rb:77:in `[]='
    from /opt/rubyee/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/json/backends/yaml.rb:77:in `convert_json_to_yaml'
    from /opt/rubyee/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/json/backends/yaml.rb:77:in `each'
    from /opt/rubyee/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/json/backends/yaml.rb:77:in `convert_json_to_yaml'
    from /opt/rubyee/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/json/backends/yaml.rb:16:in `decode'
    from /opt/rubyee/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/json/decoding.rb:11:in `__send__'
    from /opt/rubyee/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/json/decoding.rb:11:in `decode'
    from (irb):1

&lt;/pre&gt;
&lt;p&gt;After patch:&lt;/p&gt;
&lt;pre&gt;
ActiveSupport::JSON.decode('{&quot;r&quot;:&quot;http:\/\/foo&quot;,&quot;d&quot;:&quot;2004-06-24&quot;}')
=&amp;gt; {&quot;d&quot;=&amp;gt;Thu, 24 Jun 2004, &quot;r&quot;=&amp;gt;&quot;http://foo&quot;}
&lt;/pre&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2009-08-08T13:18:01+01:00</created-at>
      <creator-id type="integer">46945</creator-id>
      <diffable-attributes type="yaml">--- 
:assigned_user: 
</diffable-attributes>
      <milestone-id type="integer">9903</milestone-id>
      <number type="integer">2831</number>
      <permalink>activesupportjsondecode-explodes-in-certain-circumstances</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>open</state>
      <tag>2.3.2 activesupport bugmash json</tag>
      <title>[PATCH] ActiveSupport::JSON.decode explodes in certain circumstances</title>
      <updated-at type="datetime">2009-08-08T13:18:04+01:00</updated-at>
      <user-id type="integer">64156</user-id>
      <user-name>Nikolay Petrachkov </user-name>
      <creator-name>Martin Kleppmann</creator-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/2831</url>
      <milestone-title>2.x</milestone-title>
      <assigned-user-name>Pratik</assigned-user-name>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">1</attachments-count>
      <body>verified

+1 This patch works perfectly. All tests pass.</body>
      <body-html>&lt;div&gt;&lt;p&gt;verified&lt;/p&gt;
&lt;p&gt;+1 This patch works perfectly. All tests pass.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2009-08-08T16:25:44+01:00</created-at>
      <creator-id type="integer">46945</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer">9903</milestone-id>
      <number type="integer">2831</number>
      <permalink>activesupportjsondecode-explodes-in-certain-circumstances</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>open</state>
      <tag>2.3.2 activesupport bugmash json</tag>
      <title>[PATCH] ActiveSupport::JSON.decode explodes in certain circumstances</title>
      <updated-at type="datetime">2009-08-08T16:25:48+01:00</updated-at>
      <user-id type="integer">65556</user-id>
      <user-name>Rizwan Reza</user-name>
      <creator-name>Martin Kleppmann</creator-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/2831</url>
      <milestone-title>2.x</milestone-title>
      <assigned-user-name>Pratik</assigned-user-name>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">1366</assigned-user-id>
      <attachments-count type="integer">1</attachments-count>
      <body>(from [0fbeaa98e4e60ca0949be298dae8545807407e1d]) Fixed a bug in JSON decoding with Yaml backend, where a combination of dates, escaped or unicode encoded data and arrays would make the parser fail with a ParseError exception. [#2831 state:resolved]

Signed-off-by: Yehuda Katz &lt;wycats@gmail.com&gt;
http://github.com/rails/rails/commit/0fbeaa98e4e60ca0949be298dae8545807407e1d</body>
      <body-html>&lt;div&gt;&lt;p&gt;(from &lt;a href=
&quot;/projects/8994/changesets/0fbeaa98e4e60ca0949be298dae8545807407e1d&quot;
title=
&quot;Changeset [0fbeaa98e4e60ca0949be298dae8545807407e1d]&quot;&gt;[0fbeaa98e4e60ca0949be298dae8545807407e1d]&lt;/a&gt;)
Fixed a bug in JSON decoding with Yaml backend, where a combination
of dates, escaped or unicode encoded data and arrays would make the
parser fail with a ParseError exception. [&lt;a href=
&quot;/projects/8994/tickets/2831&quot; title=&quot;Ticket #2831&quot;&gt;#2831&lt;/a&gt;
state:resolved]&lt;/p&gt;
&lt;p&gt;Signed-off-by: Yehuda Katz &lt;a&gt;wycats@gmail.com&lt;/a&gt;&lt;br&gt;
&lt;a href=
&quot;http://github.com/rails/rails/commit/0fbeaa98e4e60ca0949be298dae8545807407e1d&quot;&gt;
http://github.com/rails/rails/commit/0fbeaa98e4e60ca0949be298dae854...&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2009-08-08T16:45:27+01:00</created-at>
      <creator-id type="integer">46945</creator-id>
      <diffable-attributes type="yaml">--- 
:state: open
</diffable-attributes>
      <milestone-id type="integer">9903</milestone-id>
      <number type="integer">2831</number>
      <permalink>activesupportjsondecode-explodes-in-certain-circumstances</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>resolved</state>
      <tag>2.3.2 activesupport bugmash json</tag>
      <title>[PATCH] ActiveSupport::JSON.decode explodes in certain circumstances</title>
      <updated-at type="datetime">2009-08-08T16:45:29+01:00</updated-at>
      <user-id type="integer">17393</user-id>
      <user-name>Repository</user-name>
      <creator-name>Martin Kleppmann</creator-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/2831</url>
      <milestone-title>2.x</milestone-title>
      <assigned-user-name>Pratik</assigned-user-name>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer" nil="true"></assigned-user-id>
      <attachments-count type="integer">1</attachments-count>
      <body nil="true"></body>
      <body-html></body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2009-08-08T23:07:54+01:00</created-at>
      <creator-id type="integer">46945</creator-id>
      <diffable-attributes type="yaml">--- 
:tag: 2.3.2 activesupport bugmash json
:assigned_user: 1366
:milestone: 9903
</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">2831</number>
      <permalink>activesupportjsondecode-explodes-in-certain-circumstances</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>resolved</state>
      <tag>2.3.2 activesupport json</tag>
      <title>[PATCH] ActiveSupport::JSON.decode explodes in certain circumstances</title>
      <updated-at type="datetime">2009-08-08T23:07:59+01:00</updated-at>
      <user-id type="integer">7211</user-id>
      <user-name>Mike Gunderloy</user-name>
      <creator-name>Martin Kleppmann</creator-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/2831</url>
      <milestone-title nil="true"></milestone-title>
      <assigned-user-name nil="true"></assigned-user-name>
    </version>
  </versions>
  <attachments type="array">
    <attachment type="Attachment">
      <code>e6d8bb9ae4a6df220afb3a8092126ace79ea97b9</code>
      <content-type>text/plain</content-type>
      <created-at type="datetime">2009-08-01T01:40:11+01:00</created-at>
      <filename>fix_active_support_json_decode_yaml_dates_and_escaped_data.diff</filename>
      <height type="integer" nil="true"></height>
      <id type="integer">234122</id>
      <size type="integer">4075</size>
      <uploader-id type="integer">64701</uploader-id>
      <width type="integer" nil="true"></width>
      <url>http://rails.lighthouseapp.com/attachments/234122/fix_active_support_json_decode_yaml_dates_and_escaped_data.diff</url>
    </attachment>
  </attachments>
</ticket>
