From: SASADA Koichi Date: 2014-08-30T08:50:42-03:00 Subject: [ruby-core:64671] Fwd: [ruby-changes:35240] normal:r47322 (trunk): symbol.c (rb_sym2id): do not return garbage object Why this fix solve your problem? dsymbol_pindown(sym) returns symbol itself (with cast to ID). -------- Original Message -------- Subject: [ruby-changes:35240] normal:r47322 (trunk): symbol.c (rb_sym2id): do not return garbage object Date: Sat, 30 Aug 2014 19:30:07 +0900 (JST) From: normal Reply-To: ruby-changes@quickml.atdot.net To: ruby-changes@quickml.atdot.net normal 2014-08-30 19:30:00 +0900 (Sat, 30 Aug 2014) New Revision: 47322 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=47322 Log: symbol.c (rb_sym2id): do not return garbage object The dynamic sym passed to rb_sym2id may be a garbage object (as accounted for by dsymbol_check). This fixes an occasional segfault in "make test-all" for me. No need to backport, this is from the new symbol GC feature. Modified files: trunk/ChangeLog trunk/symbol.c Index: symbol.c =================================================================== --- symbol.c (revision 47321) +++ symbol.c (revision 47322) @@ -759,7 +759,7 @@ rb_sym2id(VALUE sym) https://github.com/ruby/ruby/blob/trunk/symbol.c#L759 } else { if (!SYMBOL_PINNED_P(sym)) { - dsymbol_pindown(sym); + return dsymbol_pindown(sym); } return (ID)sym; } Index: ChangeLog =================================================================== --- ChangeLog (revision 47321) +++ ChangeLog (revision 47322) @@ -1,3 +1,7 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1 +Sat Aug 30 19:22:47 2014 Eric Wong + + * symbol.c (rb_sym2id): do not return garbage object + Sat Aug 30 06:39:48 2014 Aaron Patterson * ext/psych/lib/psych/visitors/yaml_tree.rb: fix NameError dumping and -- ML: ruby-changes@quickml.atdot.net Info: http://www.atdot.net/~ko1/quickml/