[Bug #3742] failed to allocate memory: /^()(?>\g<1>)*$/ on x64-mswin64

Bug #3742: failed to allocate memory: /^()(?>\g<1>)*$/ on x64-mswin64
http://redmine.ruby-lang.org/issues/show/3742

e$B5/I<<Te(B: shintaro kuwamoto
e$B%9%F!<%?%9e(B: Open, e$BM%@hEYe(B: Normal
e$B%+%F%4%je(B: core, Target version: 1.9.3
ruby -v: ruby 1.9.3dev (2010-08-25 trunk 29091) [x64-mswin64_90]

http://redmine.ruby-lang.org/issues/show/3459 e$B$NB3$-$G$9!#e(B
SEGVe$B$9$k$N$Oe(Br29074e$B$G=$@5$7$F$$$?$@$$$?$N$G!“$=$b$=$b$N860x$G$”$k%a%b%j3NJ]<:GT$N%A%1%C%H$r:n$C$F$*$-$^$9!#e(B

Z:\trunk\build>nmake test-all TESTS=ruby/test_regexp.rb

Microsoft(R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.

    .\ruby.exe -I../lib -I".ext/x64-mswin64_90" "../tool/runruby.rb" 

–extou
t=“.ext” – “…/test/runner.rb” ruby/test_regexp.rb
Loaded suite …/test/runner
Started
…F…E…
Finished in 3.292000 seconds.

  1. Failure:
    test_dup_warn(TestRegexp) [Z:/trunk/test/ruby/test_regexp.rb:828]:
    <[]> expected but was
    <[“internal:gem_prelude:50: warning: assigned but unused variable -
    paths”,
    internal:gem_prelude:182: warning: assigned but unused variable -
    path”,
    internal:gem_prelude:177: warning: assigned but unused variable -
    installed_
    path”,
    internal:gem_prelude:122: warning: assigned but unused variable -
    verbose”,
    internal:gem_prelude:122: warning: assigned but unused variable -
    debug”,
    internal:gem_prelude:232: warning: assigned but unused variable -
    e”,
    internal:lib/rubygems/defaults:54: warning: assigned but unused
    variable - e
    xec_format”,
    internal:lib/rubygems/custom_require:30: warning: assigned but
    unused variab
    le - load_error”]>.

  2. Error:
    test_exec(TestRegexp):
    RegexpError: failed to allocate memory: /^()(?>\g<1>)*$/
    Z:/trunk/test/ruby/test_regexp.rb:500:in block in check' Z:/trunk/test/ruby/test_regexp.rb:498:in each’
    Z:/trunk/test/ruby/test_regexp.rb:498:in check' Z:/trunk/test/ruby/test_regexp.rb:569:in test_exec’
    …/test/runner.rb:26:in `’

68 tests, 1005 assertions, 1 failures, 1 errors, 0 skips

Test run options: --seed 9589
NMAKE : fatal error U1077: ‘.\ruby.exe’ : e$B%j%?!<%se(B e$B%3!<%Ie(B
‘0x2’
Stop.

e$B%A%1%C%He(B #3742 e$B$,99?7$5$l$^$7$?!#e(B (by shintaro kuwamoto)

e$B<!$N%Q%C%A$G%F%9%HDL$k$h$&$K$J$j$^$7$?!#e(B

Index: …/regint.h

— …/regint.h (e$B%j%S%8%g%se(B 29091)
+++ …/regint.h (e$B:n6H%3%T!<e(B)
@@ -720,7 +720,7 @@
BBuf* mbuf; /* multi-byte info or NULL */
} CClassNode;

-typedef long OnigStackIndex;
+typedef SIGNED_VALUE OnigStackIndex;

typedef struct _OnigStackType {
unsigned int type;

Z:\trunk\build>nmake test-all TESTS=ruby/test_regexp.rb

Microsoft(R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.

    .\ruby.exe -I../lib -I".ext/x64-mswin64_90" "../tool/runruby.rb" 

–extou
t=“.ext” – “…/test/runner.rb” ruby/test_regexp.rb
Loaded suite …/test/runner
Started
…F…
Finished in 0.275000 seconds.

  1. Failure:
    test_dup_warn(TestRegexp) [Z:/trunk/test/ruby/test_regexp.rb:828]:
    <[]> expected but was
    <[“internal:gem_prelude:50: warning: assigned but unused variable -
    paths”,
    internal:gem_prelude:182: warning: assigned but unused variable -
    path”,
    internal:gem_prelude:177: warning: assigned but unused variable -
    installed_
    path”,
    internal:gem_prelude:122: warning: assigned but unused variable -
    verbose”,
    internal:gem_prelude:122: warning: assigned but unused variable -
    debug”,
    internal:gem_prelude:232: warning: assigned but unused variable -
    e”,
    internal:lib/rubygems/defaults:54: warning: assigned but unused
    variable - e
    xec_format”,
    internal:lib/rubygems/custom_require:30: warning: assigned but
    unused variab
    le - load_error”]>.

68 tests, 1072 assertions, 1 failures, 0 errors, 0 skips

Test run options: --seed 23864
NMAKE : fatal error U1077: ‘.\ruby.exe’ : e$B%j%?!<%se(B e$B%3!<%Ie(B
‘0x1’
Stop.

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

e$B%A%1%C%He(B #3742 e$B$,99?7$5$l$^$7$?!#e(B (by Yui NARUSE)

e$B%9%F!<%?%9e(B Assignede$B$+$ie(BClosede$B$KJQ99e(B
e$B?JD=e(B % 0e$B$+$ie(B100e$B$KJQ99e(B

This issue was solved with changeset r29102.
shintaro, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


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

e$B%A%1%C%He(B #3742 e$B$,99?7$5$l$^$7$?!#e(B (by Yui NARUSE)

e$BDI@W$"$j$,$H$&$4$6$$$^$9!#e(B
regint.he$B$O%*%j%8%J%k$N54<VM3Mh$NItJ,$@$C$?$N$G!"e(Bintptr_t
e$B$G%3%_%C%H$7$^$7$?!#e(B

e$B$G!“$3$N%P%0$O%*%j%8%J%k$N54<V$K$b1F6A$9$k$N$G!”$&$A$NF|5-e(B
http://d.hatena.ne.jp/nurse/e$B$"$?$j$Ke(B
e$BB>$Ne(B 5.9.2
e$B$KBP$9$k=$@5$H$H$b$K$^$H$a$h$&$H;W$C$F$$$k$N$G$9$,!"e(B
e$B$3$N%Q%C%A$N%i%$%;%s%9$Oe(B Ruby’s or
e$B54<V$N%i%$%;%s%9$H$7$F$h$$$G$7$g$&$+!#e(B

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

e$B%A%1%C%He(B #3742 e$B$,99?7$5$l$^$7$?!#e(B (by Yui NARUSE)

e$B$3$N%Q%C%A$N%i%$%;%s%9$Oe(B Ruby’s or e$B54<V$N%i%$%;%s%9$H$7$F$h$$$G$7$g$&$+!#e(B

e$B$O$$!"e(BRuby’s or e$B54<V$N%i%$%;%s%9$G$*4j$$$7$^$9!#e(B

e$B$"$j$,$H$&$4$6$$$^$9!#e(B

e$B$=$N$&$Ae(Br29074e$B4^$a$Fe(B1.9.2e$B$K$b%P%C%/%]!<%H$7$F$$$?$@$1$k$H=u$+$j$^$9!#e(B

e$B$A$g$&$I%?%$%_%s%0$h$/F1$8LdBj$rAJ$($F$-$??M$,$$$?$N$G!"e(BBackport
#3743 e$B$H$$$&%A%1%C%H$K$7$F$$$^$9!#e(B
yugui e$B$5$s$h$m$7$%e(B

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

e$B%A%1%C%He(B #3742 e$B$,99?7$5$l$^$7$?!#e(B (by shintaro kuwamoto)

e$B$3$N%Q%C%A$N%i%$%;%s%9$Oe(B Ruby’s or e$B54<V$N%i%$%;%s%9$H$7$F$h$$$G$7$g$&$+!#e(B

e$B$O$$!"e(BRuby’s or e$B54<V$N%i%$%;%s%9$G$*4j$$$7$^$9!#e(B
e$B$=$N$&$Ae(Br29074e$B4^$a$Fe(B1.9.2e$B$K$b%P%C%/%]!<%H$7$F$$$?$@$1$k$H=u$+$j$^$9!#e(B

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