Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No live threads left. Deadlock? #538

Open
JakeTheSnake3p0 opened this issue Dec 24, 2017 · 1 comment
Open

No live threads left. Deadlock? #538

JakeTheSnake3p0 opened this issue Dec 24, 2017 · 1 comment

Comments

@JakeTheSnake3p0
Copy link

JakeTheSnake3p0 commented Dec 24, 2017

Expected behavior

Rails view should generate asset links without issue.

Actual behavior

The view is never generated and the browser ends up waiting for a response that never comes. Logs do not help. I only found out about the cause of the problem when running my rspec tests for simple GET requests to pages I know were working before upgrading sprockets.

Failure/Error: <%= stylesheet_link_tag :application, media: :all %>

     fatal:
       No live threads left. Deadlock?
       5 threads, 5 sleeps current:0x0000000c708aa0 main thread:0x000000018485d0
       * #<Thread:0x0000000187b7b0 sleep_forever>
          rb_thread_t:0x000000018485d0 native:0x007f24dbf7e700 int:0
          /home/ubuntu/.rvm/gems/ruby-2.4.0@sprucewood/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:43:in `sleep'
          /home/ubuntu/.rvm/gems/ruby-2.4.0@sprucewood/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:43:in `wait'
          /home/ubuntu/.rvm/gems/ruby-2.4.0@sprucewood/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:43:in `ns_wait'
          /home/ubuntu/.rvm/gems/ruby-2.4.0@sprucewood/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/abstract_lockable_object.rb:43:in `ns_wait_until'
          /home/ubuntu/.rvm/gems/ruby-2.4.0@sprucewood/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/event.rb:87:in `block in wait'
          /home/ubuntu/.rvm/gems/ruby-2.4.0@sprucewood/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `block in synchronize'
          /home/ubuntu/.rvm/gems/ruby-2.4.0@sprucewood/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize'
          /home/ubuntu/.rvm/gems/ruby-2.4.0@sprucewood/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize'
          /home/ubuntu/.rvm/gems/ruby-2.4.0@sprucewood/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/event.rb:84:in `wait'
          /home/ubuntu/.rvm/gems/ruby-2.4.0@sprucewood/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/obligation.rb:75:in `wait'
          /home/ubuntu/.rvm/gems/ruby-2.4.0@sprucewood/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/obligation.rb:87:in `wait!'
          /home/ubuntu/.rvm/gems/ruby-2.4.0@sprucewood/gems/sprockets-4.0.0.beta5/lib/sprockets/manifest.rb:130:in `each'
          /home/ubuntu/.rvm/gems/ruby-2.4.0@sprucewood/gems/sprockets-4.0.0.beta5/lib/sprockets/manifest.rb:130:in `find'

System configuration

  • Sprockets version 4.0.0.beta5 onward
  • Ruby version 2.4.0
  • Vagrant on Windows 7 x64 running Ubuntu with vagrant-winnfsd

Example App

I suppose any basic app would do, I tested beta6, beta5 and finally beta4 before the problem went away.

@wjordan
Copy link
Contributor

wjordan commented Mar 2, 2018

The fact this occurs in 4.0.0.beta5 onward makes me think this is possibly related to #469, which was merged in that version and changed some concurrency behavior. If you could provide a minimal verifiable example that reproduces this issue I can take a detailed look. Otherwise it might be harder to track down the issue but I'll see if I can reproduce any similar issue on my own.

In the meantime, setting environment.export_concurrent = false (config.assets.export_concurrent = false in Rails I think?) will disable concurrent processing as a possible workaround.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants