Project

General

Profile

Actions

Bug #19464

closed

YJIT miscompiles `BasicObject#__send__` to alias methods of `send`

Added by alanwu (Alan Wu) about 1 year ago. Updated about 1 year ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:112583]

Description

Symptoms first experienced and reported by users of the kt-paperclip gem.
Reproducer:

klass = Class.new do
  class << self
    alias_method :my_send, :send

    def bar = :ok

    def foo = bar
  end
end

with_break = -> { break klass.send(:my_send, :foo) }
wo_break = -> { klass.send(:my_send, :foo) }

31.times { with_break[]; wo_break[] }

Fix: https://github.com/ruby/ruby/pull/7377

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0