Bug #17417
Updated by kou (Kouhei Sutou) over 4 years ago
I understand there are some concerns that issues opened without a minimum test case using pure Ruby without using frameworks like Rails. It would be appreciated if someone taking a look at this issue when Ruby 3.0 release is around the corner. Rails Rais CI gets `SystemStackError: stack level too deep` recently. Executed `git bisect` against Ruby repository this error is triggered by cee02d754d76563635c1db90d2ab6c01f8492470 ### Steps to reproduce * Install Docker and whatever Ruby version to execute rake command * Create Ruby docker image as of cee02d754d76563635c1db90d2ab6c01f8492470 ``` $ git clone https://github.com/ruby/ruby-docker-images.git $ cd ruby-docker-images $ rake docker:build ruby_version=master:cee02d754d76563635c1db90d2ab6c01f8492470 ``` * Run Rails Active Job unit test against Ruby docker image created in the previous step. ``` $ cd ~ $ git clone https://github.com/rails/rails.git $ cd rails $ git clone https://github.com/rails/buildkite-config .buildkite/ $ RUBY_IMAGE=rubylang/ruby:master-cee02d754d76563635c1db90d2ab6c01f8492470-bionic docker-compose -f .buildkite/docker-compose.yml build base && CI=1 docker-compose -f .buildkite/docker-compose.yml run activejob runner activejob 'ruby -v ; bundle exec rake test:sneakers' ``` ### Expected behavior It should pass like this. ``` 344 runs, 755 assertions, 0 failures, 0 errors, 26 skips ``` ### Actual behavior It always gets 'SystemStackError: stack level too deep' as follows. ``` +++ activejob: ruby -v ; bundle exec rake test:sneakers ruby 3.0.0dev (2020-12-18T19:33:04Z v3_0_0_rc1~79 cee02d754d) [x86_64-linux] /usr/local/bin/ruby -w -I"lib:test" /usr/local/lib/ruby/gems/3.0.0/gems/rake-13.0.3/lib/rake/rake_test_loader.rb "test/cases/adapter_test.rb" "test/cases/argument_serialization_test.rb" "test/cases/callbacks_test.rb" "test/cases/exceptions_test.rb" "test/cases/job_serialization_test.rb" "test/cases/logging_test.rb" "test/cases/queue_adapter_test.rb" "test/cases/queue_naming_test.rb" "test/cases/queue_priority_test.rb" "test/cases/queuing_test.rb" "test/cases/rescue_test.rb" "test/cases/serializers_test.rb" "test/cases/test_case_test.rb" "test/cases/test_helper_test.rb" "test/cases/timezones_test.rb" "test/cases/translation_test.rb" Using sneakers Run options: --seed 10975 # Running: ..............................................................................................................................................F Failure: PerformedJobsTest#test_assert_performed_with_failure_with_global_id_args [/rails/activejob/test/cases/test_helper_test.rb:1910]: [Minitest::Assertion] exception expected, not Class: <SystemStackError> Message: <"stack level too deep"> ---Backtrace--- /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/global_id.rb:14:in `create' /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/identification.rb:8:in `to_global_id' /rails/activejob/lib/active_job/arguments.rb:209:in `convert_to_global_id_hash' /rails/activejob/lib/active_job/arguments.rb:104:in `serialize_argument' /rails/activejob/lib/active_job/arguments.rb:34:in `block in serialize' /rails/activejob/lib/active_job/arguments.rb:34:in `map' /rails/activejob/lib/active_job/arguments.rb:34:in `serialize' /rails/activejob/lib/active_job/core.rb:166:in `serialize_arguments' /rails/activejob/lib/active_job/core.rb:154:in `serialize_arguments_if_needed' /rails/activejob/lib/active_job/core.rb:101:in `serialize' /rails/activejob/lib/active_job/queue_adapters/test_adapter.rb:40:in `job_to_hash' /rails/activejob/lib/active_job/queue_adapters/test_adapter.rb:29:in `enqueue' /rails/activejob/lib/active_job/enqueuing.rb:59:in `block in enqueue' /rails/activesupport/lib/active_support/callbacks.rb:117:in `block in run_callbacks' /rails/activejob/lib/active_job/instrumentation.rb:21:in `block in instrument' /rails/activesupport/lib/active_support/notifications.rb:203:in `block in instrument' /rails/activesupport/lib/active_support/notifications/instrumenter.rb:24:in `instrument' /rails/activesupport/lib/active_support/notifications.rb:203:in `instrument' /rails/activejob/lib/active_job/instrumentation.rb:28:in `instrument' /rails/activejob/lib/active_job/instrumentation.rb:9:in `block (2 levels) in <module:Instrumentation>' /rails/activesupport/lib/active_support/callbacks.rb:126:in `instance_exec' /rails/activesupport/lib/active_support/callbacks.rb:126:in `block in run_callbacks' /rails/activejob/lib/active_job/logging.rb:24:in `tag_logger' /rails/activejob/lib/active_job/logging.rb:14:in `block (2 levels) in <module:Logging>' /rails/activesupport/lib/active_support/callbacks.rb:126:in `instance_exec' /rails/activesupport/lib/active_support/callbacks.rb:126:in `block in run_callbacks' /rails/activesupport/lib/active_support/callbacks.rb:137:in `run_callbacks' /rails/activejob/lib/active_job/enqueuing.rb:55:in `enqueue' /rails/activejob/lib/active_job/enqueuing.rb:22:in `perform_later' /rails/activejob/test/cases/test_helper_test.rb:1912:in `block (2 levels) in test_assert_performed_with_failure_with_global_id_args' /rails/activesupport/lib/active_support/testing/assertions.rb:34:in `assert_nothing_raised' /rails/activejob/lib/active_job/test_helper.rb:593:in `perform_enqueued_jobs' /rails/activejob/lib/active_job/test_helper.rb:489:in `assert_performed_with' /rails/activejob/test/cases/test_helper_test.rb:1911:in `block in test_assert_performed_with_failure_with_global_id_args' --------------- rails test rails/activejob/test/cases/test_helper_test.rb:1907 ....E Error: PerformedJobsTest#test_assert_performed_with_without_block_failure_with_global_id_args: SystemStackError: stack level too deep /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/global_id.rb:14:in `create' /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/identification.rb:8:in `to_global_id' /rails/activejob/lib/active_job/arguments.rb:209:in `convert_to_global_id_hash' /rails/activejob/lib/active_job/arguments.rb:104:in `serialize_argument' /rails/activejob/lib/active_job/arguments.rb:34:in `block in serialize' /rails/activejob/lib/active_job/arguments.rb:34:in `map' /rails/activejob/lib/active_job/arguments.rb:34:in `serialize' /rails/activejob/lib/active_job/core.rb:166:in `serialize_arguments' /rails/activejob/lib/active_job/core.rb:154:in `serialize_arguments_if_needed' /rails/activejob/lib/active_job/core.rb:101:in `serialize' /rails/activejob/lib/active_job/queue_adapters/test_adapter.rb:40:in `job_to_hash' /rails/activejob/lib/active_job/queue_adapters/test_adapter.rb:29:in `enqueue' /rails/activejob/lib/active_job/enqueuing.rb:59:in `block in enqueue' /rails/activesupport/lib/active_support/callbacks.rb:117:in `block in run_callbacks' /rails/activejob/lib/active_job/instrumentation.rb:21:in `block in instrument' /rails/activesupport/lib/active_support/notifications.rb:203:in `block in instrument' /rails/activesupport/lib/active_support/notifications/instrumenter.rb:24:in `instrument' /rails/activesupport/lib/active_support/notifications.rb:203:in `instrument' /rails/activejob/lib/active_job/instrumentation.rb:28:in `instrument' /rails/activejob/lib/active_job/instrumentation.rb:9:in `block (2 levels) in <module:Instrumentation>' /rails/activesupport/lib/active_support/callbacks.rb:126:in `instance_exec' /rails/activesupport/lib/active_support/callbacks.rb:126:in `block in run_callbacks' /rails/activejob/lib/active_job/logging.rb:24:in `tag_logger' /rails/activejob/lib/active_job/logging.rb:14:in `block (2 levels) in <module:Logging>' /rails/activesupport/lib/active_support/callbacks.rb:126:in `instance_exec' /rails/activesupport/lib/active_support/callbacks.rb:126:in `block in run_callbacks' /rails/activesupport/lib/active_support/callbacks.rb:137:in `run_callbacks' /rails/activejob/lib/active_job/enqueuing.rb:55:in `enqueue' /rails/activejob/lib/active_job/enqueuing.rb:22:in `perform_later' /rails/activejob/test/cases/test_helper_test.rb:1922:in `test_assert_performed_with_without_block_failure_with_global_id_args' rails test rails/activejob/test/cases/test_helper_test.rb:1919 .....................E Error: PerformedJobsTest#test_assert_performed_with_with_global_id_args: SystemStackError: stack level too deep /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/global_id.rb:14:in `create' /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/identification.rb:8:in `to_global_id' /rails/activejob/lib/active_job/arguments.rb:209:in `convert_to_global_id_hash' /rails/activejob/lib/active_job/arguments.rb:104:in `serialize_argument' /rails/activejob/lib/active_job/arguments.rb:34:in `block in serialize' /rails/activejob/lib/active_job/arguments.rb:34:in `map' /rails/activejob/lib/active_job/arguments.rb:34:in `serialize' /rails/activejob/lib/active_job/core.rb:166:in `serialize_arguments' /rails/activejob/lib/active_job/core.rb:154:in `serialize_arguments_if_needed' /rails/activejob/lib/active_job/core.rb:101:in `serialize' /rails/activejob/lib/active_job/queue_adapters/test_adapter.rb:40:in `job_to_hash' /rails/activejob/lib/active_job/queue_adapters/test_adapter.rb:29:in `enqueue' /rails/activejob/lib/active_job/enqueuing.rb:59:in `block in enqueue' /rails/activesupport/lib/active_support/callbacks.rb:117:in `block in run_callbacks' /rails/activejob/lib/active_job/instrumentation.rb:21:in `block in instrument' /rails/activesupport/lib/active_support/notifications.rb:203:in `block in instrument' /rails/activesupport/lib/active_support/notifications/instrumenter.rb:24:in `instrument' /rails/activesupport/lib/active_support/notifications.rb:203:in `instrument' /rails/activejob/lib/active_job/instrumentation.rb:28:in `instrument' /rails/activejob/lib/active_job/instrumentation.rb:9:in `block (2 levels) in <module:Instrumentation>' /rails/activesupport/lib/active_support/callbacks.rb:126:in `instance_exec' /rails/activesupport/lib/active_support/callbacks.rb:126:in `block in run_callbacks' /rails/activejob/lib/active_job/logging.rb:24:in `tag_logger' /rails/activejob/lib/active_job/logging.rb:14:in `block (2 levels) in <module:Logging>' /rails/activesupport/lib/active_support/callbacks.rb:126:in `instance_exec' /rails/activesupport/lib/active_support/callbacks.rb:126:in `block in run_callbacks' /rails/activesupport/lib/active_support/callbacks.rb:137:in `run_callbacks' /rails/activejob/lib/active_job/enqueuing.rb:55:in `enqueue' /rails/activejob/lib/active_job/enqueuing.rb:22:in `perform_later' /rails/activejob/test/cases/test_helper_test.rb:1896:in `block in test_assert_performed_with_with_global_id_args' /rails/activesupport/lib/active_support/testing/assertions.rb:34:in `assert_nothing_raised' /rails/activejob/lib/active_job/test_helper.rb:593:in `perform_enqueued_jobs' /rails/activejob/lib/active_job/test_helper.rb:489:in `assert_performed_with' /rails/activejob/test/cases/test_helper_test.rb:1895:in `test_assert_performed_with_with_global_id_args' rails test rails/activejob/test/cases/test_helper_test.rb:1893 ..........................................................E Error: PerformedJobsTest#test_assert_performed_with_without_block_with_global_id_args: SystemStackError: stack level too deep /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/global_id.rb:14:in `create' /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/identification.rb:8:in `to_global_id' /rails/activejob/lib/active_job/arguments.rb:209:in `convert_to_global_id_hash' /rails/activejob/lib/active_job/arguments.rb:104:in `serialize_argument' /rails/activejob/lib/active_job/arguments.rb:34:in `block in serialize' /rails/activejob/lib/active_job/arguments.rb:34:in `map' /rails/activejob/lib/active_job/arguments.rb:34:in `serialize' /rails/activejob/lib/active_job/core.rb:166:in `serialize_arguments' /rails/activejob/lib/active_job/core.rb:154:in `serialize_arguments_if_needed' /rails/activejob/lib/active_job/core.rb:101:in `serialize' /rails/activejob/lib/active_job/queue_adapters/test_adapter.rb:40:in `job_to_hash' /rails/activejob/lib/active_job/queue_adapters/test_adapter.rb:29:in `enqueue' /rails/activejob/lib/active_job/enqueuing.rb:59:in `block in enqueue' /rails/activesupport/lib/active_support/callbacks.rb:117:in `block in run_callbacks' /rails/activejob/lib/active_job/instrumentation.rb:21:in `block in instrument' /rails/activesupport/lib/active_support/notifications.rb:203:in `block in instrument' /rails/activesupport/lib/active_support/notifications/instrumenter.rb:24:in `instrument' /rails/activesupport/lib/active_support/notifications.rb:203:in `instrument' /rails/activejob/lib/active_job/instrumentation.rb:28:in `instrument' /rails/activejob/lib/active_job/instrumentation.rb:9:in `block (2 levels) in <module:Instrumentation>' /rails/activesupport/lib/active_support/callbacks.rb:126:in `instance_exec' /rails/activesupport/lib/active_support/callbacks.rb:126:in `block in run_callbacks' /rails/activejob/lib/active_job/logging.rb:24:in `tag_logger' /rails/activejob/lib/active_job/logging.rb:14:in `block (2 levels) in <module:Logging>' /rails/activesupport/lib/active_support/callbacks.rb:126:in `instance_exec' /rails/activesupport/lib/active_support/callbacks.rb:126:in `block in run_callbacks' /rails/activesupport/lib/active_support/callbacks.rb:137:in `run_callbacks' /rails/activejob/lib/active_job/enqueuing.rb:55:in `enqueue' /rails/activejob/lib/active_job/enqueuing.rb:22:in `perform_later' /rails/activejob/test/cases/test_helper_test.rb:1902:in `test_assert_performed_with_without_block_with_global_id_args' rails test rails/activejob/test/cases/test_helper_test.rb:1900 .....................SSSSSSSSSSSSSSSSSSSSSSSSE Error: JobSerializationTest#test_serialize_job_with_gid: SystemStackError: stack level too deep /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/global_id.rb:14:in `create' /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/identification.rb:8:in `to_global_id' /rails/activejob/lib/active_job/arguments.rb:209:in `convert_to_global_id_hash' /rails/activejob/lib/active_job/arguments.rb:104:in `serialize_argument' /rails/activejob/lib/active_job/arguments.rb:34:in `block in serialize' /rails/activejob/lib/active_job/arguments.rb:34:in `map' /rails/activejob/lib/active_job/arguments.rb:34:in `serialize' /rails/activejob/lib/active_job/core.rb:166:in `serialize_arguments' /rails/activejob/lib/active_job/core.rb:154:in `serialize_arguments_if_needed' /rails/activejob/lib/active_job/core.rb:101:in `serialize' /rails/activejob/lib/active_job/queue_adapters/sneakers_adapter.rb:28:in `block in enqueue' /rails/activejob/lib/active_job/queue_adapters/sneakers_adapter.rb:26:in `synchronize' /rails/activejob/lib/active_job/queue_adapters/sneakers_adapter.rb:26:in `enqueue' /rails/activejob/lib/active_job/enqueuing.rb:59:in `block in enqueue' /rails/activesupport/lib/active_support/callbacks.rb:117:in `block in run_callbacks' /rails/activejob/lib/active_job/instrumentation.rb:21:in `block in instrument' /rails/activesupport/lib/active_support/notifications.rb:203:in `block in instrument' /rails/activesupport/lib/active_support/notifications/instrumenter.rb:24:in `instrument' /rails/activesupport/lib/active_support/notifications.rb:203:in `instrument' /rails/activejob/lib/active_job/instrumentation.rb:28:in `instrument' /rails/activejob/lib/active_job/instrumentation.rb:9:in `block (2 levels) in <module:Instrumentation>' /rails/activesupport/lib/active_support/callbacks.rb:126:in `instance_exec' /rails/activesupport/lib/active_support/callbacks.rb:126:in `block in run_callbacks' /rails/activejob/lib/active_job/logging.rb:24:in `tag_logger' /rails/activejob/lib/active_job/logging.rb:14:in `block (2 levels) in <module:Logging>' /rails/activesupport/lib/active_support/callbacks.rb:126:in `instance_exec' /rails/activesupport/lib/active_support/callbacks.rb:126:in `block in run_callbacks' /rails/activesupport/lib/active_support/callbacks.rb:137:in `run_callbacks' /rails/activejob/lib/active_job/enqueuing.rb:55:in `enqueue' /rails/activejob/lib/active_job/enqueuing.rb:22:in `perform_later' /rails/activejob/test/cases/job_serialization_test.rb:16:in `block in <class:JobSerializationTest>' rails test rails/activejob/test/cases/job_serialization_test.rb:15 ........E Error: ArgumentSerializationTest#test_should_dive_deep_into_arrays_and_hashes: SystemStackError: stack level too deep /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/global_id.rb:14:in `create' /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/identification.rb:8:in `to_global_id' /rails/activejob/lib/active_job/arguments.rb:209:in `convert_to_global_id_hash' /rails/activejob/lib/active_job/arguments.rb:104:in `serialize_argument' /rails/activejob/lib/active_job/arguments.rb:106:in `block in serialize_argument' /rails/activejob/lib/active_job/arguments.rb:106:in `map' /rails/activejob/lib/active_job/arguments.rb:106:in `serialize_argument' /rails/activejob/lib/active_job/arguments.rb:34:in `block in serialize' /rails/activejob/lib/active_job/arguments.rb:34:in `map' /rails/activejob/lib/active_job/arguments.rb:34:in `serialize' /rails/activejob/test/cases/argument_serialization_test.rb:198:in `perform_round_trip' /rails/activejob/test/cases/argument_serialization_test.rb:194:in `assert_arguments_roundtrip' /rails/activejob/test/cases/argument_serialization_test.rb:61:in `block in <class:ArgumentSerializationTest>' rails test rails/activejob/test/cases/argument_serialization_test.rb:60 ...F Failure: ArgumentSerializationTest#test_raises_a_friendly_SerializationError_for_records_without_ids [/rails/activejob/test/cases/argument_serialization_test.rb:182]: [ActiveJob::SerializationError] exception expected, not Class: <SystemStackError> Message: <"stack level too deep"> ---Backtrace--- /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/global_id.rb:14:in `create' /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/identification.rb:8:in `to_global_id' /rails/activejob/lib/active_job/arguments.rb:209:in `convert_to_global_id_hash' /rails/activejob/lib/active_job/arguments.rb:104:in `serialize_argument' /rails/activejob/lib/active_job/arguments.rb:34:in `block in serialize' /rails/activejob/lib/active_job/arguments.rb:34:in `map' /rails/activejob/lib/active_job/arguments.rb:34:in `serialize' /rails/activejob/test/cases/argument_serialization_test.rb:183:in `block (2 levels) in <class:ArgumentSerializationTest>' --------------- rails test rails/activejob/test/cases/argument_serialization_test.rb:181 ...E Error: ArgumentSerializationTest#test_should_convert_records_to_Global_IDs: SystemStackError: stack level too deep /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/global_id.rb:14:in `create' /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/identification.rb:8:in `to_global_id' /rails/activejob/lib/active_job/arguments.rb:209:in `convert_to_global_id_hash' /rails/activejob/lib/active_job/arguments.rb:104:in `serialize_argument' /rails/activejob/lib/active_job/arguments.rb:34:in `block in serialize' /rails/activejob/lib/active_job/arguments.rb:34:in `map' /rails/activejob/lib/active_job/arguments.rb:34:in `serialize' /rails/activejob/test/cases/argument_serialization_test.rb:198:in `perform_round_trip' /rails/activejob/test/cases/argument_serialization_test.rb:194:in `assert_arguments_roundtrip' /rails/activejob/test/cases/argument_serialization_test.rb:53:in `block in <class:ArgumentSerializationTest>' rails test rails/activejob/test/cases/argument_serialization_test.rb:52 ............E Error: ArgumentSerializationTest#test_should_keep_Global_IDs_strings_as_they_are: SystemStackError: stack level too deep /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/global_id.rb:14:in `create' /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/identification.rb:8:in `to_global_id' /rails/activejob/test/cases/argument_serialization_test.rb:57:in `block in <class:ArgumentSerializationTest>' rails test rails/activejob/test/cases/argument_serialization_test.rb:56 .............E Error: RescueTest#test_rescue_from_deserialization_errors: SystemStackError: stack level too deep /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/global_id.rb:14:in `create' /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/identification.rb:8:in `to_global_id' /rails/activejob/lib/active_job/arguments.rb:209:in `convert_to_global_id_hash' /rails/activejob/lib/active_job/arguments.rb:104:in `serialize_argument' /rails/activejob/lib/active_job/arguments.rb:34:in `block in serialize' /rails/activejob/lib/active_job/arguments.rb:34:in `map' /rails/activejob/lib/active_job/arguments.rb:34:in `serialize' /rails/activejob/lib/active_job/core.rb:166:in `serialize_arguments' /rails/activejob/lib/active_job/core.rb:154:in `serialize_arguments_if_needed' /rails/activejob/lib/active_job/core.rb:101:in `serialize' /rails/activejob/lib/active_job/queue_adapters/sneakers_adapter.rb:28:in `block in enqueue' /rails/activejob/lib/active_job/queue_adapters/sneakers_adapter.rb:26:in `synchronize' /rails/activejob/lib/active_job/queue_adapters/sneakers_adapter.rb:26:in `enqueue' /rails/activejob/lib/active_job/enqueuing.rb:59:in `block in enqueue' /rails/activesupport/lib/active_support/callbacks.rb:117:in `block in run_callbacks' /rails/activejob/lib/active_job/instrumentation.rb:21:in `block in instrument' /rails/activesupport/lib/active_support/notifications.rb:203:in `block in instrument' /rails/activesupport/lib/active_support/notifications/instrumenter.rb:24:in `instrument' /rails/activesupport/lib/active_support/notifications.rb:203:in `instrument' /rails/activejob/lib/active_job/instrumentation.rb:28:in `instrument' /rails/activejob/lib/active_job/instrumentation.rb:9:in `block (2 levels) in <module:Instrumentation>' /rails/activesupport/lib/active_support/callbacks.rb:126:in `instance_exec' /rails/activesupport/lib/active_support/callbacks.rb:126:in `block in run_callbacks' /rails/activejob/lib/active_job/logging.rb:24:in `tag_logger' /rails/activejob/lib/active_job/logging.rb:14:in `block (2 levels) in <module:Logging>' /rails/activesupport/lib/active_support/callbacks.rb:126:in `instance_exec' /rails/activesupport/lib/active_support/callbacks.rb:126:in `block in run_callbacks' /rails/activesupport/lib/active_support/callbacks.rb:137:in `run_callbacks' /rails/activejob/lib/active_job/enqueuing.rb:55:in `enqueue' /rails/activejob/lib/active_job/enqueuing.rb:22:in `perform_later' /rails/activejob/test/cases/rescue_test.rb:26:in `block in <class:RescueTest>' rails test rails/activejob/test/cases/rescue_test.rb:25 E Error: RescueTest#test_should_not_wrap_DeserializationError_in_DeserializationError: SystemStackError: stack level too deep /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/global_id.rb:14:in `create' /usr/local/lib/ruby/gems/3.0.0/gems/globalid-0.4.2/lib/global_id/identification.rb:8:in `to_global_id' /rails/activejob/lib/active_job/arguments.rb:209:in `convert_to_global_id_hash' /rails/activejob/lib/active_job/arguments.rb:104:in `serialize_argument' /rails/activejob/lib/active_job/arguments.rb:106:in `block in serialize_argument' /rails/activejob/lib/active_job/arguments.rb:106:in `map' /rails/activejob/lib/active_job/arguments.rb:106:in `serialize_argument' /rails/activejob/lib/active_job/arguments.rb:34:in `block in serialize' /rails/activejob/lib/active_job/arguments.rb:34:in `map' /rails/activejob/lib/active_job/arguments.rb:34:in `serialize' /rails/activejob/lib/active_job/core.rb:166:in `serialize_arguments' /rails/activejob/lib/active_job/core.rb:154:in `serialize_arguments_if_needed' /rails/activejob/lib/active_job/core.rb:101:in `serialize' /rails/activejob/lib/active_job/queue_adapters/sneakers_adapter.rb:28:in `block in enqueue' /rails/activejob/lib/active_job/queue_adapters/sneakers_adapter.rb:26:in `synchronize' /rails/activejob/lib/active_job/queue_adapters/sneakers_adapter.rb:26:in `enqueue' /rails/activejob/lib/active_job/enqueuing.rb:59:in `block in enqueue' /rails/activesupport/lib/active_support/callbacks.rb:117:in `block in run_callbacks' /rails/activejob/lib/active_job/instrumentation.rb:21:in `block in instrument' /rails/activesupport/lib/active_support/notifications.rb:203:in `block in instrument' /rails/activesupport/lib/active_support/notifications/instrumenter.rb:24:in `instrument' /rails/activesupport/lib/active_support/notifications.rb:203:in `instrument' /rails/activejob/lib/active_job/instrumentation.rb:28:in `instrument' /rails/activejob/lib/active_job/instrumentation.rb:9:in `block (2 levels) in <module:Instrumentation>' /rails/activesupport/lib/active_support/callbacks.rb:126:in `instance_exec' /rails/activesupport/lib/active_support/callbacks.rb:126:in `block in run_callbacks' /rails/activejob/lib/active_job/logging.rb:24:in `tag_logger' /rails/activejob/lib/active_job/logging.rb:14:in `block (2 levels) in <module:Logging>' /rails/activesupport/lib/active_support/callbacks.rb:126:in `instance_exec' /rails/activesupport/lib/active_support/callbacks.rb:126:in `block in run_callbacks' /rails/activesupport/lib/active_support/callbacks.rb:137:in `run_callbacks' /rails/activejob/lib/active_job/enqueuing.rb:55:in `enqueue' /rails/activejob/lib/active_job/enqueuing.rb:22:in `perform_later' /rails/activejob/test/cases/rescue_test.rb:33:in `block in <class:RescueTest>' rails test rails/activejob/test/cases/rescue_test.rb:32 ......S.S............... Finished in 0.245340s, 1402.1336 runs/s, 2963.2300 assertions/s. 344 runs, 727 assertions, 2 failures, 9 errors, 26 skips ```