whitehall icon indicating copy to clipboard operation
whitehall copied to clipboard

Bad file descriptor (Errno::EBADF) - individual tests

Open chris-gds opened this issue 3 years ago • 2 comments

What

Error running individual tests

ruby -I test test/functional/[file].rb

Anything else

Similar issue: https://github.com/rails/rails/issues/41176

Run options: --seed 59036

# Running:

.Traceback (most recent call last):
	26: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/minitest-5.13.0/lib/minitest.rb:68:in `block in autorun'
	25: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/minitest-5.13.0/lib/minitest.rb:138:in `run'
	24: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `start'
	23: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `map'
	22: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `each'
	21: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `times'
	20: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:37:in `block in start'
	19: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:15:in `start'
	18: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:27:in `fork'
	17: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:8:in `fork'
	16: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:8:in `fork'
	15: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:10:in `block in fork'
	14: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:27:in `block in start'
	13: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:38:in `work_from_queue'
	12: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:53:in `perform_job'
	11: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:60:in `safe_record'
	10: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1138:in `method_missing'
	 9: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1158:in `with_friend'
	 8: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1139:in `block in method_missing'
	 7: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1213:in `open'
	 6: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1213:in `synchronize'
	 5: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1216:in `block in open'
	 4: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1216:in `each'
	 3: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1218:in `block (2 levels) in open'
	 2: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1262:in `alive?'
	 1: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1005:in `alive?'
/Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1005:in `wait_readable': Bad file descriptor (Errno::EBADF)
	24: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/minitest-5.13.0/lib/minitest.rb:68:in `block in autorun'
	23: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/minitest-5.13.0/lib/minitest.rb:138:in `run'
	22: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `start'
	21: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `map'
	20: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `each'
	19: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `times'
	18: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:37:in `block in start'
	17: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:15:in `start'
	16: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:27:in `fork'
	15: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:8:in `fork'
	14: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:8:in `fork'
	13: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:10:in `block in fork'
	12: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:32:in `block in start'
	11: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:32:in `ensure in block in start'
	10: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1138:in `method_missing'
	 9: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1158:in `with_friend'
	 8: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1139:in `block in method_missing'
	 7: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1213:in `open'
	 6: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1213:in `synchronize'
	 5: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1216:in `block in open'
	 4: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1216:in `each'
	 3: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1218:in `block (2 levels) in open'
	 2: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1262:in `alive?'
	 1: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1005:in `alive?'
/Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1005:in `wait_readable': Bad file descriptor (Errno::EBADF)
Traceback (most recent call last):
	26: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/minitest-5.13.0/lib/minitest.rb:68:in `block in autorun'
	25: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/minitest-5.13.0/lib/minitest.rb:138:in `run'
	24: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `start'
	23: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `map'
	22: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `each'
	21: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `times'
	20: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:37:in `block in start'
	19: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:15:in `start'
	18: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:27:in `fork'
	17: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:8:in `fork'
	16: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:8:in `fork'
	15: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:10:in `block in fork'
	14: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:27:in `block in start'
	13: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:38:in `work_from_queue'
	12: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:53:in `perform_job'
	11: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:60:in `safe_record'
	10: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1138:in `method_missing'
	 9: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1158:in `with_friend'
	 8: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1139:in `block in method_missing'
	 7: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1213:in `open'
	 6: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1213:in `synchronize'
	 5: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1216:in `block in open'
	 4: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1216:in `each'
	 3: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1218:in `block (2 levels) in open'
	 2: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1262:in `alive?'
	 1: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1005:in `alive?'
/Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1005:in `wait_readable': Bad file descriptor (Errno::EBADF)
	24: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/minitest-5.13.0/lib/minitest.rb:68:in `block in autorun'
	23: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/minitest-5.13.0/lib/minitest.rb:138:in `run'
	22: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `start'
	21: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `map'
	20: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `each'
	19: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `times'
	18: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:37:in `block in start'
	17: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:15:in `start'
	16: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:27:in `fork'
	15: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:8:in `fork'
	14: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:8:in `fork'
	13: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:10:in `block in fork'
	12: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:32:in `block in start'
	11: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:32:in `ensure in block in start'
	10: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1138:in `method_missing'
	 9: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1158:in `with_friend'
	 8: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1139:in `block in method_missing'
	 7: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1213:in `open'
	 6: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1213:in `synchronize'
	 5: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1216:in `block in open'
	 4: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1216:in `each'
	 3: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1218:in `block (2 levels) in open'
	 2: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1262:in `alive?'
	 1: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1005:in `alive?'
/Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1005:in `wait_readable': Bad file descriptor (Errno::EBADF)
Traceback (most recent call last):
	26: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/minitest-5.13.0/lib/minitest.rb:68:in `block in autorun'
	25: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/minitest-5.13.0/lib/minitest.rb:138:in `run'
	24: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `start'
	23: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `map'
	22: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `each'
	21: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `times'
	20: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:37:in `block in start'
	19: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:15:in `start'
	18: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:27:in `fork'
	17: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:8:in `fork'
	16: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:8:in `fork'
	15: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:10:in `block in fork'
	14: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:27:in `block in start'
	13: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:38:in `work_from_queue'
	12: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:53:in `perform_job'
	11: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:60:in `safe_record'
	10: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1138:in `method_missing'
	 9: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1158:in `with_friend'
	 8: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1139:in `block in method_missing'
	 7: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1213:in `open'
	 6: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1213:in `synchronize'
	 5: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1216:in `block in open'
	 4: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1216:in `each'
	 3: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1218:in `block (2 levels) in open'
	 2: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1262:in `alive?'
	 1: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1005:in `alive?'
/Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1005:in `wait_readable': Bad file descriptor (Errno::EBADF)
	24: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/minitest-5.13.0/lib/minitest.rb:68:in `block in autorun'
	23: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/minitest-5.13.0/lib/minitest.rb:138:in `run'
	22: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `start'
	21: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `map'
	20: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `each'
	19: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:36:in `times'
	18: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:37:in `block in start'
	17: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:15:in `start'
	16: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:27:in `fork'
	15: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:8:in `fork'
	14: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:8:in `fork'
	13: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/fork_tracker.rb:10:in `block in fork'
	12: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:32:in `block in start'
	11: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/worker.rb:32:in `ensure in block in start'
	10: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1138:in `method_missing'
	 9: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1158:in `with_friend'
	 8: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1139:in `block in method_missing'
	 7: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1213:in `open'
	 6: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1213:in `synchronize'
	 5: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1216:in `block in open'
	 4: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1216:in `each'
	 3: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1218:in `block (2 levels) in open'
	 2: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1262:in `alive?'
	 1: from /Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1005:in `alive?'
/Users/[username]/.rvm/rubies/ruby-2.6.6/lib/ruby/2.6.0/drb/drb.rb:1005:in `wait_readable': Bad file descriptor (Errno::EBADF)
^CTraceback (most recent call last):
	4: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/minitest-5.13.0/lib/minitest.rb:68:in `block in autorun'
	3: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/minitest-5.13.0/lib/minitest.rb:145:in `run'
	2: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization.rb:46:in `shutdown'
	1: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/server.rb:62:in `shutdown'
/Users/[username]/.rvm/gems/ruby-2.6.6/gems/activesupport-6.1.4.1/lib/active_support/testing/parallelization/server.rb:62:in `sleep': Interrupt

^CTraceback (most recent call last):
	12: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/minitest-5.13.0/lib/minitest.rb:64:in `block (2 levels) in autorun'
	11: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/minitest-5.13.0/lib/minitest.rb:64:in `reverse_each'
	10: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/simplecov-0.21.2/lib/minitest/simplecov_plugin.rb:11:in `block in plugin_simplecov_init'
	 9: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/simplecov-0.21.2/lib/simplecov.rb:179:in `at_exit_behavior'
	 8: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/simplecov-0.21.2/lib/simplecov.rb:189:in `run_exit_tasks!'
	 7: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/simplecov-0.21.2/lib/simplecov/configuration.rb:197:in `block in at_exit'
	 6: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/simplecov-0.21.2/lib/simplecov/result.rb:51:in `format!'
	 5: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/simplecov-0.21.2/lib/simplecov/formatter/multi_formatter.rb:8:in `format'
	 4: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/simplecov-0.21.2/lib/simplecov/formatter/multi_formatter.rb:8:in `map'
	 3: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/simplecov-0.21.2/lib/simplecov/formatter/multi_formatter.rb:9:in `block in format'
	 2: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/simplecov-html-0.12.3/lib/simplecov-html.rb:28:in `format'
	 1: from /Users/[username]/.rvm/gems/ruby-2.6.6/gems/simplecov-html-0.12.3/lib/simplecov-html.rb:28:in `open'
/Users/[username]/.rvm/gems/ruby-2.6.6/gems/simplecov-html-0.12.3/lib/simplecov-html.rb:28:in `initialize': Interrupt

chris-gds avatar Sep 10 '21 11:09 chris-gds

Couldn't reproduce this with current Whitehall. All the tests in test/functional/* now seem to work fine when run in this way. Please feel free to reopen if I've missed something or if it still doesn't work for you.

In case it's useful, here's my (unsuccessful) attempt to reproduce the issue (on my macOS 13.4.1 x86_64 laptop):

rbenv install
bundle install
brew services start mysql
brew services start redis
export TEST_DATABASE_URL=mysql2://localhost:3306/whitehall
export DATABASE_URL=$TEST_DATABASE_URL
bundle exec rails db:reset

for f in test/functional/*.rb; do
  bundle exec ruby -I test $f
end
Example output
warning: parser/current is loading parser/ruby31, which recognizes 3.1.3-compliant syntax, but you are running 3.1.2.
Please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
Running 2 tests in a single process (parallelization threshold is 50)
Run options: --seed 17981

# Running:

..

Finished in 0.165612s, 12.0764 runs/s, 12.0764 assertions/s.
2 runs, 2 assertions, 0 failures, 0 errors, 0 skips
warning: parser/current is loading parser/ruby31, which recognizes 3.1.3-compliant syntax, but you are running 3.1.2.
Please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
Running 2 tests in a single process (parallelization threshold is 50)
Run options: --seed 61882

# Running:

..

Finished in 1.361546s, 1.4689 runs/s, 1.4689 assertions/s.
2 runs, 2 assertions, 0 failures, 0 errors, 0 skips
warning: parser/current is loading parser/ruby31, which recognizes 3.1.3-compliant syntax, but you are running 3.1.2.
Please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
Running 3 tests in a single process (parallelization threshold is 50)
Run options: --seed 25128

# Running:

...

Finished in 0.824055s, 3.6405 runs/s, 4.8540 assertions/s.
3 runs, 4 assertions, 0 failures, 0 errors, 0 skips
...

sengi avatar Jun 29 '23 19:06 sengi

Oh wait, I managed to get it happen by running the whole suite.

bundle exec rake test
warning: parser/current is loading parser/ruby31, which recognizes 3.1.3-compliant syntax, but you are running 3.1.2.
Please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
warning: parser/current is loading parser/ruby31, which recognizes 3.1.3-compliant syntax, but you are running 3.1.2.
Please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
Running 6419 tests in parallel using 6 processes
Run options: --seed 61521

# Running:

..#<Thread:0x00000001199751c0 ~/.rbenv/versions/3.1.2/lib/ruby/3.1.0/drb/drb.rb:1259 run> terminated
 with exception (report_on_exception is true):
..#<Thread:0x00000001199751c0 ~/.rbenv/versions/3.1.2/lib/ruby/3.1.0/drb/drb.rb:1259 run> terminated
 with exception (report_on_exception is true):
~/.rbenv/versions/3.1.2/lib/ruby/3.1.0/drb/drb.rb:1002:in `wait_readable': Bad file descriptor (Errn
o::EBADF)
  from ~/.rbenv/versions/3.1.2/lib/ruby/3.1.0/drb/drb.rb:1002:in `alive?'
  from ~/.rbenv/versions/3.1.2/lib/ruby/3.1.0/drb/drb.rb:1334:in `alive?'
  from ~/.rbenv/versions/3.1.2/lib/ruby/3.1.0/drb/drb.rb:1270:in `block (3 levels) in make_pool'
  from ~/.rbenv/versions/3.1.2/lib/ruby/3.1.0/drb/drb.rb:1268:in `each'
  from ~/.rbenv/versions/3.1.2/lib/ruby/3.1.0/drb/drb.rb:1268:in `block (2 levels) in make_pool'
  from ~/.rbenv/versions/3.1.2/lib/ruby/3.1.0/drb/drb.rb:1239:in `block in _execute'
  from ~/.rbenv/versions/3.1.2/lib/ruby/3.1.0/monitor.rb:202:in `synchronize'
  from ~/.rbenv/versions/3.1.2/lib/ruby/3.1.0/monitor.rb:202:in `mon_synchronize'
  from ~/.rbenv/versions/3.1.2/lib/ruby/3.1.0/drb/drb.rb:1237:in `_execute'
  from ~/.rbenv/versions/3.1.2/lib/ruby/3.1.0/drb/drb.rb:1262:in `block in make_pool'

Interestingly this doesn't seem to be happening in CI 🧐

sengi avatar Jun 29 '23 19:06 sengi