[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]