[#44925] [Backport93 - Backport #5702][Open] backport r33935 — Yusuke Endoh <mame@...>
19 messages
2011/12/03
[#44929] [Backport93 - Backport #5702] backport r33935
— Tomoyuki Chikanaga <nagachika00@...>
2011/12/05
[#44931] Re: [Backport93 - Backport #5702] backport r33935
— Yusuke Endoh <mame@...>
2011/12/05
GyRCMXNGIyRHJDkhIxsoQgoKGyRCJWwlUyVlITwkIiRqJCwkSCQmJDQkNiQkJF4kOSEjGyhCCgoK
[#44934] Re: [Backport93 - Backport #5702] backport r33935
— "NARUSE, Yui" <naruse@...>
2011/12/05
2011年12月5日12:39 Yusuke Endoh <mame@tsg.ne.jp>:
[#44940] Re: [ruby-cvs:41134] naruse:r33956 (trunk): Comment out tests which fails with GDBM-DBM compat mode. — Tanaka Akira <akr@...>
2011/12/6 <naruse@ruby-lang.org>:
9 messages
2011/12/05
[#44941] Re: [ruby-cvs:41134] naruse:r33956 (trunk): Comment out tests which fails with GDBM-DBM compat mode.
— KOSAKI Motohiro <kosaki.motohiro@...>
2011/12/05
2011年12月5日16:56 Tanaka Akira <akr@fsij.org>:
[#44942] Re: [ruby-cvs:41134] naruse:r33956 (trunk): Comment out tests which fails with GDBM-DBM compat mode.
— KOSAKI Motohiro <kosaki.motohiro@...>
2011/12/05
> おかしいな。gdbmは勝手にcreateフラグを立ててしまうので当該2つの
[#44943] Re: [ruby-cvs:41134] naruse:r33956 (trunk): Comment out tests which fails with GDBM-DBM compat mode.
— KOSAKI Motohiro <kosaki.motohiro@...>
2011/12/05
> def test_s_open_no_create
[#44944] Re: [ruby-cvs:41134] naruse:r33956 (trunk): Comment out tests which fails with GDBM-DBM compat mode.
— Tanaka Akira <akr@...>
2011/12/05
2011年12月6日7:19 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:
[#44946] Re: [ruby-cvs:41134] naruse:r33956 (trunk): Comment out tests which fails with GDBM-DBM compat mode.
— KOSAKI Motohiro <kosaki.motohiro@...>
2011/12/06
>> DBM::VERSIONは仕様が腐っていて 1)本物のdbmとリンクした場合は
[#44947] Re: [ruby-cvs:41134] naruse:r33956 (trunk): Comment out tests which fails with GDBM-DBM compat mode.
— Tanaka Akira <akr@...>
2011/12/06
2011年12月6日12:51 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:
[#44950] [ruby-trunk - Bug #5725][Assigned] Coverage doesn't honor file path encodings — Shyouhei Urabe <shyouhei@...>
6 messages
2011/12/08
[#44951] [ruby-trunk - Bug #5728][Open] SystemExit.new(bool, message) — Akira Tanaka <akr@...>
6 messages
2011/12/08
[#44961] [ruby-trunk - Bug #5731][Open] enum_for を使うと method_missing にブロックが渡されない — Masahiro Tomita <tommy@...>
4 messages
2011/12/09
[#44963] [ruby-trunk - Bug #5738][Open] if false; BEGIN {}; end が syntax error になる — Sho Hashimoto <sho-h@...>
5 messages
2011/12/10
[#44974] githubへの移行 — Shugo Maeda <shugo@...>
前田です。
10 messages
2011/12/12
[#44985] [ruby-trunk - Bug #5757][Open] main threadがreadやselectで待っていると、^C でなかなか死なない — Yui NARUSE <naruse@...>
12 messages
2011/12/13
[#45002] [ruby-trunk - Bug #5768][Assigned] TestRequire#test_race_exceptionで競合するケースがまだある — Yui NARUSE <naruse@...>
8 messages
2011/12/17
[#45021] [ruby-trunk - Bug #5786][Open] LoadError: cannot load such file -- openssl — Kazuhiro NISHIYAMA <redmine@...>
11 messages
2011/12/21
[#45022] [ruby-trunk - Bug #5786] LoadError: cannot load such file -- openssl
— Kazuhiro NISHIYAMA <redmine@...>
2011/12/21
[#45030] [ruby-trunk - Bug #5790][Open] net/http の EOFError と Keep-Alive — Yui NARUSE <naruse@...>
3 messages
2011/12/22
[#45034] Re: [ruby-dev:44974] githubへの移行 — Daehyub Kim <lateau@...>
44Oi44Or44Gn44GZ44CCCuOCiOOBneOCguOBruOBp+OBmeOBjOOAgeWwkeOBl+awl+OBq+OBquOC
9 messages
2011/12/22
[#45035] Re: githubへの移行
— "NARUSE, Yui" <naruse@...>
2011/12/22
2011年12月22日23:55 Daehyub Kim <lateau@gmail.com>:
[#45036] Re: githubへの移行
— Narihiro Nakamura <authornari@...>
2011/12/22
nariです。
[#45038] Re: githubへの移行
— KOSAKI Motohiro <kosaki.motohiro@...>
2011/12/22
> 成瀬さんがおっしゃってるログですが、以下にわりと古めのWikiページがある
[#45039] Re: githubへの移行
— Urabe Shyouhei <shyouhei@...>
2011/12/23
On 2011年12月23日 02:20, KOSAKI Motohiro wrote:
[ruby-dev:45069] [ruby-trunk - Bug #5390] YAML.load が、正しく解析できないエンコーディングの文字列も受け付けてしまう
From:
Ayumu AIZAWA <ayumu.aizawa@...>
Date:
2011-12-30 18:46:04 UTC
List:
ruby-dev #45069
Issue #5390 has been updated by Ayumu AIZAWA. YAML::ENGINE.yamler が syck のみ再現します。 ruby1.9.2 をお使いの場合は require 'yaml' する前に require 'psych' するか YAML::ENGINE.yamler = 'psych' すると以下のようにPsych::SyntaxErrorとなります。 ---- ruby 2.0.0dev $ cat bug_5390.rb # coding: Shift_JIS require 'yaml' text = '["?\"]' p YAML::ENGINE.yamler p text.encoding str = YAML.load(text).first $ ruby -v bug_5390.rb ruby 2.0.0dev (2011-12-30 trunk 34161) [x86_64-darwin10.8.0] "psych" #<Encoding:Shift_JIS> /Users/ayumin/tmp/ruby/lib/ruby/2.0.0/psych.rb:192:in `parse': (<unknown>): invalid leading UTF-8 octet at line 1 column 1 (Psych::SyntaxError) from /Users/ayumin/tmp/ruby/lib/ruby/2.0.0/psych.rb:192:in `parse_stream' from /Users/ayumin/tmp/ruby/lib/ruby/2.0.0/psych.rb:150:in `parse' from /Users/ayumin/tmp/ruby/lib/ruby/2.0.0/psych.rb:126:in `load' from bug_5390.rb:6:in `<main>' ---- ruby1.9.2 $ cat bug_5390.rb # coding: Shift_JIS require 'yaml' text = '["?\"]' YAML::ENGINE.yamler = 'psych' str = YAML.load(text).first $ ruby -v bug_5390.rb ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.8.0] /Users/ayumin/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/psych/deprecated.rb:79: warning: method redefined; discarding old to_yaml_properties /Users/ayumin/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/syck/rubytypes.rb:13: warning: previous definition of to_yaml_properties was here /Users/ayumin/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/psych.rb:148:in `parse': couldn't parse YAML at line 1 column 0 (Psych::SyntaxError) from /Users/ayumin/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/psych.rb:148:in `parse_stream' from /Users/ayumin/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/psych.rb:119:in `parse' from /Users/ayumin/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/psych.rb:106:in `load' from bug_5390.rb:5:in `<main>' ---------------------------------------- Bug #5390: YAML.load が、正しく解析できないエンコーディングの文字列も受け付けてしまう https://bugs.ruby-lang.org/issues/5390 Author: yu nobuoka Status: Assigned Priority: Normal Assignee: Aaron Patterson Category: Target version: 2.0.0 ruby -v: ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux] [[ruby-list:48419]] にてバグ扱いでいいだろうという話がありましたのでバグとして報告します。 YAML.load がどのように実装されているのかコードを追いきれなかったのですが、動きを見る限り、与えられた文字列のエンコーディングを気にせずにパースしているように思います。 このため、Shift_JIS のようなエンコーディングの文字列の一部を正しくパースできません。 --- source code --- # coding: Shift_JIS require "yaml" text = '[ "噂" ]' # Shift_JIS の '噂' の 2 バイト目はバックスラッシュと同じバイト値 str = YAML.load( text ).first # エラー発生 --- output --- /home/nobuoka/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/syck.rb:135:in `load': syntax error on line 0, col 9: `' (ArgumentError) from /home/nobuoka/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/syck.rb:135:in `load' from yaml_cp932.rb:4:in `<main>' Shift_JIS の文字列でもほとんどの場合は例外発生せずにパースされるので、Shift_JIS の文字列を使っている場合に問題が起こる可能性をユーザーが認識しづらいという問題があります。 よって、現在の動きはバグとして、以下のいずれかの動きに変更した方が良いのではないでしょうか。 *UTF-8 (UTF-16 も?) 以外のエンコーディングの文字列が渡された場合に例外を発生させる *UTF-8 以外のエンコーディングの文字列が渡された場合に、自動的に UTF-8 に変換して処理を進める *YAML の解析部分でエンコーディングを考慮するようにして、Shift_JIS などでも正しく解析できるようにする -- http://redmine.ruby-lang.org