-
Notifications
You must be signed in to change notification settings - Fork 171
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::SSLContext::DEFAULT_CERT_STORE is not shareable across ractors #521
Comments
The direct cause is that OpenSSL::X509::Store doesn't have the RUBY_TYPED_FROZEN_SHAREABLE flag set. X509_STORE appears to be safe to share across threads. Actually, OpenSSL::SSL::SSLContext/SSL_CTX should also be shareable |
Is this still an issue? |
Making ruby/openssl objects shareable when frozen has turned out to be significantly more complicated than anticipated (see #803 #807 #816) and I don't expect it can be finished soon. I wonder if we can allocate a separate default store for each Ractor for now. This won't allow usage of |
A few other things needed before we can use
|
I'm working on ractor-safety in the http library I maintain, and I just got this error when performing an https request:
code looks like:
I've seen that OpenSSL::SSL::SSLContext::DEFAULT_CERT_STORE is not frozen. I'm not sure if there's a reason for it. However, even after I freeze it, it's not shareable:
The text was updated successfully, but these errors were encountered: