From: "yahonda (Yasuo Honda) via ruby-core" Date: 2024-06-24T05:52:41+00:00 Subject: [ruby-core:118377] [Ruby master Bug#20588] RangeError: integer 132186463059104 too big to convert to 'int' since cdf33ed5f37f9649c482c3ba1d245f0d80ac01ce with YJIT enabled Issue #20588 has been updated by yahonda (Yasuo Honda). There is another Rails CI failure https://buildkite.com/rails/rails-nightly/builds/683#01903773-e527-4777-8dd1-7656c1ab9cbc/1214-1277 since cdf33ed5f3 ``` $ ruby -v ruby 3.4.0dev (2024-06-18T16:28:25Z master cdf33ed5f3) [x86_64-linux] $ git clone https://github.com/rails/rails $ cd rails/activestorage $ bundle $ bin/test "test/analyzer/audio_analyzer_test.rb" "test/analyzer/image_analyzer/image_magick_test.rb" "test/analyzer/image_analyzer/vips_test.rb" "test/analyzer/video_analyzer_test.rb" "test/controllers/blobs/proxy_controller_test.rb" "test/controllers/blobs/redirect_controller_test.rb" "test/controllers/direct_uploads_controller_test.rb" "test/controllers/disk_controller_test.rb" "test/controllers/representations/proxy_controller_test.rb" "test/controllers/representations/redirect_controller_test.rb" "test/engine_test.rb" "test/fixture_set_test.rb" "test/javascript_package_test.rb" "test/jobs/analyze_job_test.rb" "test/jobs/preview_image_job_test.rb" "test/jobs/purge_job_test.rb" "test/jobs/transform_job_test.rb" "test/migrations_test.rb" "test/models/attached/many_test.rb" "test/models/attached/one_test.rb" "test/models/attachment_test.rb" "test/models/blob_test.rb" "test/models/filename_test.rb" "test/models/presence_validation_test.rb" "test/models/preview_test.rb" "test/models/r eflection_test.rb" "test/models/representation_test.rb" "test/models/strict_loading_test.rb" "test/models/variant_test.rb" "test/models/variant_with_record_test.rb" "test/previewer/mupdf_previewer_test.rb" "test/previewer/poppler_pdf_previewer_test.rb" "test/previewer/video_previewer_test.rb" "test/service/azure_storage_public_service_test.rb" "test/service/azure_storage_service_test.rb" "test/service/configurator_test.rb" "test/service/disk_public_service_test.rb" "test/service/disk_service_test.rb" "test/service/gcs_public_service_test.rb" "test/service/gcs_service_test.rb" "test/service/mirror_service_test.rb" "test/service/s3_public_service_test.rb" "test/service/s3_service_test.rb" "test/template/audio_tag_test.rb" "test/template/image_tag_test.rb" "test/template/video_tag_test.rb" "test/urls/rails_storage_proxy_url_test.rb" "test/urls/rails_storage_redirect_url_test.rb" --seed 9888 ``` - Actual result ``` Failure: ActiveStorage::Representations::ProxyControllerWithPreviewsTest#test_showing_preview_inline [test/controllers/representations/proxy_controller_test.rb:135]: Expected response to be a <200: ok>, but was a <500: Internal Server Error> Response body: . Expected: 200 Actual: 500 bin/test test/controllers/representations/proxy_controller_test.rb:129 ........................... Finished in 18.296045s, 26.3445 runs/s, 79.6894 assertions/s. 482 runs, 1458 assertions, 1 failures, 0 errors, 1 skips You have skipped tests. Run with --verbose for details. $ ``` ---------------------------------------- Bug #20588: RangeError: integer 132186463059104 too big to convert to 'int' since cdf33ed5f37f9649c482c3ba1d245f0d80ac01ce with YJIT enabled https://bugs.ruby-lang.org/issues/20588#change-108889 * 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-9c40cf9ca4a8 ### 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 ' 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/ ______________________________________________ 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/lists/ruby-core.ml.ruby-lang.org/