Skip to content

NoMethodError: undefined method `[]' for nil:NilClass since Ruby 3.3.0dev #1856

@yahonda

Description

@yahonda

Recently, one of Rails CI testing Active Job integration tests with resque has been failing. https://buildkite.com/rails/rails/builds/93710#01863c1c-deb5-4ec2-9169-636a5ffbcbbc/1359-1416

Based on the git bisect or Ruby repository, this behavior change has been introduced via ruby/ruby@194520f

So far I am not sure how to address it from Ruby side or resque side though, I'm opening an issue here.

Steps to reproduce

Install `ruby 3.3.0dev` includes https://github.com/ruby/ruby/commit/194520f80e1cdb71faa055d731450855a1ddb8d1
git clone https://github.com/resque/resque.git
cd resque
bundle install
bundle exec rake test

Expected behavior

All of tests should pass.

Actual behavior

283 runs, 490 assertions, 8 failures, 80 errors, 0 skips

These failures and errors are triggered since ruby/ruby@194520f

$ bundle exec rake test
/home/yahonda/.rbenv/versions/trunk/bin/ruby -w -I"lib:test:lib" /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/rake-13.0.6/lib/rake/rake_test_loader.rb "test/airbrake_test.rb" "test/child_killing_test.rb" "test/failure_base_test.rb" "test/job_hooks_test.rb" "test/job_plugins_test.rb" "test/logging_test.rb" "test/plugin_test.rb" "test/rake_test.rb" "test/resque-web_runner_test.rb" "test/resque-web_test.rb" "test/resque_failure_multi_queue_test.rb" "test/resque_failure_multiple_test.rb" "test/resque_failure_redis_test.rb" "test/resque_hook_test.rb" "test/resque_test.rb" "test/server_helper_test.rb" "test/stat_test.rb" "test/worker_test.rb"
/usr/bin/redis-server
Starting redis for testing at localhost:9736...
Install airbrake gem to run Airbrake tests.
Run options: --seed 56557

# Running:

...................E........E.............E........................EE............../home/yahonda/.rbenv/versions/trunk/lib/ruby/3.3.0+0/logger.rb:385:in `level': undefined method `[]' for nil:NilClass (NoMethodError)

    @level_override[Fiber.current] || @level
                   ^^^^^^^^^^^^^^^
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.3.0+0/logger.rb:654:in `add'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.3.0+0/logger.rb:710:in `error'
	from /home/yahonda/src/github.com/resque/resque/lib/resque/logging.rb:8:in `log'
	from /home/yahonda/src/github.com/resque/resque/lib/resque/worker.rb:945:in `log_with_severity'
	from /home/yahonda/src/github.com/resque/resque/lib/resque/worker.rb:262:in `rescue in work'
	from /home/yahonda/src/github.com/resque/resque/lib/resque/worker.rb:242:in `work'
	from /home/yahonda/src/github.com/resque/resque/test/child_killing_test.rb:34:in `block (2 levels) in start_worker'
	from /home/yahonda/src/github.com/resque/resque/test/test_helper.rb:247:in `suppress_warnings'
	from /home/yahonda/src/github.com/resque/resque/test/child_killing_test.rb:33:in `block in start_worker'
	from /home/yahonda/src/github.com/resque/resque/test/child_killing_test.rb:25:in `fork'
	from /home/yahonda/src/github.com/resque/resque/test/child_killing_test.rb:25:in `start_worker'
	from /home/yahonda/src/github.com/resque/resque/test/child_killing_test.rb:71:in `block (2 levels) in <top (required)>'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest/test.rb:102:in `block (3 levels) in run'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest/test.rb:199:in `capture_exceptions'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest/test.rb:97:in `block (2 levels) in run'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest.rb:296:in `time_it'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest/test.rb:96:in `block in run'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest.rb:391:in `on_signal'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest/test.rb:247:in `with_info_handler'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest/test.rb:95:in `run'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest.rb:1051:in `run_one_method'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest.rb:365:in `run_one_method'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest.rb:352:in `block (2 levels) in run'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest.rb:351:in `each'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest.rb:351:in `block in run'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest.rb:391:in `on_signal'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest.rb:378:in `with_info_handler'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest.rb:350:in `run'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest.rb:182:in `block in __run'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest.rb:182:in `map'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest.rb:182:in `__run'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest.rb:159:in `run'
	from /home/yahonda/.rbenv/versions/trunk/lib/ruby/gems/3.3.0+0/gems/minitest-5.17.0/lib/minitest.rb:83:in `block in autorun'
/home/yahonda/.rbenv/versions/trunk/lib/ruby/3.3.0+0/logger.rb:385:in `level': undefined method `[]' for nil:NilClass (NoMethodError)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions