Project

General

Profile

Actions

Bug #11409

closed

{instance,module}_eval(&:foo) segfaults since r51243.

Added by 0x0dea (D.E. Akers) over 9 years ago. Updated over 9 years ago.

Status:
Closed
Target version:
-
ruby -v:
ruby 2.3.0dev (2015-08-02 trunk 51469) [x86_64-linux]
Backport:
[ruby-core:70211]

Description

The segfault only occurs when the argument is a #to_proc'd Symbol, and the receiver needn't actually respond to the named method.

This bug was introduced in a rather large patch, and should almost certainly be fixed in one of the files modified therein. That said, I've discovered that removing the call to rb_block_clear_env_self() in sym_to_proc() prevents the segfault, as does setting env->env[0] to Qfalse rather than Qnil in rb_block_clear_env_self(). Neither of those is a proper fix, of course, but I hope this information may be of use to somebody more intimately familiar with Ruby's internals.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0