[ruby-core:118417] [Ruby master Bug#20602] RangeError: integer 128496650801200 too big to convert to 'int' without YJIT since cdf33ed5f37f9649c482c3ba1d245f0d80ac01ce

Issue #20602 has been reported by yahonda (Yasuo Honda). ---------------------------------------- Bug #20602: RangeError: integer 128496650801200 too big to convert to 'int' without YJIT since cdf33ed5f37f9649c482c3ba1d245f0d80ac01ce https://bugs.ruby-lang.org/issues/20602 * Author: yahonda (Yasuo Honda) * Status: Open * ruby -v: ruby 3.4.0dev (2024-07-02T11:33:48Z master cee62c6738) [x86_64-linux] * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- I have opened https://bugs.ruby-lang.org/issues/20588 and the test case has been fixed via 4cbc41d5e5cb6793174d5964975fdb4470323ca1 , It looks like there are another test case that still reproduces against the latest master branch like cee62c6738c42ce774e96e180cf2d46afb8e9cbe since cdf33ed5f37f9649c482c3ba1d245f0d80ac01ce ### Steps to reproduce ``` git clone https://github.com/rails/rails cd rails/activejob bundle install AJ_ADAPTER=test bin/test "test/cases/test_helper_test.rb" --seed 36347 -n "/^(?:EnqueuedJobsTest#(?:test_assert_enqueued_with_supports_matcher_procs|test_assert_no_enqueued_jobs_with_except_and_queue_option))$/" ``` ### Expected behavior It should pass. ### Actual behavior It always gets the RangeError. ``` $ AJ_ADAPTER=test bin/test "test/cases/test_helper_test.rb" --seed 36347 -n "/^(?:EnqueuedJobsTest#(?:test_assert_enqueued_with_supports_matcher_procs|test_assert_no_enqueued_jobs_with_except_and_queue_option))$/" /home/yahonda/rails/activesupport/lib/active_support/logger_thread_safe_level.rb:4: warning: logger was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.5.0. Add logger to your Gemfile or gemspec. Using test Run options: --seed 36347 -n "/^(?:EnqueuedJobsTest#(?:test_assert_enqueued_with_supports_matcher_procs|test_assert_no_enqueued_jobs_with_except_and_queue_option))$/" # Running: .E Error: EnqueuedJobsTest#test_assert_no_enqueued_jobs_with_except_and_queue_option: RangeError: integer 136797572683520 too big to convert to 'int' lib/active_job/configured_job.rb:15:in 'ActiveJob::ConfiguredJob#perform_later' test/cases/test_helper_test.rb:496:in 'block (2 levels) in EnqueuedJobsTest#test_assert_no_enqueued_jobs_with_except_and_queue_option' /home/yahonda/rails/activesupport/lib/active_support/testing/assertions.rb:49:in 'ActiveSupport::Testing::Assertions#assert_nothing_raised' /home/yahonda/rails/activesupport/lib/active_support/testing/assertions.rb:266:in 'ActiveSupport::Testing::Assertions#_assert_nothing_raised_or_warn' lib/active_job/test_helper.rb:128:in 'ActiveJob::TestHelper#assert_enqueued_jobs' lib/active_job/test_helper.rb:189:in 'ActiveJob::TestHelper#assert_no_enqueued_jobs' test/cases/test_helper_test.rb:495:in 'block in EnqueuedJobsTest#test_assert_no_enqueued_jobs_with_except_and_queue_option' /home/yahonda/rails/activesupport/lib/active_support/testing/assertions.rb:49:in 'ActiveSupport::Testing::Assertions#assert_nothing_raised' test/cases/test_helper_test.rb:494:in 'EnqueuedJobsTest#test_assert_no_enqueued_jobs_with_except_and_queue_option' bin/test test/cases/test_helper_test.rb:493 Finished in 0.010521s, 190.0966 runs/s, 1140.5794 assertions/s. 2 runs, 12 assertions, 0 failures, 1 errors, 0 skips $ ``` -- https://bugs.ruby-lang.org/

Issue #20602 has been updated by eileencodes (Eileen Uchitelle). I think this is fixed since https://github.com/ruby/ruby/pull/11086 was merged. I haven't seen it on the Rails CI nightly, nor can I reproduce locally. ---------------------------------------- Bug #20602: RangeError: integer 128496650801200 too big to convert to 'int' without YJIT since cdf33ed5f37f9649c482c3ba1d245f0d80ac01ce https://bugs.ruby-lang.org/issues/20602#change-109014 * Author: yahonda (Yasuo Honda) * Status: Open * ruby -v: ruby 3.4.0dev (2024-07-02T11:33:48Z master cee62c6738) [x86_64-linux] * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- I have opened https://bugs.ruby-lang.org/issues/20588 and the test case has been fixed via 4cbc41d5e5cb6793174d5964975fdb4470323ca1 , It looks like there are another test case that still reproduces against the latest master branch like cee62c6738c42ce774e96e180cf2d46afb8e9cbe since cdf33ed5f37f9649c482c3ba1d245f0d80ac01ce ### Steps to reproduce ``` git clone https://github.com/rails/rails cd rails/activejob bundle install AJ_ADAPTER=test bin/test "test/cases/test_helper_test.rb" --seed 36347 -n "/^(?:EnqueuedJobsTest#(?:test_assert_enqueued_with_supports_matcher_procs|test_assert_no_enqueued_jobs_with_except_and_queue_option))$/" ``` ### Expected behavior It should pass. ### Actual behavior It always gets the RangeError. ``` $ AJ_ADAPTER=test bin/test "test/cases/test_helper_test.rb" --seed 36347 -n "/^(?:EnqueuedJobsTest#(?:test_assert_enqueued_with_supports_matcher_procs|test_assert_no_enqueued_jobs_with_except_and_queue_option))$/" /home/yahonda/rails/activesupport/lib/active_support/logger_thread_safe_level.rb:4: warning: logger was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.5.0. Add logger to your Gemfile or gemspec. Using test Run options: --seed 36347 -n "/^(?:EnqueuedJobsTest#(?:test_assert_enqueued_with_supports_matcher_procs|test_assert_no_enqueued_jobs_with_except_and_queue_option))$/" # Running: .E Error: EnqueuedJobsTest#test_assert_no_enqueued_jobs_with_except_and_queue_option: RangeError: integer 136797572683520 too big to convert to 'int' lib/active_job/configured_job.rb:15:in 'ActiveJob::ConfiguredJob#perform_later' test/cases/test_helper_test.rb:496:in 'block (2 levels) in EnqueuedJobsTest#test_assert_no_enqueued_jobs_with_except_and_queue_option' /home/yahonda/rails/activesupport/lib/active_support/testing/assertions.rb:49:in 'ActiveSupport::Testing::Assertions#assert_nothing_raised' /home/yahonda/rails/activesupport/lib/active_support/testing/assertions.rb:266:in 'ActiveSupport::Testing::Assertions#_assert_nothing_raised_or_warn' lib/active_job/test_helper.rb:128:in 'ActiveJob::TestHelper#assert_enqueued_jobs' lib/active_job/test_helper.rb:189:in 'ActiveJob::TestHelper#assert_no_enqueued_jobs' test/cases/test_helper_test.rb:495:in 'block in EnqueuedJobsTest#test_assert_no_enqueued_jobs_with_except_and_queue_option' /home/yahonda/rails/activesupport/lib/active_support/testing/assertions.rb:49:in 'ActiveSupport::Testing::Assertions#assert_nothing_raised' test/cases/test_helper_test.rb:494:in 'EnqueuedJobsTest#test_assert_no_enqueued_jobs_with_except_and_queue_option' bin/test test/cases/test_helper_test.rb:493 Finished in 0.010521s, 190.0966 runs/s, 1140.5794 assertions/s. 2 runs, 12 assertions, 0 failures, 1 errors, 0 skips $ ``` -- https://bugs.ruby-lang.org/
participants (2)
-
eileencodes (Eileen Uchitelle)
-
yahonda (Yasuo Honda)