
Issue #20588 has been updated by yahonda (Yasuo Honda). It looks like 4cbc41d5e5cb6793174d5964975fdb4470323ca1 addresses this issue. ``` $ RUBY_YJIT_ENABLE=1 bin/test test/cases/scoping/relation_scoping_test.rb test/cases/associations/eager_test.rb --seed 1670 /home/yahonda/.gem/ruby/3.4.0+0/gems/rake-13.1.0/lib/rake.rb:33: warning: ostruct was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.5.0. Add ostruct to your Gemfile or gemspec. Using sqlite3 Run options: --seed 1670 # Running: ..................................................................................................................................................................................................................................................................... Finished in 6.189991s, 42.1648 runs/s, 140.0648 assertions/s. 261 runs, 867 assertions, 0 failures, 0 errors, 0 skips yahonda@myryzen:~/src/github.com/rails/rails/activerecord$ ruby -v ruby 3.4.0dev (2024-06-26T20:01:26Z :detached: 4cbc41d5e5) +YJIT [x86_64-linux] $ ``` It causes another TypeError https://buildkite.com/rails/rails-nightly/builds/711#01905b80-6b82-460c-908d... let me open another ticket. ---------------------------------------- Bug #20588: RangeError: integer 132186463059104 too big to convert to 'int' since cdf33ed5f37f9649c482c3ba1d245f0d80ac01ce with YJIT enabled https://bugs.ruby-lang.org/issues/20588#change-108914 * Author: yahonda (Yasuo Honda) * Status: Open * Assignee: tenderlovemaking (Aaron Patterson) * ruby -v: ruby 3.4.0dev (2024-06-18T16:28:25Z master cdf33ed5f3) [x86_64-linux] * Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONTNEED ---------------------------------------- Managed to reproduce Rails CI failure https://buildkite.com/rails/rails-nightly/builds/679#0190324d-b73c-4602-b026... ### Steps to reproduce ``` git clone https://github.com/rails/rails cd rails/activerecord bundle install RUBY_YJIT_ENABLE=1 bin/test test/cases/scoping/relation_scoping_test.rb test/cases/associations/eager_test.rb --seed 1670 ``` ### Expected behavior It should pass. ### Actual behavior It always raises the `RangeError`. ``` $ RUBY_YJIT_ENABLE=1 bin/test test/cases/scoping/relation_scoping_test.rb test/cases/associations/eager_test.rb --seed 1670 Using sqlite3 Run options: --seed 1670 # Running: ........E Error: EagerAssociationTest#test_including_association_based_on_sql_condition_and_no_database_column: RangeError: integer 124299148641408 too big to convert to 'int' lib/active_record/relation.rb:548:in 'block in ActiveRecord::Relation#_exec_scope' lib/active_record/relation.rb:1359:in 'ActiveRecord::Relation#_scoping' lib/active_record/relation.rb:548:in 'ActiveRecord::Relation#_exec_scope' lib/active_record/scoping/named.rb:175:in 'block in Owner.scope' test/cases/associations/eager_test.rb:1524:in 'block in <class:EagerAssociationTest>' bin/test test/cases/associations/eager_test.rb:1523 ............................................................................................................................................................................................................................................................ Finished in 6.256788s, 41.7147 runs/s, 138.4097 assertions/s. 261 runs, 866 assertions, 0 failures, 1 errors, 0 skips $ ``` ### Additional information It does not reproduce when YJIT is disabled like `bin/test test/cases/scoping/relation_scoping_test.rb test/cases/associations/eager_test.rb --seed 1670` According to git bisect, this exception raised since https://github.com/ruby/ruby/commit/cdf33ed5f37f9649c482c3ba1d245f0d80ac01ce -- https://bugs.ruby-lang.org/