Project

General

Profile

Actions

Bug #14725

closed

fatal: No live threads left. Deadlock? since Revision 63215

Added by yahonda (Yasuo Honda) almost 6 years ago. Updated about 5 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.6.0dev (2018-04-30 trunk 63306) [x86_64-linux]
[ruby-core:86781]

Description

Steps to reproduce

$ sudo gem install bundler
$ git clone https://github.com/rails/rails.git
$ cd rails/railties
$ bundle install
$ bundle exec ruby -w -Itest test/application/asset_debugging_test.rb -n test_assets_are_concatenated_when_debug_is_off_and_compile_is_off_either_if_debug_assets_param_is_provided

Expected behavior

It should pass as Ruby 2.5.1.

Actual result

It always gets an error as below:

$ bundle exec ruby -w -Itest test/application/asset_debugging_test.rb -n test_assets_are_concatenated_when_debug_is_off_and_compile_is_off_either_if_debug_assets_param_is_provided
Run options: -n test_assets_are_concatenated_when_debug_is_off_and_compile_is_off_either_if_debug_assets_param_is_provided --seed 35038

# Running:

E

Error:
ApplicationTests::AssetDebuggingTest#test_assets_are_concatenated_when_debug_is_off_and_compile_is_off_either_if_debug_assets_param_is_provided:
RuntimeError: rails command failed (1): bin/rails assets:precompile --trace 2>&1
** Invoke assets:precompile (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
** Invoke yarn:install (first_time)
** Execute yarn:install
Yarn executable was not detected in the system.
Download Yarn at https://yarnpkg.com/en/docs/install
** Execute assets:precompile
I, [2018-04-30T22:23:46.352551 #18362]  INFO -- : Writing /tmp/d20180430-18359-1cn5tko/app/public/assets/application-59ffc7a8b7f622633c59a088fd477aea723ce45d1f0533edb17f837cfea10dd5.js
I, [2018-04-30T22:23:46.353587 #18362]  INFO -- : Writing /tmp/d20180430-18359-1cn5tko/app/public/assets/application-59ffc7a8b7f622633c59a088fd477aea723ce45d1f0533edb17f837cfea10dd5.js.gz
I, [2018-04-30T22:23:46.359510 #18362]  INFO -- : Writing /tmp/d20180430-18359-1cn5tko/app/public/assets/application-f0d704deea029cf000697e2c0181ec173a1b474645466ed843eb5ee7bb215794.css
I, [2018-04-30T22:23:46.359733 #18362]  INFO -- : Writing /tmp/d20180430-18359-1cn5tko/app/public/assets/application-f0d704deea029cf000697e2c0181ec173a1b474645466ed843eb5ee7bb215794.css.gz
rails aborted!
fatal: No live threads left. Deadlock?
5 threads, 5 sleeps current:0x000055f8f8565d50 main thread:0x000055f8f8565d50
* #<Thread:0x000055f8f8087f40@/usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest/parallel.rb:28 sleep_forever>
   rb_thread_t:0x000055f8f8565d50 native:0x00007fc6ea4bf700 int:0
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:43:in `sleep'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:43:in `wait'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:43:in `ns_wait'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/abstract_lockable_object.rb:43:in `ns_wait_until'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/event.rb:87:in `block in wait'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `block in synchronize'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/event.rb:84:in `wait'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/obligation.rb:75:in `wait'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/obligation.rb:87:in `wait!'
   /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-3.7.1/lib/sprockets/manifest.rb:230:in `each'
   /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-3.7.1/lib/sprockets/manifest.rb:230:in `compile'
   /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/task.rb:68:in `block (3 levels) in define'
   /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-3.7.1/lib/rake/sprocketstask.rb:147:in `with_logger'
   /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/task.rb:67:in `block (2 levels) in define'
   /usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/task.rb:251:in `block in execute'
   /usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/task.rb:251:in `each'
   /usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/task.rb:251:in `execute'
   /usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/task.rb:195:in `block in invoke_with_call_chain'
   /usr/local/lib/ruby/2.6.0/monitor.rb:226:in `mon_synchronize'
   /usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/task.rb:188:in `invoke_with_call_chain'
   /usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/task.rb:181:in `invoke'
   /usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/application.rb:160:in `invoke_task'
   /usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/application.rb:116:in `block (2 levels) in top_level'
   /usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/application.rb:116:in `each'
   /usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/application.rb:116:in `block in top_level'
   /usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/application.rb:125:in `run_with_threads'
   /usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/application.rb:110:in `top_level'
   /home/yahonda/git/rails/railties/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'
   /usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/application.rb:186:in `standard_exception_handling'
   /home/yahonda/git/rails/railties/lib/rails/commands/rake/rake_command.rb:20:in `perform'
   /home/yahonda/git/rails/railties/lib/rails/command.rb:48:in `invoke'
   /home/yahonda/git/rails/railties/lib/rails/commands.rb:18:in `<top (required)>'
   /tmp/d20180430-18359-1cn5tko/app/bin/rails:4:in `require'
   /tmp/d20180430-18359-1cn5tko/app/bin/rails:4:in `<top (required)>'
   /home/yahonda/git/rails/railties/test/isolation/abstract_unit.rb:317:in `load'
   /home/yahonda/git/rails/railties/test/isolation/abstract_unit.rb:317:in `block in rails'
   /home/yahonda/git/rails/railties/test/isolation/abstract_unit.rb:291:in `fork'
   /home/yahonda/git/rails/railties/test/isolation/abstract_unit.rb:291:in `rails'
   test/application/asset_debugging_test.rb:39:in `block in <class:AssetDebuggingTest>'
   /usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest/test.rb:98:in `block (3 levels) in run'
   /usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest/test.rb:195:in `capture_exceptions'
   /usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest/test.rb:95:in `block (2 levels) in run'
   /usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest.rb:265:in `time_it'
   /usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest/test.rb:94:in `block in run'
   /usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest.rb:360:in `on_signal'
   /usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest/test.rb:211:in `with_info_handler'
   /usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest/test.rb:93:in `run'
   /home/yahonda/git/rails/activesupport/lib/active_support/testing/isolation.rb:20:in `block in run'
   /home/yahonda/git/rails/activesupport/lib/active_support/testing/isolation.rb:34:in `block in run_in_isolation'
   /home/yahonda/git/rails/activesupport/lib/active_support/testing/isolation.rb:32:in `fork'
   /home/yahonda/git/rails/activesupport/lib/active_support/testing/isolation.rb:32:in `run_in_isolation'
   /home/yahonda/git/rails/activesupport/lib/active_support/testing/isolation.rb:19:in `run'
   /usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest.rb:960:in `run_one_method'
   /usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest/parallel.rb:33:in `block (2 levels) in start'
* #<Thread:0x00007fc6e6364160@/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:317 sleep_forever>
   rb_thread_t:0x00007fc6e673a6d0 native:0x00007fc6ea2bd700 int:0
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:322:in `pop'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:322:in `block (3 levels) in create_worker'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `loop'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `block (2 levels) in create_worker'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `catch'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `block in create_worker'
* #<Thread:0x00007fc6e61df3a8@/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:317 sleep_forever>
   rb_thread_t:0x00007fc6e62f2ee0 native:0x00007fc6ef91e700 int:0
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:43:in `sleep'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:43:in `wait'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:43:in `ns_wait'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/abstract_lockable_object.rb:43:in `ns_wait_until'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/event.rb:87:in `block in wait'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `block in synchronize'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/event.rb:84:in `wait'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/obligation.rb:75:in `wait'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/obligation.rb:87:in `wait!'
   /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-3.7.1/lib/sprockets/manifest.rb:223:in `block (2 levels) in compile'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/safe_task_executor.rb:24:in `block in execute'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `block in synchronize'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/safe_task_executor.rb:19:in `execute'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/ivar.rb:170:in `safe_execute'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/future.rb:52:in `block in execute'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:348:in `run_task'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:337:in `block (3 levels) in create_worker'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `loop'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `block (2 levels) in create_worker'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `catch'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `block in create_worker'
* #<Thread:0x00007fc6e5ed8d80@/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:317 sleep_forever>
   rb_thread_t:0x00007fc6e61cf300 native:0x00007fc6e91b3700 int:0
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:322:in `pop'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:322:in `block (3 levels) in create_worker'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `loop'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `block (2 levels) in create_worker'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `catch'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `block in create_worker'
* #<Thread:0x00007fc6e5ebfc68@/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:317 sleep_forever>
   rb_thread_t:0x00007fc6e6727ac0 native:0x00007fc6e90b2700 int:0
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:43:in `sleep'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:43:in `wait'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:43:in `ns_wait'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/abstract_lockable_object.rb:43:in `ns_wait_until'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/event.rb:87:in `block in wait'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `block in synchronize'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/event.rb:84:in `wait'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/obligation.rb:75:in `wait'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/obligation.rb:87:in `wait!'
   /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-3.7.1/lib/sprockets/manifest.rb:223:in `block (2 levels) in compile'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/safe_task_executor.rb:24:in `block in execute'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `block in synchronize'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/safe_task_executor.rb:19:in `execute'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/ivar.rb:170:in `safe_execute'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/future.rb:52:in `block in execute'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:348:in `run_task'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:337:in `block (3 levels) in create_worker'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `loop'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `block (2 levels) in create_worker'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `catch'
   /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `block in create_worker'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:43:in `sleep'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:43:in `wait'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:43:in `ns_wait'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/abstract_lockable_object.rb:43:in `ns_wait_until'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/event.rb:87:in `block in wait'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `block in synchronize'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/event.rb:84:in `wait'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/obligation.rb:75:in `wait'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/obligation.rb:87:in `wait!'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-3.7.1/lib/sprockets/manifest.rb:230:in `each'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-3.7.1/lib/sprockets/manifest.rb:230:in `compile'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/task.rb:68:in `block (3 levels) in define'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-3.7.1/lib/rake/sprocketstask.rb:147:in `with_logger'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/task.rb:67:in `block (2 levels) in define'
/usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/task.rb:251:in `block in execute'
/usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/task.rb:251:in `each'
/usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/task.rb:251:in `execute'
/usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/task.rb:195:in `block in invoke_with_call_chain'
/usr/local/lib/ruby/2.6.0/monitor.rb:226:in `mon_synchronize'
/usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/task.rb:188:in `invoke_with_call_chain'
/usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/task.rb:181:in `invoke'
/usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/application.rb:160:in `invoke_task'
/usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/application.rb:116:in `each'
/usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/application.rb:116:in `block in top_level'
/usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/application.rb:125:in `run_with_threads'
/usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/application.rb:110:in `top_level'
/home/yahonda/git/rails/railties/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'
/usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.0/lib/rake/application.rb:186:in `standard_exception_handling'
/home/yahonda/git/rails/railties/lib/rails/commands/rake/rake_command.rb:20:in `perform'
/home/yahonda/git/rails/railties/lib/rails/command.rb:48:in `invoke'
/home/yahonda/git/rails/railties/lib/rails/commands.rb:18:in `<top (required)>'
/tmp/d20180430-18359-1cn5tko/app/bin/rails:4:in `require'
/tmp/d20180430-18359-1cn5tko/app/bin/rails:4:in `<top (required)>'
/home/yahonda/git/rails/railties/test/isolation/abstract_unit.rb:317:in `load'
/home/yahonda/git/rails/railties/test/isolation/abstract_unit.rb:317:in `block in rails'
/home/yahonda/git/rails/railties/test/isolation/abstract_unit.rb:291:in `fork'
/home/yahonda/git/rails/railties/test/isolation/abstract_unit.rb:291:in `rails'
test/application/asset_debugging_test.rb:39:in `block in <class:AssetDebuggingTest>'
/usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest/test.rb:98:in `block (3 levels) in run'
/usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest/test.rb:195:in `capture_exceptions'
/usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest/test.rb:95:in `block (2 levels) in run'
/usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest.rb:265:in `time_it'
/usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest/test.rb:94:in `block in run'
/usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest.rb:360:in `on_signal'
/usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest/test.rb:211:in `with_info_handler'
/usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest/test.rb:93:in `run'
/home/yahonda/git/rails/activesupport/lib/active_support/testing/isolation.rb:20:in `block in run'
/home/yahonda/git/rails/activesupport/lib/active_support/testing/isolation.rb:34:in `block in run_in_isolation'
/home/yahonda/git/rails/activesupport/lib/active_support/testing/isolation.rb:32:in `fork'
/home/yahonda/git/rails/activesupport/lib/active_support/testing/isolation.rb:32:in `run_in_isolation'
/home/yahonda/git/rails/activesupport/lib/active_support/testing/isolation.rb:19:in `run'
/usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest.rb:960:in `run_one_method'
/usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest/parallel.rb:33:in `block (2 levels) in start'
Tasks: TOP => assets:precompile

    testapplication/asset_debugging_test.rb:39:in `block in <class:AssetDebuggingTest>'


bin/rails test test/application/asset_debugging_test.rb:36



Finished in 7.539373s, 0.1326 runs/s, 0.0000 assertions/s.
1 runs, 0 assertions, 0 failures, 1 errors, 0 skips
$

Additional information

This issue has been opened to Rails https://github.com/rails/rails/issues/32760
According to git bisect r63215 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?revision=63215&view=revision triggers this error.

Updated by normalperson (Eric Wong) almost 6 years ago

Investigating...

Actions #2

Updated by normalperson (Eric Wong) almost 6 years ago

  • Status changed from Open to Closed

Applied in changeset trunk|r63309.


thread_sync.c (condvar_ptr): reset fork_gen after forking

Otherwise the condition variable waiter list will always
be empty, which is wrong :x

[Bug #14725] [Bug #14634]

Updated by normalperson (Eric Wong) almost 6 years ago

wrote:

fatal: No live threads left. Deadlock?
5 threads, 5 sleeps current:0x000055f8f8565d50 main thread:0x000055f8f8565d50

  • #<Thread:0x000055f8f8087f40@/usr/local/lib/ruby/gems/2.6.0/gems/minitest-5.11.3/lib/minitest/parallel.rb:28 sleep_forever>
    rb_thread_t:0x000055f8f8565d50 native:0x00007fc6ea4bf700 int:0
    /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:43:in sleep' /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:43:in wait'
    /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:43:in ns_wait' /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/abstract_lockable_object.rb:43:in ns_wait_until'
    /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/event.rb:87:in block in wait' /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in block in synchronize'
    /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in synchronize' /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in synchronize'
    /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/event.rb:84:in wait' /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/obligation.rb:75:in wait'
    /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/obligation.rb:87:in `wait!'

It looks like condvar fix for r63309 (and r63310 for test) will work.
(Sorry, didn't test with rails, ENOSPC)

Updated by yahonda (Yasuo Honda) almost 6 years ago

Thanks for the update. I have confirmed this error does not reproduce with revision 63314.

$ ruby -v
ruby 2.6.0dev (2018-05-01 trunk 63314) [x86_64-linux]
$ bundle exec ruby -w -Itest test/application/asset_debugging_test.rb -n test_assets_are_concatenated_when_debug_is_off_and_compile_is_off_either_if_debug_assets_param_is_provided
Run options: -n test_assets_are_concatenated_when_debug_is_off_and_compile_is_off_either_if_debug_assets_param_is_provided --seed 19317

# Running:

.

Finished in 8.251301s, 0.1212 runs/s, 0.4848 assertions/s.
1 runs, 4 assertions, 0 failures, 0 errors, 0 skips
$

Updated by k0kubun (Takashi Kokubun) about 5 years ago

  • Backport changed from 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN to 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: REQUIRED

r63215 is backported to ruby_2_5 in r66912 but its bug fix r63309 is not backported to ruby_2_5 yet. I confirmed that https://github.com/sorah/repro254stuck stucks with ruby_2_5 branch (r67242) and it's fixed by cherry-picking r63309.
@nagachika (Tomoyuki Chikanaga) Could you backport r63309 to ruby_2_5 branch?

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0