From: "naruse (Yui NARUSE) via ruby-core" <ruby-core@...> Date: 2023-03-17T01:54:52+00:00 Subject: [ruby-core:112921] [Ruby master Bug#19464] YJIT miscompiles `BasicObject#__send__` to alias methods of `send` Issue #19464 has been updated by naruse (Yui NARUSE). Backport changed from 2.7: DONTNEED, 3.0: DONTNEED, 3.1: DONTNEED, 3.2: REQUIRED to 2.7: DONTNEED, 3.0: DONTNEED, 3.1: DONTNEED, 3.2: DONE ruby_3_2 b73a07359758a9034996752e981e09ddaffe8d87 merged revision(s) 0eb634ae73cb327ede833b72492f912792a4a9d5. ---------------------------------------- Bug #19464: YJIT miscompiles `BasicObject#__send__` to alias methods of `send` https://bugs.ruby-lang.org/issues/19464#change-102441 * Author: alanwu (Alan Wu) * Status: Closed * Priority: Normal * Backport: 2.7: DONTNEED, 3.0: DONTNEED, 3.1: DONTNEED, 3.2: DONE ---------------------------------------- Symptoms first experienced and [reported] by users of the `kt-paperclip` gem. Reproducer: ```ruby 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 [reported]: https://github.com/Shopify/yjit/issues/306 -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/