ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
From: normalperson@yhbt.net
To: ruby-core@ruby-lang.org
Subject: [ruby-core:60818] [ruby-trunk - Bug #7805] ruby 2.0rc2 core on solaris
Date: Tue, 18 Feb 2014 08:12:28 +0000	[thread overview]
Message-ID: <redmine.journal-45235.20140218081227.74287d48fd144251@ruby-lang.org> (raw)
In-Reply-To: redmine.issue-7805.20130209040426@ruby-lang.org

Issue #7805 has been updated by Eric Wong.


 Can you please try the following patch?
 
 This is hopefully robust enough for all future compilers:
 http://bogomips.org/ruby.git/patch?id=1b5d3c0b9d
 
 --- a/gc.c
 +++ b/gc.c
 @@ -88,10 +88,14 @@
  #define rb_setjmp(env) RUBY_SETJMP(env)
  #define rb_jmp_buf rb_jmpbuf_t
  
 -#if defined(HAVE_RB_GC_GUARDED_PTR) && HAVE_RB_GC_GUARDED_PTR
 +#if defined(HAVE_RB_GC_GUARDED_PTR_VAL) && HAVE_RB_GC_GUARDED_PTR_VAL
 +/* trick the compiler into thinking a external signal handler uses this */
 +volatile VALUE rb_gc_guarded_val;
  volatile VALUE *
 -rb_gc_guarded_ptr(volatile VALUE *ptr)
 +rb_gc_guarded_ptr_val(volatile VALUE *ptr, VALUE val)
  {
 +    rb_gc_guarded_val = val;
 +
      return ptr;
  }
  #endif
 diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h
 index 55ea252..abd4b4b 100644
 --- a/include/ruby/ruby.h
 +++ b/include/ruby/ruby.h
 @@ -515,12 +515,16 @@ static inline int rb_type(VALUE obj);
  static inline volatile VALUE *rb_gc_guarded_ptr(volatile VALUE *ptr) {return ptr;}
  #pragma optimize("", on)
  #else
 -volatile VALUE *rb_gc_guarded_ptr(volatile VALUE *ptr);
 -#define HAVE_RB_GC_GUARDED_PTR 1
 +volatile VALUE *rb_gc_guarded_ptr_val(volatile VALUE *ptr, VALUE val);
 +#define HAVE_RB_GC_GUARDED_PTR_VAL 1
 +#define RB_GC_GUARD(v) (*rb_gc_guarded_ptr_val(&(v),(v)))
  #endif
  #define RB_GC_GUARD_PTR(ptr) rb_gc_guarded_ptr(ptr)
  #endif
 +
 +#ifndef RB_GC_GUARD
  #define RB_GC_GUARD(v) (*RB_GC_GUARD_PTR(&(v)))
 +#endif
  
  #ifdef __GNUC__
  #define RB_UNUSED_VAR(x) x __attribute__ ((unused))
 ------------------------------8<---------------------------
 If you prefer git pull:
 	git pull git://80x24.org/ruby.git gc-guard-harder-v2
 
 Maybe my original idea works, too, but it is weaker, I think:
 	git pull git://80x24.org/ruby.git gc-guard-harder
 	http://bogomips.org/ruby.git/patch?id=ecc6f50ca

----------------------------------------
Bug #7805: ruby 2.0rc2 core on solaris
https://bugs.ruby-lang.org/issues/7805#change-45235

* Author: John Groenveld
* Status: Open
* Priority: Normal
* Assignee: Nobuyoshi Nakada
* Category: 
* Target version: next minor
* ruby -v: ruby 2.0.0dev (2013-02-08 trunk 39161) [i386-solaris2.10]
* Backport: 
----------------------------------------
$ env PATH=/usr/bin:/usr/sbin:/usr/ccs/bin:/opt/solarisstudio12.3/bin:/tmp/bin \
CC=cc CFLAGS="-m64 -O3" CXX=CC CXXFLAGS=-m64 CPPFLAGS="-I/opt/apache2/yaml/include -I/usr/sfw/include" \
LDFLAGS="-m64 -L/usr/sfw/lib/64 -R/usr/sfw/lib/64 -L/opt/apache2/yaml/lib -R/opt/apache2/yaml/lib" \
MAKE=gmake ./configure --prefix=/opt/apache2/ruby-1.9.3 --enable-shared --without-gcc


Generating RI format into /tmp/ruby-2.0.0-rc2/.ext/rdoc...
/tmp/ruby-2.0.0-rc2/lib/rdoc/store.rb:888: [BUG] Segmentation fault
ruby 2.0.0dev (2013-02-08 trunk 39161) [i386-solaris2.10]

-- Control frame information -----------------------------------------------
c:0016 p:---- s:0057 e:000056 CFUNC  :dump
c:0015 p:0126 s:0053 e:000052 METHOD /tmp/ruby-2.0.0-rc2/lib/rdoc/store.rb:888
c:0014 p:0011 s:0045 e:000044 BLOCK  /tmp/ruby-2.0.0-rc2/lib/rdoc/store.rb:750
c:0013 p:0008 s:0042 e:000041 BLOCK  /tmp/ruby-2.0.0-rc2/lib/rdoc/context.rb:710 [FINISH]
c:0012 p:---- s:0039 e:000038 CFUNC  :each
c:0011 p:0029 s:0036 e:000035 METHOD /tmp/ruby-2.0.0-rc2/lib/rdoc/context.rb:710
c:0010 p:0016 s:0033 e:000032 BLOCK  /tmp/ruby-2.0.0-rc2/lib/rdoc/store.rb:749 [FINISH]
c:0009 p:---- s:0030 e:000029 CFUNC  :each
c:0008 p:0015 s:0027 e:000026 METHOD /tmp/ruby-2.0.0-rc2/lib/rdoc/store.rb:746
c:0007 p:0009 s:0024 e:000023 METHOD /tmp/ruby-2.0.0-rc2/lib/rdoc/generator/ri.rb:26
c:0006 p:0057 s:0021 e:000020 BLOCK  /tmp/ruby-2.0.0-rc2/lib/rdoc/rdoc.rb:526 [FINISH]
c:0005 p:---- s:0019 e:000018 CFUNC  :chdir
c:0004 p:0018 s:0015 e:000014 METHOD /tmp/ruby-2.0.0-rc2/lib/rdoc/rdoc.rb:521
c:0003 p:0354 s:0012 e:000011 METHOD /tmp/ruby-2.0.0-rc2/lib/rdoc/rdoc.rb:504
c:0002 p:0049 s:0006 E:0002f8 EVAL   ./bin/rdoc:20 [FINISH]
c:0001 p:0000 s:0002 E:0007a8 TOP    [FINISH]

-- Ruby level backtrace information ----------------------------------------
./bin/rdoc:20:in `<main>'
/tmp/ruby-2.0.0-rc2/lib/rdoc/rdoc.rb:504:in `document'
/tmp/ruby-2.0.0-rc2/lib/rdoc/rdoc.rb:521:in `generate'
/tmp/ruby-2.0.0-rc2/lib/rdoc/rdoc.rb:521:in `chdir'
/tmp/ruby-2.0.0-rc2/lib/rdoc/rdoc.rb:526:in `block in generate'
/tmp/ruby-2.0.0-rc2/lib/rdoc/generator/ri.rb:26:in `generate'
/tmp/ruby-2.0.0-rc2/lib/rdoc/store.rb:746:in `save'
/tmp/ruby-2.0.0-rc2/lib/rdoc/store.rb:746:in `each'
/tmp/ruby-2.0.0-rc2/lib/rdoc/store.rb:749:in `block in save'
/tmp/ruby-2.0.0-rc2/lib/rdoc/context.rb:710:in `each_method'
/tmp/ruby-2.0.0-rc2/lib/rdoc/context.rb:710:in `each'
/tmp/ruby-2.0.0-rc2/lib/rdoc/context.rb:710:in `block in each_method'
/tmp/ruby-2.0.0-rc2/lib/rdoc/store.rb:750:in `block (2 levels) in save'
/tmp/ruby-2.0.0-rc2/lib/rdoc/store.rb:888:in `save_method'
/tmp/ruby-2.0.0-rc2/lib/rdoc/store.rb:888:in `dump'

-- Other runtime information -----------------------------------------------

* Loaded script: ./bin/rdoc

* Loaded features:

    0 enumerator.so
    1 /tmp/ruby-2.0.0-rc2/.ext/i386-solaris2.10/enc/encdb.so
    2 /tmp/ruby-2.0.0-rc2/.ext/i386-solaris2.10/enc/trans/transdb.so
    3 /tmp/ruby-2.0.0-rc2/lib/rdoc.rb
    4 /tmp/ruby-2.0.0-rc2/lib/find.rb
    5 /tmp/ruby-2.0.0-rc2/.ext/i386-solaris2.10/etc.so
    6 /tmp/ruby-2.0.0-rc2/lib/fileutils.rb
    7 /tmp/ruby-2.0.0-rc2/.ext/i386-solaris2.10/pathname.so
    8 /tmp/ruby-2.0.0-rc2/.ext/common/pathname.rb
    9 /tmp/ruby-2.0.0-rc2/.ext/i386-solaris2.10/date_core.so
   10 /tmp/ruby-2.0.0-rc2/.ext/common/date/format.rb
   11 /tmp/ruby-2.0.0-rc2/.ext/common/date.rb
   12 /tmp/ruby-2.0.0-rc2/lib/time.rb
   13 /tmp/ruby-2.0.0-rc2/rbconfig.rb
   14 /tmp/ruby-2.0.0-rc2/lib/rubygems/compatibility.rb
   15 /tmp/ruby-2.0.0-rc2/lib/rubygems/defaults.rb
   16 /tmp/ruby-2.0.0-rc2/lib/rubygems/deprecate.rb
   17 /tmp/ruby-2.0.0-rc2/lib/rubygems/errors.rb
   18 /tmp/ruby-2.0.0-rc2/lib/rubygems/version.rb
   19 /tmp/ruby-2.0.0-rc2/lib/rubygems/requirement.rb
   20 /tmp/ruby-2.0.0-rc2/lib/rubygems/platform.rb
   21 /tmp/ruby-2.0.0-rc2/lib/rubygems/specification.rb
   22 /tmp/ruby-2.0.0-rc2/lib/rubygems/exceptions.rb
   23 /tmp/ruby-2.0.0-rc2/lib/rubygems/core_ext/kernel_gem.rb
   24 /tmp/ruby-2.0.0-rc2/lib/rubygems/core_ext/kernel_require.rb
   25 /tmp/ruby-2.0.0-rc2/lib/rubygems.rb
   26 /tmp/ruby-2.0.0-rc2/lib/rubygems/path_support.rb
   27 /tmp/ruby-2.0.0-rc2/lib/cgi/util.rb
   28 /tmp/ruby-2.0.0-rc2/.ext/i386-solaris2.10/strscan.so
   29 /tmp/ruby-2.0.0-rc2/lib/erb.rb
   30 /tmp/ruby-2.0.0-rc2/lib/rdoc/generator.rb
   31 /tmp/ruby-2.0.0-rc2/lib/rubygems/dependency.rb
   32 /tmp/ruby-2.0.0-rc2/.ext/common/json/version.rb
   33 /tmp/ruby-2.0.0-rc2/lib/ostruct.rb
   34 /tmp/ruby-2.0.0-rc2/.ext/common/json/generic_object.rb
   35 /tmp/ruby-2.0.0-rc2/.ext/common/json/common.rb
   36 /tmp/ruby-2.0.0-rc2/.ext/i386-solaris2.10/enc/utf_16be.so
   37 /tmp/ruby-2.0.0-rc2/.ext/i386-solaris2.10/enc/utf_16le.so
   38 /tmp/ruby-2.0.0-rc2/.ext/i386-solaris2.10/enc/utf_32be.so
   39 /tmp/ruby-2.0.0-rc2/.ext/i386-solaris2.10/enc/utf_32le.so
   40 /tmp/ruby-2.0.0-rc2/.ext/i386-solaris2.10/json/ext/parser.so
   41 /tmp/ruby-2.0.0-rc2/.ext/i386-solaris2.10/json/ext/generator.so
   42 /tmp/ruby-2.0.0-rc2/.ext/common/json/ext.rb
   43 /tmp/ruby-2.0.0-rc2/.ext/common/json.rb
   44 /tmp/ruby-2.0.0-rc2/lib/rdoc/markup.rb
   45 /tmp/ruby-2.0.0-rc2/lib/rdoc/markup/formatter.rb
   46 /tmp/ruby-2.0.0-rc2/lib/rdoc/markup/to_joined_paragraph.rb
   47 /tmp/ruby-2.0.0-rc2/lib/rdoc/markdown/entities.rb
   48 /tmp/ruby-2.0.0-rc2/lib/rdoc/markdown/literals_1_9.rb
   49 /tmp/ruby-2.0.0-rc2/lib/rdoc/markdown.rb
   50 /tmp/ruby-2.0.0-rc2/lib/rdoc/rd.rb
   51 /tmp/ruby-2.0.0-rc2/lib/rdoc/markup/parser.rb
   52 /tmp/ruby-2.0.0-rc2/lib/rdoc/markup/pre_process.rb
   53 /tmp/ruby-2.0.0-rc2/lib/rdoc/tom_doc.rb
   54 /tmp/ruby-2.0.0-rc2/lib/rdoc/text.rb
   55 /tmp/ruby-2.0.0-rc2/lib/rdoc/code_object.rb
   56 /tmp/ruby-2.0.0-rc2/lib/rdoc/method_attr.rb
   57 /tmp/ruby-2.0.0-rc2/lib/cgi/core.rb
   58 /tmp/ruby-2.0.0-rc2/lib/cgi/cookie.rb
   59 /tmp/ruby-2.0.0-rc2/lib/cgi.rb
   60 /tmp/ruby-2.0.0-rc2/lib/rdoc/context.rb
   61 /tmp/ruby-2.0.0-rc2/lib/rdoc/class_module.rb
   62 /tmp/ruby-2.0.0-rc2/lib/rdoc/context/section.rb
   63 /tmp/ruby-2.0.0-rc2/lib/rdoc/top_level.rb
   64 /tmp/ruby-2.0.0-rc2/lib/rdoc/generator/markup.rb
   65 /tmp/ruby-2.0.0-rc2/lib/rdoc/generator/darkfish.rb
   66 /tmp/ruby-2.0.0-rc2/lib/rdoc/generator/ri.rb
   67 /tmp/ruby-2.0.0-rc2/lib/rdoc/rdoc.rb
   68 /tmp/ruby-2.0.0-rc2/lib/rdoc/store.rb
   69 /tmp/ruby-2.0.0-rc2/lib/optparse.rb
   70 /tmp/ruby-2.0.0-rc2/lib/rdoc/options.rb
   71 /tmp/ruby-2.0.0-rc2/lib/rdoc/parser/text.rb
   72 /tmp/ruby-2.0.0-rc2/lib/rdoc/parser/simple.rb
   73 /tmp/ruby-2.0.0-rc2/lib/tsort.rb
   74 /tmp/ruby-2.0.0-rc2/lib/rdoc/parser/c.rb
   75 /tmp/ruby-2.0.0-rc2/lib/rdoc/parser/changelog.rb
   76 /tmp/ruby-2.0.0-rc2/lib/rdoc/parser/markdown.rb
   77 /tmp/ruby-2.0.0-rc2/lib/rdoc/parser/rd.rb
   78 /tmp/ruby-2.0.0-rc2/lib/rdoc/ruby_token.rb
   79 /tmp/ruby-2.0.0-rc2/lib/rdoc/token_stream.rb
   80 /tmp/ruby-2.0.0-rc2/lib/rdoc/parser/ruby_tools.rb
   81 /tmp/ruby-2.0.0-rc2/lib/rdoc/parser/ruby.rb
   82 /tmp/ruby-2.0.0-rc2/lib/rdoc/parser.rb
   83 /tmp/ruby-2.0.0-rc2/lib/rdoc/ri.rb
   84 /tmp/ruby-2.0.0-rc2/lib/rdoc/ri/paths.rb
   85 /tmp/ruby-2.0.0-rc2/lib/rdoc/stats.rb
   86 /tmp/ruby-2.0.0-rc2/lib/rdoc/stats/quiet.rb
   87 /tmp/ruby-2.0.0-rc2/lib/rdoc/stats/normal.rb
   88 /tmp/ruby-2.0.0-rc2/lib/rdoc/encoding.rb
   89 /tmp/ruby-2.0.0-rc2/lib/rdoc/comment.rb
   90 /tmp/ruby-2.0.0-rc2/lib/rdoc/markup/document.rb
   91 /tmp/ruby-2.0.0-rc2/lib/rdoc/markup/heading.rb
   92 /tmp/ruby-2.0.0-rc2/lib/rdoc/markup/blank_line.rb
   93 /tmp/ruby-2.0.0-rc2/lib/rdoc/markup/list.rb
   94 /tmp/ruby-2.0.0-rc2/lib/rdoc/markup/raw.rb
   95 /tmp/ruby-2.0.0-rc2/lib/rdoc/markup/paragraph.rb
   96 /tmp/ruby-2.0.0-rc2/lib/rdoc/markup/list_item.rb
   97 /tmp/ruby-2.0.0-rc2/lib/rdoc/known_classes.rb
   98 /tmp/ruby-2.0.0-rc2/lib/rdoc/normal_class.rb
   99 /tmp/ruby-2.0.0-rc2/lib/rdoc/any_method.rb
  100 /tmp/ruby-2.0.0-rc2/lib/rdoc/include.rb
  101 /tmp/ruby-2.0.0-rc2/lib/rdoc/alias.rb
  102 /tmp/ruby-2.0.0-rc2/lib/rdoc/normal_module.rb
  103 /tmp/ruby-2.0.0-rc2/lib/rdoc/constant.rb
  104 /tmp/ruby-2.0.0-rc2/lib/rdoc/attr.rb
  105 /tmp/ruby-2.0.0-rc2/lib/e2mmap.rb
  106 /tmp/ruby-2.0.0-rc2/lib/irb/output-method.rb
  107 /tmp/ruby-2.0.0-rc2/lib/irb/notifier.rb
  108 /tmp/ruby-2.0.0-rc2/lib/irb/slex.rb
  109 /tmp/ruby-2.0.0-rc2/.ext/i386-solaris2.10/stringio.so
  110 /tmp/ruby-2.0.0-rc2/lib/rdoc/ruby_lex.rb
  111 /tmp/ruby-2.0.0-rc2/lib/rdoc/require.rb
  112 /tmp/ruby-2.0.0-rc2/lib/rdoc/extend.rb
  113 /tmp/ruby-2.0.0-rc2/lib/rdoc/ghost_method.rb
  114 /tmp/ruby-2.0.0-rc2/lib/rdoc/meta_method.rb
  115 /tmp/ruby-2.0.0-rc2/lib/rdoc/markup/verbatim.rb

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.



$ pstack .ext/rdoc/core
core '.ext/rdoc/core' of 4987:  ./ruby --disable-gems ./bin/rdoc --root . --page-dir ./doc --encoding=
-----------------  lwp# 1 / thread# 1  --------------------
 fffffd7ffef1351a _lwp_kill () + a
 fffffd7ffeeb81b9 raise () + 19
 fffffd7ffee96b80 abort () + 90
 fffffd7fff0a6d90 rb_bug () + c0
 fffffd7fff1643ee sigsegv () + 4e
 fffffd7ffef0dd16 __sighndlr () + 6
 fffffd7ffef025e2 call_user_handler () + 252
 fffffd7ffef0280e sigacthandler (b, 5cfeb0, 5cfb50) + ee
 --- called from signal handler with signal 11 (SIGSEGV) ---
 fffffd7fff16dc66 st_lookup () + 16
 fffffd7fff0dcada w_class () + 2a
 fffffd7fff0ddd15 w_object () + ce5
 fffffd7fff0ddfe9 marshal_dump () + 199
 fffffd7fff1c8bad vm_call_cfunc_with_frame () + 34d
 fffffd7fff1cdd88 vm_exec_core () + 2cc8
 fffffd7fff1da39f vm_exec () + b0f
 fffffd7fff1d8a80 invoke_block_from_c () + 4b0
 fffffd7fff1d4f33 rb_yield () + 73
 fffffd7fff073947 rb_ary_each () + 77
 fffffd7fff1c8bad vm_call_cfunc_with_frame () + 34d
 fffffd7fff1cde16 vm_exec_core () + 2d56
 fffffd7fff1da39f vm_exec () + b0f
 fffffd7fff1d8a80 invoke_block_from_c () + 4b0
 fffffd7fff1d4f33 rb_yield () + 73
 fffffd7fff073947 rb_ary_each () + 77
 fffffd7fff1c8bad vm_call_cfunc_with_frame () + 34d
 fffffd7fff1c9eb4 vm_call_method () + 3c4
 fffffd7fff1cde16 vm_exec_core () + 2d56
 fffffd7fff1da39f vm_exec () + b0f
 fffffd7fff1d8a80 invoke_block_from_c () + 4b0
 fffffd7fff1d4f33 rb_yield () + 73
 fffffd7fff0acd09 rb_ensure () + 89
 fffffd7fff099dd8 dir_s_chdir () + 118
 fffffd7fff1c8bad vm_call_cfunc_with_frame () + 34d
 fffffd7fff1c9eb4 vm_call_method () + 3c4
 fffffd7fff1cde16 vm_exec_core () + 2d56
 fffffd7fff1da39f vm_exec () + b0f
 fffffd7fff0abaf5 ruby_exec_internal () + 95
 fffffd7fff0abc0e ruby_exec_node () + 1e
 fffffd7fff0abbd4 ruby_run_node () + 24
 0000000000400dcc main () + 4c
 0000000000400c1b ???????? ()
-----------------  lwp# 2 / thread# 2  --------------------
 fffffd7ffef1305a __pollsys () + a
 fffffd7ffeeb98b4 pselect () + 154
 fffffd7ffeeb9b82 select () + 72
 fffffd7fff1e23ac thread_timer () + ac
 fffffd7ffef0d9db _thr_setup () + 5b
 fffffd7ffef0dc10 _lwp_start ()


---Files--------------------------------
marshal-c-volatile.patch (591 Bytes)


-- 
http://bugs.ruby-lang.org/

  parent reply	other threads:[~2014-02-18  8:21 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-08 19:04 [ruby-core:52042] [ruby-trunk - Bug #7805][Open] ruby 2.0rc2 core on solaris groenveld@acm.org (John Groenveld)
2013-02-09  2:51 ` [ruby-core:52056] [ruby-trunk - Bug #7805][Assigned] " mame (Yusuke Endoh)
2013-02-10 13:34 ` [ruby-core:52110] [ruby-trunk - Bug #7805] " ngoto (Naohisa Goto)
2013-02-10 13:35 ` [ruby-core:52111] [ruby-trunk - Bug #7805][Feedback] " ngoto (Naohisa Goto)
2013-02-18 16:12 ` [ruby-core:52483] [ruby-trunk - Bug #7805] " mame (Yusuke Endoh)
2013-02-22  8:03 ` [ruby-core:52687] " ngoto (Naohisa Goto)
2013-02-22  8:12 ` [ruby-core:52688] " nobu (Nobuyoshi Nakada)
2013-02-22  8:27 ` [ruby-core:52689] " ngoto (Naohisa Goto)
2013-02-26 17:40 ` [ruby-core:52946] " groenveld@acm.org (John Groenveld)
2013-02-27  3:43 ` [ruby-core:52979] " kosaki (Motohiro KOSAKI)
2013-03-09  5:03 ` [ruby-core:53253] " groenveld@acm.org (John Groenveld)
2014-02-14 10:07 ` [ruby-core:60730] Re: [ruby-trunk - Bug #7805][Open] " Eric Wong
2014-02-14 10:11 ` [ruby-core:60731] [ruby-trunk - Bug #7805] " normalperson
2014-02-18  7:12 ` [ruby-core:60811] [ruby-trunk - Bug #7805] [Open] " ngotogenome
2014-02-18  7:13 ` [ruby-core:60812] [ruby-trunk - Bug #7805] " ngotogenome
2014-02-18  7:19 ` [ruby-core:60813] " ngotogenome
2014-02-18  7:21   ` [ruby-core:60814] " Eric Wong
2014-02-18  7:22 ` [ruby-core:60815] " normalperson
2014-02-18  8:01   ` [ruby-core:60816] " Eric Wong
2014-02-18  8:12 ` normalperson [this message]
2014-02-20 23:10 ` [ruby-core:60914] " nobu
2014-02-20 23:47   ` [ruby-core:60915] " Eric Wong
2014-02-20 23:53 ` [ruby-core:60916] " normalperson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.ruby-lang.org/en/community/mailing-lists/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=redmine.journal-45235.20140218081227.74287d48fd144251@ruby-lang.org \
    --to=ruby-core@ruby-lang.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).