-
Notifications
You must be signed in to change notification settings - Fork 182
Closed
Description
openssl/ext/openssl/ossl_pkey.c
Line 72 in c310840
| obj = rb_protect((VALUE (*)(VALUE))pkey_new0, (VALUE)pkey, &status); |
In some OpenSSL tests in Async::IO we sometimes create certificates in non-blocking fiber. Because of this, some operations will internally call Fiber#transfer. In this case, it will fail:
0.35s error: Async::Task [oid=0x12e8] [ec=0x12fc] [pid=64428] [2021-05-08 12:22:16 +1200]
| FiberError: fiber called across stack rewinding barrier
| → /Users/samuel/Documents/socketry/async/lib/async/scheduler.rb:114 in `transfer'
| /Users/samuel/Documents/socketry/async/lib/async/scheduler.rb:114 in `block'
| /Users/samuel/.gem/ruby/3.1.0/gems/async-rspec-1.16.0/lib/async/rspec/ssl.rb:118 in `initialize'
| /Users/samuel/.gem/ruby/3.1.0/gems/async-rspec-1.16.0/lib/async/rspec/ssl.rb:118 in `new'
| /Users/samuel/.gem/ruby/3.1.0/gems/async-rspec-1.16.0/lib/async/rspec/ssl.rb:118 in `block (3 levels) in <module
| /Users/samuel/.gem/ruby/3.1.0/gems/async-rspec-1.16.0/lib/async/rspec/ssl.rb:118 in `collect'
| /Users/samuel/.gem/ruby/3.1.0/gems/async-rspec-1.16.0/lib/async/rspec/ssl.rb:118 in `block (2 levels) in <module
The line in Async::RSpec that fails is here:
It seems calling OpenSSL::PKey::RSA.new(2048) in a non-blocking fiber will fail.
mephistobooks
Metadata
Metadata
Assignees
Labels
No labels