Project

General

Profile

Actions

Bug #19586

closed

Rails CI fails since 89bdf6e94cb36567478c509722fe98069402fb8e and RUBY_YJIT_ENABLE=1

Added by yahonda (Yasuo Honda) over 1 year ago. Updated over 1 year ago.

Status:
Closed
Assignee:
Target version:
-
ruby -v:
ruby 3.3.0dev (2023-04-06T15:34:58Z master 89bdf6e94c) [x86_64-linux]
[ruby-core:113162]

Description

Rails CI against Ruby master with yjit-enabled fails https://buildkite.com/rails/rails/builds/95521#018761e7-3d48-4666-a8cd-d133ab219b8e/1056-1059

According to git bisect, it is triggered by 89bdf6e94cb36567478c509722fe98069402fb8e

Steps to reproduce

git clone https://github.com/rails/rails
cd rails/activerecord
bundle install
RUBY_YJIT_ENABLE=1 bin/test

Expected behavior

It should pass

Actual behavior

$ ruby -v ; RUBY_YJIT_ENABLE=1 bin/test
ruby 3.3.0dev (2023-04-06T15:34:58Z master 89bdf6e94c) [x86_64-linux]
Using sqlite3
/home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/code_generator.rb:30:in `instance_method': undefined method `comments_count_will_change!' for module `#<Module:0x00007fb53d644b10>' (NameError)

          owner.define_method(name, @cache.instance_method(as))
                                          ^^^^^^^^^^^^^^^^
	from /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/code_generator.rb:30:in `block in apply'
	from /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/code_generator.rb:29:in `each'
	from /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/code_generator.rb:29:in `apply'
	from /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/code_generator.rb:61:in `block in execute'
	from /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/code_generator.rb:60:in `each_value'
	from /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/code_generator.rb:60:in `execute'
	from /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/code_generator.rb:42:in `batch'
	from /home/yahonda/src/github.com/rails/rails/activemodel/lib/active_model/attribute_methods.rb:206:in `alias_attribute'
	from /home/yahonda/src/github.com/rails/rails/activerecord/test/models/post.rb:28:in `<class:Post>'
	from /home/yahonda/src/github.com/rails/rails/activerecord/test/models/post.rb:3:in `<top (required)>'
	from <internal:/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.3.0+0/rubygems/core_ext/kernel_require.rb>:37:in `require'
	from <internal:/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.3.0+0/rubygems/core_ext/kernel_require.rb>:37:in `require'
	from /home/yahonda/src/github.com/rails/rails/activerecord/test/activejob/destroy_association_async_test.rb:11:in `<top (required)>'
	from <internal:/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.3.0+0/rubygems/core_ext/kernel_require.rb>:37:in `require'
	from <internal:/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.3.0+0/rubygems/core_ext/kernel_require.rb>:37:in `require'
	from /home/yahonda/src/github.com/rails/rails/railties/lib/rails/test_unit/runner.rb:50:in `block in load_tests'
	from /home/yahonda/src/github.com/rails/rails/railties/lib/rails/test_unit/runner.rb:50:in `each'
	from /home/yahonda/src/github.com/rails/rails/railties/lib/rails/test_unit/runner.rb:50:in `load_tests'
	from /home/yahonda/src/github.com/rails/rails/railties/lib/rails/test_unit/runner.rb:42:in `run'
	from /home/yahonda/src/github.com/rails/rails/activerecord/test/support/tools.rb:37:in `<top (required)>'
	from bin/test:11:in `require_relative'
	from bin/test:11:in `<main>'
$

Updated by yahonda (Yasuo Honda) over 1 year ago

It does not reproduce when yjit is not enabled.

Updated by k0kubun (Takashi Kokubun) over 1 year ago

  • Assignee set to yjit

Thank you for reporting it. I'll have a look next week.

Actions #3

Updated by Eregon (Benoit Daloze) over 1 year ago

  • Description updated (diff)

Updated by k0kubun (Takashi Kokubun) over 1 year ago

  • Backport changed from 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN to 2.7: DONTNEED, 3.0: DONTNEED, 3.1: DONTNEED, 3.2: DONTNEED

I filed a PR that fixes it https://github.com/ruby/ruby/pull/7685. I'll merge it once reviewed.

Actions #5

Updated by k0kubun (Takashi Kokubun) over 1 year ago

  • Status changed from Open to Closed

Applied in changeset git|1ff14a855ab2389017a0de958702644233dbeb9f.


YJIT: Avoid using a register for unspecified_bits (#7685)

Fix [Bug #19586]

Actions

Also available in: Atom PDF

Like0
Like0Like1Like0Like0Like0