forward the mail to register it to redmine.


---------- Forwarded message ----------
From: Ryan Davis <ryand-ruby / zenspider.com>
Date: Sat, Aug 21, 2010 at 6:16 AM
Subject: [ruby-core:31806] 1.9.1 has marshal bugs in everything but p129
To: ruby-core / ruby-lang.org


Is there any chance we can release a 1.9.1 that fixes the current
marshal bugs? It is fixed in 1.9.2, so I know the patch exists
somewhere and could be merged over. Otherwise I think I'm going to
have to drop support for 1.9.1 early.

Summary of output:

1.9.1-p129: no failures
1.9.1-p243: fails test_dump_regexp_bug
1.9.1-p376: fails test_dump_symbol_bug
1.9.1-p378: fails test_dump_symbol_bug
1.9.1-p429: fails test_dump_symbol_bug
1.9.1-p430: fails test_dump_symbol_bug

test_marshal_bugs.rb:

> # -*- ruby -*-
>
> $: << "../../minitest/dev/lib"
> require 'minitest/autorun'
>
> class TestMarshalBugs < MiniTest::Unit::TestCase
> =A0 def test_dump_symbol_bug
> =A0 =A0 assert_roundtrip [:$!, 42]
> =A0 end
>
> =A0 def test_dump_regexp_bug
> =A0 =A0 assert_roundtrip [:match3, [:lit, /x/], [:str, "blah"]]
> =A0 end
>
> =A0 def assert_roundtrip obj
> =A0 =A0 assert_equal obj, Marshal.load(Marshal.dump(obj))
> =A0 end
> end

outputs:

> % multiruby bug.rb
>
> ... skipping output from 1.8.x
>
> VERSION =3D 1.9.1-p129
> CMD =A0 =A0 =3D ~/.multiruby/install/1.9.1-p129/bin/ruby bug.rb
>
> Loaded suite bug
> Started
> ..
> Finished in 0.000365 seconds.
>
> 2 tests, 2 assertions, 0 failures, 0 errors, 0 skips
>
> RESULT =3D 0
>
> VERSION =3D 1.9.1-p243
> CMD =A0 =A0 =3D ~/.multiruby/install/1.9.1-p243/bin/ruby bug.rb
>
> Loaded suite bug
> Started
> E.
> Finished in 0.000472 seconds.
>
> =A0 1) Error:
> test_dump_regexp_bug(TestMarshalBugs):
> TypeError: can't convert Regexp into String
> =A0 =A0 bug.rb:16:in `load'
> =A0 =A0 bug.rb:16:in `assert_roundtrip'
> =A0 =A0 bug.rb:12:in `test_dump_regexp_bug'
>
> 2 tests, 1 assertions, 0 failures, 1 errors, 0 skips
>
> RESULT =3D 256
>
> VERSION =3D 1.9.1-p376
> CMD =A0 =A0 =3D ~/.multiruby/install/1.9.1-p376/bin/ruby bug.rb
>
> Loaded suite bug
> Started
> E.
> Finished in 0.000458 seconds.
>
> =A0 1) Error:
> test_dump_symbol_bug(TestMarshalBugs):
> ArgumentError: dump format error(0x0)
> =A0 =A0 bug.rb:16:in `load'
> =A0 =A0 bug.rb:16:in `assert_roundtrip'
> =A0 =A0 bug.rb:8:in `test_dump_symbol_bug'
>
> 2 tests, 1 assertions, 0 failures, 1 errors, 0 skips
>
> RESULT =3D 256
>
> VERSION =3D 1.9.1-p378
> CMD =A0 =A0 =3D ~/.multiruby/install/1.9.1-p378/bin/ruby bug.rb
>
> Loaded suite bug
> Started
> .E
> Finished in 0.000457 seconds.
>
> =A0 1) Error:
> test_dump_symbol_bug(TestMarshalBugs):
> ArgumentError: dump format error(0x0)
> =A0 =A0 bug.rb:16:in `load'
> =A0 =A0 bug.rb:16:in `assert_roundtrip'
> =A0 =A0 bug.rb:8:in `test_dump_symbol_bug'
>
> 2 tests, 1 assertions, 0 failures, 1 errors, 0 skips
>
> RESULT =3D 256
>
> VERSION =3D 1.9.1-p429
> CMD =A0 =A0 =3D ~/.multiruby/install/1.9.1-p429/bin/ruby bug.rb
>
> Loaded suite bug
> Started
> .E
> Finished in 0.000480 seconds.
>
> =A0 1) Error:
> test_dump_symbol_bug(TestMarshalBugs):
> ArgumentError: dump format error(0x0)
> =A0 =A0 bug.rb:16:in `load'
> =A0 =A0 bug.rb:16:in `assert_roundtrip'
> =A0 =A0 bug.rb:8:in `test_dump_symbol_bug'
>
> 2 tests, 1 assertions, 0 failures, 1 errors, 0 skips
>
> RESULT =3D 256
>
> VERSION =3D 1.9.1-p430
> CMD =A0 =A0 =3D ~/.multiruby/install/1.9.1-p430/bin/ruby bug.rb
>
> Loaded suite bug
> Started
> .E
> Finished in 0.000447 seconds.
>
> =A0 1) Error:
> test_dump_symbol_bug(TestMarshalBugs):
> ArgumentError: dump format error(0x0)
> =A0 =A0 bug.rb:16:in `load'
> =A0 =A0 bug.rb:16:in `assert_roundtrip'
> =A0 =A0 bug.rb:8:in `test_dump_symbol_bug'
>
> 2 tests, 1 assertions, 0 failures, 1 errors, 0 skips
>
> RESULT =3D 256
>
> ... skipping output from 1.9.2
>
> TOTAL RESULT =3D 5 failures out of 9
>
> Passed: 1.9.2-p0, 1.9.1-p129, 1.8.6-p399, 1.8.7-p302
> Failed: 1.9.1-p429, 1.9.1-p430, 1.9.1-p243, 1.9.1-p376, 1.9.1-p378




--=20
Yuki Sonoda (Yugui)
yugui / yugui.jp
http://yugui.jp