Project

General

Profile

Actions

Bug #4479

closed

Psych fails to parse timestamps which is parsable by Syck

Added by sakuro (Sakuro OZAWA) over 13 years ago. Updated over 13 years ago.

Status:
Third Party's Issue
Target version:
-
ruby -v:
ruby 1.9.3dev (2011-03-08 trunk 31054) [x86_64-darwin10.6.0]
Backport:
[ruby-core:35457]

Description

=begin
$ irb -f -ryaml -rpsych --prompt simple

RUBY_DESCRIPTION
=> "ruby 1.9.3dev (2011-03-08 trunk 31054) [x86_64-darwin10.6.0]"
YAML::ENGINE.yamler = 'syck'
=> "syck"
YAML.load('{created_at: 2011-03-04T15:58:25Z}')
=> {"created_at"=>2011-03-04 15:58:25 UTC}
YAML::ENGINE.yamler = 'psych'
=> "psych"
YAML.load('{created_at: 2011-03-04T15:58:25Z}')
Psych::SyntaxError: (): couldn't parse YAML at line 0 column 26
from /usr/local/lib/ruby/1.9.1/psych.rb:154:in parse' from /usr/local/lib/ruby/1.9.1/psych.rb:154:in parse_stream'
from /usr/local/lib/ruby/1.9.1/psych.rb:125:in parse' from /usr/local/lib/ruby/1.9.1/psych.rb:112:in load'
from (irb):5
from /usr/local/bin/irb:12:in `'

I encountered this in ActiveSupport::JSON::Backends::Yaml.decode fed a JSON sent to a Rails app from Ext.js 4's RestProxy.

=end


Related issues 1 (0 open1 closed)

Has duplicate Ruby master - Bug #4868: ActiveSupport::JSON.decode Fails Decoding Date/Time StringClosed06/11/2011Actions

Updated by sakuro (Sakuro OZAWA) over 13 years ago

=begin
Reformat...

$ irb -f -ryaml -rpsych --prompt simple

RUBY_DESCRIPTION
=> "ruby 1.9.3dev (2011-03-08 trunk 31054) [x86_64-darwin10.6.0]"
YAML::ENGINE.yamler = 'syck'
=> "syck"
YAML.load('{created_at: 2011-03-04T15:58:25Z}')
=> {"created_at"=>2011-03-04 15:58:25 UTC}
YAML::ENGINE.yamler = 'psych'
=> "psych"
YAML.load('{created_at: 2011-03-04T15:58:25Z}')
Psych::SyntaxError: (): couldn't parse YAML at line 0 column 26
from /usr/local/lib/ruby/1.9.1/psych.rb:154:in parse' from /usr/local/lib/ruby/1.9.1/psych.rb:154:in parse_stream'
from /usr/local/lib/ruby/1.9.1/psych.rb:125:in parse' from /usr/local/lib/ruby/1.9.1/psych.rb:112:in load'
from (irb):5
from /usr/local/bin/irb:12:in `'

I encountered this in ActiveSupport::JSON::Backends::Yaml.decode fed a JSON sent to a Rails app from Ext.js 4's RestProxy.

=end

Updated by sakuro (Sakuro OZAWA) over 13 years ago

=begin
libyaml version 0.1.3 (MacPorts)

=end

Updated by tenderlovemaking (Aaron Patterson) over 13 years ago

  • Status changed from Open to Third Party's Issue
  • Assignee set to tenderlovemaking (Aaron Patterson)

=begin
This is due to ambiguities in the YAML spec and is expressly not supported by libyaml.

Please see the discussion here:

http://sourceforge.net/mailarchive/forum.php?thread_name=AANLkTi%3DtRBNOo__zmn%3D%3D3hW_VhQQNG1WeD5E-1z6ZAKm%40mail.gmail.com&forum_name=yaml-core

and here:

http://pyyaml.org/wiki/YAMLColonInFlowContext

=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0