ruby-changes:28202
From: nagachika <ko1@a...>
Date: Fri, 12 Apr 2013 03:47:38 +0900 (JST)
Subject: [ruby-changes:28202] nagachika:r40254 (ruby_2_0_0): merge revision(s) 39905,39919,39925,39945: [Backport #8163]
nagachika 2013-04-12 03:47:16 +0900 (Fri, 12 Apr 2013) New Revision: 40254 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=40254 Log: merge revision(s) 39905,39919,39925,39945: [Backport #8163] * test/ruby/envutil.rb (assert_ruby_status): include stderr output. unlinked method entry. [Bug #8100] [ruby-core:53439] * proc.c (bm_free): need to clean up the mark flag of a free and Modified directories: branches/ruby_2_0_0/ Modified files: branches/ruby_2_0_0/ChangeLog branches/ruby_2_0_0/proc.c branches/ruby_2_0_0/test/ruby/envutil.rb branches/ruby_2_0_0/test/ruby/test_method.rb branches/ruby_2_0_0/version.h Index: ruby_2_0_0/ChangeLog =================================================================== --- ruby_2_0_0/ChangeLog (revision 40253) +++ ruby_2_0_0/ChangeLog (revision 40254) @@ -1,3 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/ChangeLog#L1 +Fri Apr 12 03:44:45 2013 Narihiro Nakamura <authornari@g...> + + * proc.c (bm_free): need to clean up the mark flag of a free and + unlinked method entry. [Bug #8100] [ruby-core:53439] + Fri Apr 12 02:27:42 2013 NARUSE, Yui <naruse@r...> * addr2line.c: use more generic type: Index: ruby_2_0_0/proc.c =================================================================== --- ruby_2_0_0/proc.c (revision 40253) +++ ruby_2_0_0/proc.c (revision 40254) @@ -905,6 +905,7 @@ bm_free(void *ptr) https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/proc.c#L905 { struct METHOD *data = ptr; struct unlinked_method_entry_list_entry *ume = data->ume; + data->me->mark = 0; ume->me = data->me; ume->next = GET_VM()->unlinked_method_entry_list; GET_VM()->unlinked_method_entry_list = ume; Index: ruby_2_0_0/version.h =================================================================== --- ruby_2_0_0/version.h (revision 40253) +++ ruby_2_0_0/version.h (revision 40254) @@ -1,6 +1,6 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/version.h#L1 #define RUBY_VERSION "2.0.0" #define RUBY_RELEASE_DATE "2013-04-12" -#define RUBY_PATCHLEVEL 115 +#define RUBY_PATCHLEVEL 116 #define RUBY_RELEASE_YEAR 2013 #define RUBY_RELEASE_MONTH 4 Index: ruby_2_0_0/test/ruby/test_method.rb =================================================================== --- ruby_2_0_0/test/ruby/test_method.rb (revision 40253) +++ ruby_2_0_0/test/ruby/test_method.rb (revision 40254) @@ -536,4 +536,17 @@ class TestMethod < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/test/ruby/test_method.rb#L536 IRB.start }, '[Bug #7825]' end + + def test_unlinked_method_entry_in_method_object_bug + bug8100 = '[ruby-core:53640] [Bug #8100]' + assert_ruby_status [], %q{ + loop do + def x + "hello" * 1000 + end + method(:x).call + end + }, bug8100, timeout: 2 + rescue Timeout::Error + end end Index: ruby_2_0_0/test/ruby/envutil.rb =================================================================== --- ruby_2_0_0/test/ruby/envutil.rb (revision 40253) +++ ruby_2_0_0/test/ruby/envutil.rb (revision 40254) @@ -244,9 +244,9 @@ module Test https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/test/ruby/envutil.rb#L244 end def assert_ruby_status(args, test_stdin="", message=nil, opt={}) - _, _, status = EnvUtil.invoke_ruby(args, test_stdin, false, false, opt) - m = message ? "#{message} (#{status.inspect})" : "ruby exit status is not success: #{status.inspect}" - assert(status.success?, m) + out, _, status = EnvUtil.invoke_ruby(args, test_stdin, true, :merge_to_stdout, opt) + message ||= "ruby exit status is not success:" + assert(status.success?, FailDesc[status, message, out]) end ABORT_SIGNALS = Signal.list.values_at(*%w"ILL ABRT BUS SEGV") Property changes on: ruby_2_0_0 ___________________________________________________________________ Modified: svn:mergeinfo Merged /trunk:r39905,39919,39925,39945 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/