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
Error reached top of thread-pool: EOFError (EOFError) #1502
Error reached top of thread-pool: EOFError (EOFError) #1502
Comments
This is probably related to #1483, since we also run SSL in dev. |
If relevant, this is our puma config: workers Integer(ENV['WEB_CONCURRENCY'] || 1) # 1 worker 5 threads in dev
threads_count = Integer(ENV['MAX_THREADS'] || 5)
threads threads_count, threads_count
preload_app!
_port = ENV['PORT'] || 8080
_environment = ENV['RACK_ENV'] || 'development'
if _environment == 'development' && File.exists?('/etc/ssl/localhost.ssl.key')
ssl_bind '0.0.0.0', _port, {
key: '/etc/ssl/localhost.ssl.key',
cert: '/etc/ssl/localhost.ssl.crt',
verify_mode: 'none'
}
else
port _port
end
rackup DefaultRackup
environment _environment
on_worker_boot do
# Worker specific setup for Rails 4.1+
# See: https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server#on-worker-boot
ActiveRecord::Base.establish_connection
end
plugin :tmp_restart |
After a lot of print debugging, I believe the exception-throwing line is: https://github.com/puma/puma/blob/master/lib/puma/minissl.rb#L66 @engine.inject(data) when data is |
This is about as far as I am liable to get on my own, I fear. Help is desperately appreciated! |
Oh, in case this is related: I'm running OSX. It's possible that the issues outlined in https://blog.phusion.nl/2017/10/13/why-ruby-app-servers-break-on-macos-high-sierra-and-what-can-be-done-about-it/ matter. edit: the manual fix in the article didn't seem to do it |
another data point, |
Temporary work around for “no implicit conversion of nil into String” See puma/puma#1483 and puma/puma#1502
So I updated to 3.11.2 to fix this issue. While the issue log errors mentioned here no longer show up, I am now getting the following errors in the puma.log file with most HTTP requests (over SSL of course):
anyone have any idea what could be going on? I haven't noticed any bad user experience yet (e.g. puma crash or http request hang) Thanks, |
I have exactly the same issue and cannot track down the cause either. |
Same issue here although non disruptive. |
Also having the same problem |
I'm seeing the same issue after updating to 3.11.2 while using SSL: Puma: 3.11.2 |
Also getting this with the exact same setup and versions as @gcoderre but on Rack/Roda not Rails. |
Can we reopen this? I'm seeing it on both OS X and RHEL7 .... |
+1 Seeing same issue as @rrevi on Puma 3.11.2, Ubuntu 16.04, Ruby 2.4.3p205, Rails 5.1.4 |
hey @evanphx, but I'm still getting EOFErrors with puma server
Your change adds exception handling for The EOFError is also can be thrown by Can you fix this one as well please? |
Reopening until @tuwukee's comment is addressed. |
I'm also seeing the same error reported by tuwukee on 3.11.4
Ruby 2.5.0 |
Looks like the issue with The code version where the This change was introduce in #1728 and released in v4.0.0 (Changelog) |
Frequently for us in dev, puma hits an error in its thread pool, grinding the web server to a halt. This happens on page refreshes on our Rails app. I'm making an issue out of desperation, but I have not a lot to go on.
It appears this block catches some kind of internal error, but no backtrace is attached for us:
https://github.com/puma/puma/blob/master/lib/puma/thread_pool.rb#L121
After a few of those in the logs, we also sometimes see:
16:51:09 web.1 | Error in reactor loop escaped: undefined method
join' for nil:NilClass (NoMethodError)`Does anyone have a hunch about where this might be coming from?
System configuration
Ruby version: 2.5.0
Rails version: 5.1.4
Puma version: 3.11.0
The text was updated successfully, but these errors were encountered: