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

Opaque SystemCallError in Conjunction with Puma::ConnectionError: Socket timeout writing data #4856

Closed
aryeh-looker opened this issue Nov 16, 2017 · 2 comments

Comments

@aryeh-looker
Copy link
Contributor

aryeh-looker commented Nov 16, 2017

Thanks you kindly for taking the time to consider this issue. Originally I opened this issue in the Puma repository and am opening here upon suggestion from @nateberkopec (puma/puma#1460).

Expected Behavior

Some useful message about why a socket is non-writable or data are successfully written to the socket.

Actual Behavior

An opaque SystemCallError: Unknown error is raised.

Other details

Here is a stack trace. We are attempting to stream some data to a client over HTTP.

SystemCallError is raised

SystemCallError: Unknown error (SystemCallError) - No message available
  from org/jruby/RubyIO.java:1440:in `write'
  from org/jruby/RubyIO.java:1411:in `write'
  from /bundler/gems/puma-aae7c7a5342a/lib/puma/minissl.rb:65:in `write'
  from /bundler/gems/puma-aae7c7a5342a/lib/puma/server.rb:852:in `fast_write'
  from /bundler/gems/puma-aae7c7a5342a/lib/puma/server.rb:671:in `block in handle_request'
  from /gems/rack-1.5.4/lib/rack/deflater.rb:88:in `write'
  from org/jruby/ext/zlib/JZlibRubyGzipWriter.java:374:in `write'
  from /gems/rack-1.5.4/lib/rack/deflater.rb:78:in `block in each'
  from /gems/sinatra-1.4.3/lib/sinatra/base.rb:405:in `block in <<'
  from /gems/sinatra-1.4.3/lib/sinatra/base.rb:378:in `schedule'
  from /gems/sinatra-1.4.3/lib/sinatra/base.rb:405:in `<<'
... application code here

Puma::ConnectionError: Socket timeout writing data
  from /bundler/gems/puma-aae7c7a5342a/lib/puma/server.rb:860:in `fast_write'
  from /bundler/gems/puma-aae7c7a5342a/lib/puma/server.rb:671:in `block in handle_request'
  from /gems/rack-1.5.4/lib/rack/deflater.rb:88:in `write'
  from org/jruby/ext/zlib/JZlibRubyGzipWriter.java:374:in `write'
  from /gems/rack-1.5.4/lib/rack/deflater.rb:78:in `block in each'
  from /gems/sinatra-1.4.3/lib/sinatra/base.rb:405:in `block in <<'
  from /gems/sinatra-1.4.3/lib/sinatra/base.rb:378:in `schedule'
  from /gems/sinatra-1.4.3/lib/sinatra/base.rb:405:in `<<'
... application code here

System configuration

Ruby version: JRuby 9.1.8.0
Rails version: n/a — Sinatra 1.4.3
Puma version: 2.12.3
Rack: 1.5.4
OS: Linux (apologies for the ambiguity, not known yet)

@headius
Copy link
Member

headius commented Nov 20, 2017

Ok, first thing I need you to do is try the most recent JRuby version, 9.1.14.0. The error messages related to IO failures have had some improvements over the past year, which might have fixed this error to raise something more appropriate.

@headius headius added this to the JRuby 9.1.15.0 milestone Nov 20, 2017
@headius
Copy link
Member

headius commented Dec 5, 2017

No follow-up and likely fixed; closing as invalid.

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