From: normalperson@yhbt.net
To: ruby-core@ruby-lang.org
Subject: [ruby-core:60731] [ruby-trunk - Bug #7805] ruby 2.0rc2 core on solaris
Date: Fri, 14 Feb 2014 10:11:06 +0000 [thread overview]
Message-ID: <redmine.journal-45153.20140214101106.af920a06b91d68bc@ruby-lang.org> (raw)
In-Reply-To: redmine.issue-7805.20130209040426@ruby-lang.org
Issue #7805 has been updated by Eric Wong.
The following should work without RB_GC_GUARD nor volatile.
I plan to commit unless there are objections, I see no possible
way for a compiler to mess things up:
--- a/marshal.c
+++ b/marshal.c
@@ -950,7 +950,7 @@ marshal_dump(int argc, VALUE *argv)
VALUE obj, port, a1, a2;
int limit = -1;
struct dump_arg *arg;
- volatile VALUE wrapper;
+ VALUE wrapper; /* used to avoid memory leak in case of exception */
port = Qnil;
rb_scan_args(argc, argv, "12", &obj, &a1, &a2);
@@ -964,7 +964,7 @@ marshal_dump(int argc, VALUE *argv)
else if (NIL_P(a1)) io_needed();
else port = a1;
}
- RB_GC_GUARD(wrapper) = TypedData_Make_Struct(rb_cData, struct dump_arg, &dump_arg_data, arg);
+ wrapper = TypedData_Make_Struct(rb_cData, struct dump_arg, &dump_arg_data, arg);
arg->dest = 0;
arg->symbols = st_init_numtable();
arg->data = st_init_numtable();
@@ -993,8 +993,8 @@ marshal_dump(int argc, VALUE *argv)
rb_io_write(arg->dest, arg->str);
rb_str_resize(arg->str, 0);
}
- clear_dump_arg(arg);
- RB_GC_GUARD(wrapper);
+ free_dump_arg(arg);
+ rb_gc_force_recycle(wrapper); /* also guards from premature GC */
return port;
}
@@ -1957,7 +1957,7 @@ marshal_load(int argc, VALUE *argv)
VALUE port, proc;
int major, minor, infection = 0;
VALUE v;
- volatile VALUE wrapper;
+ VALUE wrapper; /* used to avoid memory leak in case of exception */
struct load_arg *arg;
rb_scan_args(argc, argv, "11", &port, &proc);
@@ -1973,7 +1973,7 @@ marshal_load(int argc, VALUE *argv)
else {
io_needed();
}
- RB_GC_GUARD(wrapper) = TypedData_Make_Struct(rb_cData, struct load_arg, &load_arg_data, arg);
+ wrapper = TypedData_Make_Struct(rb_cData, struct load_arg, &load_arg_data, arg);
arg->infection = infection;
arg->src = port;
arg->offset = 0;
@@ -2004,8 +2004,8 @@ marshal_load(int argc, VALUE *argv)
if (!NIL_P(proc)) arg->proc = proc;
v = r_object(arg);
- clear_load_arg(arg);
- RB_GC_GUARD(wrapper);
+ free_load_arg(arg);
+ rb_gc_force_recycle(wrapper); /* also guards from premature GC */
return v;
}
---
http://bogomips.org/ruby.git/patch/?id=e9f200e99
The following changes since commit 4d33c0e965a1ccce82f7e26a0ef21fef6bef3d2b:
* vm_insnhelper.c (vm_call_method): should check ci->me->flag of a refining method in case the method is private. [ruby-core:60111] [Bug #9452] (2014-02-13 14:44:41 +0000)
are available in the git repository at:
git://80x24.org/ruby.git marshal-force_recycle
for you to fetch changes up to e9f200e99bc58894971f51b41825b8fac8e28572:
marshal.c: use rb_gc_force_recycle for GC-safety (2014-02-14 09:46:54 +0000)
----------------------------------------------------------------
Eric Wong (1):
marshal.c: use rb_gc_force_recycle for GC-safety
marshal.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
----------------------------------------
Bug #7805: ruby 2.0rc2 core on solaris
https://bugs.ruby-lang.org/issues/7805#change-45153
* Author: John Groenveld
* Status: Closed
* Priority: Normal
* Assignee: Naohisa Goto
* 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/
next prev parent reply other threads:[~2014-02-14 10:20 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 ` normalperson [this message]
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 ` [ruby-core:60818] " normalperson
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-45153.20140214101106.af920a06b91d68bc@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).