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

OpenSSL::SSL::SSLErrorWaitReadable with TLS 1.3 #305

Open
jpsikorra opened this issue May 21, 2024 · 8 comments
Open

OpenSSL::SSL::SSLErrorWaitReadable with TLS 1.3 #305

jpsikorra opened this issue May 21, 2024 · 8 comments

Comments

@jpsikorra
Copy link
Contributor

jpsikorra commented May 21, 2024

Starting in April we started seeing lots of "read would block" and OpenSSL::SSL::SSLErrorWaitReadable errors in our Sentry instance. The errors occur only with TLS 1.3 and not with TLS 1.2. This issue is hard to debug for us and we could not write a script to reproduce this error. The issue occurs for multiple different endpoints from different systems of different companies that we send HTTPS requests to, so it is definitely on our side.

We are using JRuby 9.3.14.0 and Java 11.0.22+0. The error seems to occur on JRuby 9.3.13.0, too.

@kares
Copy link
Member

kares commented May 26, 2024

what kind of libraries are using the SSL stack or is it application code directly? any more details such as a trace?

@jpsikorra
Copy link
Contributor Author

jpsikorra commented May 27, 2024

We are using HTTParty. There is no trace on the exception.

@kares
Copy link
Member

kares commented May 27, 2024

If you can please update to jruby-openssl 0.14.6 and try setting:
JRUBY_OPTS="-J-Djruby.openssl.ssl.error_wait_nonblock.backtrace=true"
... so that the WaitReadable errors end up having backtraces.
(it's just a Java system property so if you do not use standalone JRuby, set it appropriately)

@jpsikorra
Copy link
Contributor Author

jpsikorra commented May 28, 2024

How should we update to jruby-openssl 0.14.6? Wait for a new jruby 9.3 release?

@kares
Copy link
Member

kares commented May 30, 2024

are you using Bundler? if so just declare the gem with a version requirement

@jpsikorra
Copy link
Contributor Author

The error still occurs with 0.15.0, the stacktrace is not really helpful, it looks like this

OpenSSL::SSL::SSLErrorWaitReadable: read would block
  from net/http.rb:1546:in `transport_request'
  from net/http.rb:1490:in `request'
  ...

@kares
Copy link
Member

kares commented Aug 13, 2024

JRUBY_OPTS="-J-Djruby.openssl.ssl.error_wait_nonblock.backtrace=true"

@jpsikorra
Copy link
Contributor Author

The above backtrace had the flag -J-Djruby.openssl.ssl.error_wait_nonblock.backtrace=true enabled.

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