Contribution wanted: test your code with 1.9.2-preview3

Hi all –

As Yugui announced in [ruby-talk:363558], we released Ruby-1.9.2-
preview3.

We are planning to release 1.9.2 in July. To improve that release,
we expect your contribution; please test your product, your gem, or
any your code with 1.9.2-preview3.
I believe this process will not only improve 1.9.2 release but also
help your code be 1.9-ready.

If your code does not run as expected, check NEWS [1], especially,
“Language changes” and “Compatibility issues” sections. And if you
cannot find any spec change that seems to require you fix your code,
please register a ticket to redmine [2] or send a mail to ruby-core
[3].

[1] http://svn.ruby-lang.org/repos/ruby/tags/v1_9_2_preview3/NEWS

[2] open http://redmine.ruby-lang.org/projects/show/ruby-19,
register yourself (if you have not done so yet), and create
“new ticket”.

[3] prepend “[Bug:trunk]” to subject.
ex) [Bug:trunk] 1.9.2-preview3 spewed fire
This mail will be automatically registered to redmine.

For your convenience, I tell you two well-known incompatibilities:

  • \d, \s and \w in Regexp does match only ASCII characters.
    Especially, \w does NOT match with accented character, umlaut,
    etc. In other words, it behaves the same as 1.8.

    coding: UTF-8

    p(/\w/ =~ “a”) #=> nil

    If you want Unicode sensitive character class, you can use
    \p{Digit} instead of \d, \p{Space} instead of \s, and \p{Word}
    or [\w\P{ASCII}] instead of \w.

  • $LOAD_PATH does NOT include “.”. This means, it will fail to
    require a path that is relative to current directory:

    $ cat my_project/foo.rb
    require “my_project/bar”
    class Foo; end

    $ cat my_project/bar.rb
    class Bar; end

    $ ruby-1.9.2-preview3 my_project/foo.rb
    my_project/foo.rb:1:in require': no such file to load -- my_project/bar (LoadError) from my_project/foo.rb:1:in

    You can use Kernel#require_relative instead of Kernel#require:

    require_relative “bar”
    class Foo; end

    or, you can add your project home path to $LOAD_PATH:

    $LOAD_PATH << File.dirname(File.dirname(FILE))
    require “my_project/bar”
    class Foo; end

I give you advance notice; we don’t promise to fix all tickets you
register. Even if it is actually a bug, we may not fix it if there
is any workaround. This is because we have no enough resource nor
time. But we will make an effort. I hope you’ll understand.

Your contribution would be deeply appreciated.

Thanks,

Hi,

Yusuke ENDOH wrote:

As Yugui announced in [ruby-talk:363558], we released Ruby-1.9.2-
preview3.

We are planning to release 1.9.2 in July. To improve that release,
we expect your contribution; please test your product, your gem, or
any your code with 1.9.2-preview3.
I believe this process will not only improve 1.9.2 release but also
help your code be 1.9-ready.

I don’t know if it is expected but the new default compilation flags
result in a much larger size for binary extension.

On MSYS/MinGW, the configure script for ruby-1.9.1-p378 generates the
default CFLAGS as : -O2 -g -Wall -Wno-parentheses

For ruby-1.9.2-preview3, the default CFLAGS is :
-O3 -g -Wall -Wno-unused-parameter -Wno-parentheses -Wpointer-arith
-Wwrite-strings -Wno-long-long

For the wxRuby binary (the .so file after a strip --strip-all), the size
has increased by more than 50%.

Otherwise, ruby-1.9.2-preview3 seems to work fine with wxRuby.
So I’ve not filed a bug report in Redmine.

On Jun 3, 11:25 am, Graham A. [email protected] wrote:

test/ruby/test_autoload.rb blocks indefinitely, and other tests

c:0001 p:0000 s:0002 b:0002 l:002648 d:002648 TOP
ruby 1.9.2dev (2010-05-31) [ia64-hpux11.23]
/bootstraptest/runner.rb:127
c:0004 p:0438 s:0013 b:0013 l:000012 d:000012 METHOD
/bootstraptest/runner.rb:375:in in_temporary_working_directory' /bootstraptest/runner.rb:138:in load’
Posted viahttp://www.ruby-forum.com/
My system: Toshiba Satelite laptop, P4 2.8Ghz, 1GB, PCLOS 2010.1,
2.26.33.4, gcc 4.4.1, installed with rvm (Ruby Version Manager)

Compared to 1.9.1-p378, also installed with rvm, 1.9.2-preview3 is
SLOWER (1-5%) on reference benchmarks.

Also, cannot do irb session command history via arrow keys, like in
all other versions installed with rvm.

On Jun 3, 6:27 pm, jzakiya [email protected] wrote:

My system: Toshiba Satelite laptop, P4 2.8Ghz, 1GB, PCLOS 2010.1,
2.26.33.4, gcc 4.4.1, installed with rvm (Ruby Version Manager)

Also, cannot do irb session command history via arrow keys, like in
all other versions installed with rvm.

See what version of Readline you have, if is 6.0, then is not going to
work (GPLv3 not compatible with Ruby license).

Yusuke ENDOH wrote:

If your code does not run as expected, check NEWS [1], especially,
“Language changes” and “Compatibility issues” sections. And if you
cannot find any spec change that seems to require you fix your code,
please register a ticket to redmine [2] or send a mail to ruby-core
[3].

I’ve been having reasonable success compiling 1.9.1 on HP-UX since
1.9.1p0 came out (with patches as per redmine #1341 and #1342). But
this new preview version of 1.9.2 seems quite broken for HP-UX. The
test/ruby/test_autoload.rb blocks indefinitely, and other tests
seg-fault:

I know that HP-UX is not officially supported, but is there an easy way
to debug this to see how I might fix it. What are my chances here?
Should I raise a redmine ticket?

This error happens after I press control-C a to stop it:

test_autoload.rb …EEbootstraptest.tmp.rb: [BUG] Bus Error
ruby 1.9.2dev (2010-05-31) [ia64-hpux11.23]

– control frame ----------
c:0001 p:0000 s:0002 b:0002 l:002648 d:002648 TOP

After pressing control-C a couple more times, this happens:

test_block.rb …bootstraptest.tmp.rb: [BUG] Segmentation fault
ruby 1.9.2dev (2010-05-31) [ia64-hpux11.23]

– control frame ----------
c:0001 p:0000 s:0002 b:0002 l:002648 d:002648 TOP

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension
libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

E…E…E
test_class.rb ./bootstraptest/runner.rb:138: [BUG] Segmentation fault
ruby 1.9.2dev (2010-05-31) [ia64-hpux11.23]

– control frame ----------
c:0016 p:---- s:0052 b:0052 l:000051 d:000051 CFUNC :load
c:0015 p:0059 s:0048 b:0048 l:000039 d:000047 BLOCK
./bootstraptest/runner.rb:138
c:0014 p:---- s:0045 b:0045 l:000044 d:000044 FINISH
c:0013 p:---- s:0043 b:0043 l:000042 d:000042 CFUNC :each
c:0012 p:0039 s:0040 b:0040 l:000039 d:000039 METHOD
./bootstraptest/runner.rb:136
c:0011 p:0012 s:0036 b:0036 l:000012 d:000035 BLOCK
./bootstraptest/runner.rb:127
c:0010 p:0005 s:0034 b:0034 l:000016 d:000033 BLOCK
./bootstraptest/runner.rb:377
c:0009 p:---- s:0032 b:0032 l:000031 d:000031 FINISH
c:0008 p:---- s:0030 b:0030 l:000029 d:000029 CFUNC :chdir
c:0007 p:0018 s:0026 b:0026 l:000016 d:000025 BLOCK
./bootstraptest/runner.rb:376
c:0006 p:0052 s:0023 b:0023 l:000022 d:000022 METHOD
/nfs/home/gagnew/ruby-1.9.2-preview3/lib/tmpdir.rb:82
c:0005 p:0066 s:0017 b:0017 l:000016 d:000016 METHOD
./bootstraptest/runner.rb:375
c:0004 p:0438 s:0013 b:0013 l:000012 d:000012 METHOD
./bootstraptest/runner.rb:126
c:0003 p:0443 s:0006 b:0006 l:002648 d:0025f8 EVAL
./bootstraptest/runner.rb:398
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:002648 d:002648 TOP

– Ruby level backtrace information

./bootstraptest/runner.rb:398:in <main>' ./bootstraptest/runner.rb:126:in main’
./bootstraptest/runner.rb:375:in in_temporary_working_directory' /nfs/home/gagnew/ruby-1.9.2-preview3/lib/tmpdir.rb:82:in mktmpdir’
./bootstraptest/runner.rb:376:in block in in_temporary_working_directory' ./bootstraptest/runner.rb:376:in chdir’
./bootstraptest/runner.rb:377:in block (2 levels) in in_temporary_working_directory' ./bootstraptest/runner.rb:127:in block in main’
./bootstraptest/runner.rb:136:in exec_test' ./bootstraptest/runner.rb:136:in each’
./bootstraptest/runner.rb:138:in block in exec_test' ./bootstraptest/runner.rb:138:in load’

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension
libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

/bin/sh: 11436 Abort(coredump)
make: *** [yes-btest-ruby] Error 134

For your convenience, I tell you two well-known incompatibilities:

  • \d, \s and \w in Regexp does match only ASCII characters.
    Especially, \w does NOT match with accented character, umlaut,
    etc. In other words, it behaves the same as 1.8.

Appears this has been the case for 1.9.1 with p378+

http://redmine.ruby-lang.org/issues/show/3181

As a suggestion, too, it might be nice to change functionality like this
only on the release level, not the patch level, as this one apparently
was.
Thanks!
-r