Project

General

Profile

Bug #17175

Ruby 2.5: OpenSSL related test failures

Added by jaruga (Jun Aruga) about 1 month ago. Updated 17 days ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:100024]

Description

I am facing OpenSSL test failures when building the Ruby 2.5 latest version 2.5.8 + some patches with OpenSSL 1.1.1g on Fedora 34 and 33.
AS this issue does not happen for Ruby 2.6, Ruby 2.7, and does not happen on Ruby 2.5.8 on Fedora 32.

I am assuming the following change in Fedora 33 affects this issue.

https://fedoraproject.org/wiki/Changes/StrongCryptoSettings2

We update the current system-wide crypto policy to further disable legacy cryptographic protocols (TLS 1.0 and TLS 1.1), weak Diffie-Hellman key exchange sizes (1024 bit), and use of the SHA-1 hash in signatures.

Do we need to apply the following kind of patch to Ruby's testing pem files?

https://github.com/ruby/ruby/commit/1e54903684aa3c9ea3fe54520157846a1b1f07be
https://github.com/puma/puma/commit/aac47086f1a6e38baf69159a2bc7e64b0495f080

  1) Failure:
OpenSSL::TestSSL#test_fallback_scsv [/builddir/build/BUILD/ruby-2.5.8/test/openssl/test_ssl.rb:1372]:
Expected Exception(OpenSSL::SSL::SSLError) was raised, but the message doesn't match.
Expected /inappropriate fallback/ to match "SSL_accept returned=1 errno=0 state=error: unsupported protocol".
  2) Failure:
TestOpenURISSL#test_proxy_cacert_dir [/builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:52]:
exceptions on 2 threads:
#<Thread:0x00005562d55d35a8@/builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:39 dead>:
/builddir/build/BUILD/ruby-2.5.8/test/lib/minitest/unit.rb:201:in `assert': <[]> expected but was
<["[2020-09-14 16:41:36] ERROR OpenSSL::SSL::SSLError: SSL_CTX_use_certificate: ee key too small\n" +
 "\t/builddir/build/BUILD/ruby-2.5.8/lib/webrick/server.rb:259:in `initialize'\n"]>. (MiniTest::Assertion)
    from /builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:37:in `assert'
    from /builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:300:in `assert_equal'
    from /builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:21:in `block in with_https'
    from /builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:42:in `block (2 levels) in with_https'
---
#<Thread:0x00005562d55d3490@/builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:45 dead>:
/builddir/build/BUILD/ruby-2.5.8/lib/net/protocol.rb:41:in `ssl_socket_connect': Net::OpenTimeout (Net::OpenTimeout)
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:985:in `connect'
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:920:in `do_start'
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:909:in `start'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:337:in `open_http'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:755:in `buffer_open'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:226:in `block in open_loop'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:224:in `catch'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:224:in `open_loop'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:165:in `open_uri'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:735:in `open'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:35:in `open'
    from /builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:168:in `block in test_proxy_cacert_dir'
    from /builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:136:in `block in with_https_proxy'
    from /builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:47:in `block (2 levels) in with_https'
  3) Failure:
TestOpenURISSL#test_proxy_cacert_file [/builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:52]:
exceptions on 2 threads:
#<Thread:0x00005562d02864b8@/builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:39 dead>:
/builddir/build/BUILD/ruby-2.5.8/test/lib/minitest/unit.rb:201:in `assert': <[]> expected but was
<["[2020-09-14 16:42:36] ERROR OpenSSL::SSL::SSLError: SSL_CTX_use_certificate: ee key too small\n" +
 "\t/builddir/build/BUILD/ruby-2.5.8/lib/webrick/server.rb:259:in `initialize'\n"]>. (MiniTest::Assertion)
    from /builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:37:in `assert'
    from /builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:300:in `assert_equal'
    from /builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:21:in `block in with_https'
    from /builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:42:in `block (2 levels) in with_https'
---
#<Thread:0x00005562d02863c8@/builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:45 dead>:
/builddir/build/BUILD/ruby-2.5.8/lib/net/protocol.rb:41:in `ssl_socket_connect': Net::OpenTimeout (Net::OpenTimeout)
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:985:in `connect'
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:920:in `do_start'
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:909:in `start'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:337:in `open_http'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:755:in `buffer_open'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:226:in `block in open_loop'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:224:in `catch'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:224:in `open_loop'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:165:in `open_uri'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:735:in `open'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:35:in `open'
    from /builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:152:in `block in test_proxy_cacert_file'
    from /builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:136:in `block in with_https_proxy'
    from /builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:47:in `block (2 levels) in with_https'
  4) Failure:
TestOpenURISSL#test_validation_failure [/builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:52]:
exceptions on 1 threads:
#<Thread:0x00005562d297a420@/builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:45 dead>:
/builddir/build/BUILD/ruby-2.5.8/test/lib/minitest/unit.rb:201:in `assert': [OpenSSL::SSL::SSLError] exception expected, not.
Class: <Net::OpenTimeout>
Message: <"Net::OpenTimeout">
---Backtrace---
/builddir/build/BUILD/ruby-2.5.8/lib/net/protocol.rb:41:in `ssl_socket_connect'
/builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:985:in `connect'
/builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:920:in `do_start'
/builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:909:in `start'
/builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:337:in `open_http'
/builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:755:in `buffer_open'
/builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:226:in `block in open_loop'
/builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:224:in `catch'
/builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:224:in `open_loop'
/builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:165:in `open_uri'
/builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:735:in `open'
/builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:35:in `open'
/builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:106:in `block (2 levels) in test_validation_failure'
/builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:74:in `assert_raise'
/builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:106:in `block in test_validation_failure'
/builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:47:in `block (2 levels) in with_https'
--------------- (MiniTest::Assertion)
    from /builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:37:in `assert'
    from /builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:87:in `rescue in assert_raise'
    from /builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:74:in `assert_raise'
    from /builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:106:in `block in test_validation_failure'
    from /builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:47:in `block (2 levels) in with_https'
  5) Failure:
TestOpenURISSL#test_validation_noverify [/builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:52]:
exceptions on 2 threads:
#<Thread:0x00005562d01e8bc8@/builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:39 dead>:
/builddir/build/BUILD/ruby-2.5.8/test/lib/minitest/unit.rb:201:in `assert': <[]> expected but was
<["[2020-09-14 16:44:36] ERROR OpenSSL::SSL::SSLError: SSL_CTX_use_certificate: ee key too small\n" +
 "\t/builddir/build/BUILD/ruby-2.5.8/lib/webrick/server.rb:259:in `initialize'\n"]>. (MiniTest::Assertion)
    from /builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:37:in `assert'
    from /builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:300:in `assert_equal'
    from /builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:21:in `block in with_https'
    from /builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:42:in `block (2 levels) in with_https'
---
#<Thread:0x00005562d0286490@/builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:45 dead>:
/builddir/build/BUILD/ruby-2.5.8/lib/net/protocol.rb:41:in `ssl_socket_connect': Net::OpenTimeout (Net::OpenTimeout)
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:985:in `connect'
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:920:in `do_start'
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:909:in `start'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:337:in `open_http'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:755:in `buffer_open'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:226:in `block in open_loop'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:224:in `catch'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:224:in `open_loop'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:165:in `open_uri'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:735:in `open'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:35:in `open'
    from /builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:88:in `block in test_validation_noverify'
    from /builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:47:in `block (2 levels) in with_https'
  6) Failure:
TestOpenURISSL#test_validation_success [/builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:52]:
exceptions on 2 threads:
#<Thread:0x00005562d2b42e38@/builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:39 dead>:
/builddir/build/BUILD/ruby-2.5.8/test/lib/minitest/unit.rb:201:in `assert': <[]> expected but was
<["[2020-09-14 16:45:36] ERROR OpenSSL::SSL::SSLError: SSL_CTX_use_certificate: ee key too small\n" +
 "\t/builddir/build/BUILD/ruby-2.5.8/lib/webrick/server.rb:259:in `initialize'\n"]>. (MiniTest::Assertion)
    from /builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:37:in `assert'
    from /builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:300:in `assert_equal'
    from /builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:21:in `block in with_https'
    from /builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:42:in `block (2 levels) in with_https'
---
#<Thread:0x00005562d2b42c80@/builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:45 dead>:
/builddir/build/BUILD/ruby-2.5.8/lib/net/protocol.rb:41:in `ssl_socket_connect': Net::OpenTimeout (Net::OpenTimeout)
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:985:in `connect'
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:920:in `do_start'
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:909:in `start'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:337:in `open_http'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:755:in `buffer_open'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:226:in `block in open_loop'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:224:in `catch'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:224:in `open_loop'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:165:in `open_uri'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:735:in `open'
    from /builddir/build/BUILD/ruby-2.5.8/lib/open-uri.rb:35:in `open'
    from /builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:78:in `block in test_validation_success'
    from /builddir/build/BUILD/ruby-2.5.8/test/open-uri/test_ssl.rb:47:in `block (2 levels) in with_https'
  7) Failure:
TestWEBrickHTTPProxy#test_connect [/builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:64]:
exceptions on 2 threads:
#<Thread:0x00005562d55c1e48@/builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:57 dead>:
/builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:835:in `assert_join_threads': exceptions on 1 threads:
#<Thread:0x00005562d55cb8f8@/builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:57 dead>:
/builddir/build/BUILD/ruby-2.5.8/lib/net/protocol.rb:41:in `ssl_socket_connect': Net::OpenTimeout (Net::OpenTimeout)
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:985:in `connect'
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:920:in `do_start'
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:909:in `start'
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:1458:in `request'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/test_httpproxy.rb:175:in `block (2 levels) in test_connect'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:59:in `block in start_server' (MiniTest::Assertion)
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:64:in `start_server'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:72:in `start_httpproxy'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/test_httpproxy.rb:166:in `block in test_connect'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:59:in `block in start_server'
---
#<Thread:0x00005562d55c1fd8@/builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:50 dead>:
/builddir/build/BUILD/ruby-2.5.8/test/lib/minitest/unit.rb:201:in `assert': <[]> expected but was
<["[2020-09-14 16:48:33] ERROR OpenSSL::SSL::SSLError: SSL_CTX_use_certificate: ca md too weak\n" +
 "\t/builddir/build/BUILD/ruby-2.5.8/lib/webrick/server.rb:259:in `initialize'\n"]>. (MiniTest::Assertion)
    from /builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:37:in `assert'
    from /builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:300:in `assert_equal'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:36:in `block in <module:TestWEBrick>'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:53:in `block in start_server'
  8) Failure:
TestWEBrickHTTPProxy#test_upstream_proxy [/builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:64]:
exceptions on 1 threads:
#<Thread:0x00005562d2cfe858@/builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:57 dead>:
/builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:835:in `assert_join_threads': exceptions on 1 threads:
#<Thread:0x00005562d2d8f678@/builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:57 dead>:
/builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:835:in `assert_join_threads': exceptions on 2 threads:
#<Thread:0x00005562d313eb20@/builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:57 dead>:
/builddir/build/BUILD/ruby-2.5.8/lib/net/protocol.rb:41:in `ssl_socket_connect': Net::OpenTimeout (Net::OpenTimeout)
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:985:in `connect'
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:920:in `do_start'
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:909:in `start'
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:1458:in `request'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/test_httpproxy.rb:282:in `block (3 levels) in test_upstream_proxy'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:59:in `block in start_server'
---
#<Thread:0x00005562d313f840@/builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:50 dead>:
/builddir/build/BUILD/ruby-2.5.8/test/lib/minitest/unit.rb:201:in `assert': <[]> expected but was
<["[2020-09-14 16:49:33] ERROR OpenSSL::SSL::SSLError: SSL_CTX_use_certificate: ca md too weak\n" +
 "\t/builddir/build/BUILD/ruby-2.5.8/lib/webrick/server.rb:259:in `initialize'\n"]>. (MiniTest::Assertion)
    from /builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:37:in `assert'
    from /builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:300:in `assert_equal'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:36:in `block in <module:TestWEBrick>'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:53:in `block in start_server' (MiniTest::Assertion)
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:64:in `start_server'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:68:in `start_httpserver'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/test_httpproxy.rb:271:in `block (2 levels) in test_upstream_proxy'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:59:in `block in start_server' (MiniTest::Assertion)
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:64:in `start_server'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:72:in `start_httpproxy'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/test_httpproxy.rb:214:in `block in test_upstream_proxy'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:59:in `block in start_server'
  9) Failure:
TestWEBrickHTTPS#test_sni [/builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:64]:
exceptions on 2 threads:
#<Thread:0x00005562d2ff5b60@/builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:57 dead>:
/builddir/build/BUILD/ruby-2.5.8/lib/net/protocol.rb:41:in `ssl_socket_connect': Net::OpenTimeout (Net::OpenTimeout)
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/test_https.rb:22:in `ssl_socket_connect'
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:985:in `connect'
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:920:in `do_start'
    from /builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:909:in `start'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/test_https.rb:40:in `https_get'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/test_https.rb:91:in `block in test_sni'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:59:in `block in start_server'
---
#<Thread:0x00005562d2ff6498@/builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:50 dead>:
/builddir/build/BUILD/ruby-2.5.8/test/lib/minitest/unit.rb:201:in `assert': <[]> expected but was
<["[2020-09-14 16:50:33] ERROR OpenSSL::SSL::SSLError: SSL_CTX_use_certificate: ee key too small\n" +
 "\t/builddir/build/BUILD/ruby-2.5.8/lib/webrick/server.rb:259:in `initialize'\n"]>. (MiniTest::Assertion)
    from /builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:37:in `assert'
    from /builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:300:in `assert_equal'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:36:in `block in <module:TestWEBrick>'
    from /builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:53:in `block in start_server'
 10) Error:
DRbTests::TestDRbSSLAry#test_01:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:64:in `setup'
 11) Error:
DRbTests::TestDRbSSLAry#test_02_collect:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:64:in `setup'
 12) Error:
DRbTests::TestDRbSSLAry#test_03_redo:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:64:in `setup'
 13) Error:
DRbTests::TestDRbSSLAry#test_05_break:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:64:in `setup'
 14) Error:
DRbTests::TestDRbSSLAry#test_06_next:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:64:in `setup'
 15) Error:
DRbTests::TestDRbSSLAry#test_07_break_18:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:64:in `setup'
 16) Error:
DRbTests::TestDRbSSLCore#test_00_DRbObject:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:42:in `setup'
 17) Error:
DRbTests::TestDRbSSLCore#test_01:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:42:in `setup'
 18) Error:
DRbTests::TestDRbSSLCore#test_01_02_loop:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:42:in `setup'
 19) Error:
DRbTests::TestDRbSSLCore#test_02_unknown:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:42:in `setup'
 20) Error:
DRbTests::TestDRbSSLCore#test_03:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:42:in `setup'
 21) Error:
DRbTests::TestDRbSSLCore#test_04:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:42:in `setup'
 22) Error:
DRbTests::TestDRbSSLCore#test_05_eq:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:42:in `setup'
 23) Error:
DRbTests::TestDRbSSLCore#test_06_timeout:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:42:in `setup'
 24) Error:
DRbTests::TestDRbSSLCore#test_07_private_missing:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:42:in `setup'
 25) Error:
DRbTests::TestDRbSSLCore#test_07_protected_missing:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:42:in `setup'
 26) Error:
DRbTests::TestDRbSSLCore#test_07_public_missing:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:42:in `setup'
 27) Error:
DRbTests::TestDRbSSLCore#test_07_send_missing:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:42:in `setup'
 28) Error:
DRbTests::TestDRbSSLCore#test_08_here:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:42:in `setup'
 29) Error:
DRbTests::TestDRbSSLCore#test_09_option:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:42:in `setup'
 30) Error:
DRbTests::TestDRbSSLCore#test_10_yield:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:42:in `setup'
 31) Error:
DRbTests::TestDRbSSLCore#test_10_yield_undumped:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:42:in `setup'
 32) Error:
DRbTests::TestDRbSSLCore#test_11_remote_no_method_error:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:42:in `setup'
 33) Error:
OpenSSL::TestSSL#test_add_certificate_multiple_certs:
OpenSSL::SSL::SSLError: SSL_CTX_set0_chain: ca key too small
    /builddir/build/BUILD/ruby-2.5.8/test/openssl/test_ssl.rb:118:in `add_certificate'
    /builddir/build/BUILD/ruby-2.5.8/test/openssl/test_ssl.rb:118:in `block (2 levels) in test_add_certificate_multiple_certs'
    /builddir/build/BUILD/ruby-2.5.8/test/lib/envutil.rb:199:in `suppress_warning'
    /builddir/build/BUILD/ruby-2.5.8/test/openssl/test_ssl.rb:117:in `block in test_add_certificate_multiple_certs'
    /builddir/build/BUILD/ruby-2.5.8/test/openssl/utils.rb:203:in `block in start_server'
    /builddir/build/BUILD/ruby-2.5.8/test/openssl/utils.rb:193:in `pipe'
    /builddir/build/BUILD/ruby-2.5.8/test/openssl/utils.rb:193:in `start_server'
    /builddir/build/BUILD/ruby-2.5.8/test/openssl/test_ssl.rb:121:in `test_add_certificate_multiple_certs'
 34) Error:
TestWEBrickSSLServer#test_slow_connect:
Timeout::Error: execution expired
    /builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:815:in `value'
    /builddir/build/BUILD/ruby-2.5.8/test/lib/test/unit/assertions.rb:815:in `assert_join_threads'
    /builddir/build/BUILD/ruby-2.5.8/test/webrick/utils.rb:64:in `start_server'
    /builddir/build/BUILD/ruby-2.5.8/test/webrick/test_ssl_server.rb:59:in `block in test_slow_connect'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:108:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/webrick/test_ssl_server.rb:58:in `test_slow_connect'
Finished tests in 843.241238s, 20.6797 tests/s, 2689.6087 assertions/s.
17438 tests, 2267989 assertions, 9 failures, 25 errors, 28 skips
$ find . -name "*.pem"
./test/openssl/fixtures/pkey/p256.pem
./test/openssl/fixtures/pkey/dh1024.pem
./test/openssl/fixtures/pkey/dsa512.pem
./test/openssl/fixtures/pkey/rsa1024.pem
./test/openssl/fixtures/pkey/dsa1024.pem
./test/openssl/fixtures/pkey/dsa256.pem
./test/openssl/fixtures/pkey/rsa2048.pem
./test/rubygems/data/gem-public_cert.pem
./test/rubygems/data/gem-private_key.pem
./test/rubygems/child_cert.pem
./test/rubygems/wrong_key_cert.pem
./test/rubygems/wrong_key_cert_32.pem
./test/rubygems/invalid_issuer_cert_32.pem
./test/rubygems/future_cert_32.pem
./test/rubygems/ssl_cert.pem
./test/rubygems/alternate_key.pem
./test/rubygems/client.pem
./test/rubygems/invalid_issuer_cert.pem
./test/rubygems/grandchild_cert.pem
./test/rubygems/invalidchild_key.pem
./test/rubygems/alternate_cert.pem
./test/rubygems/ssl_key.pem
./test/rubygems/invalid_client.pem
./test/rubygems/child_key.pem
./test/rubygems/public_cert_32.pem
./test/rubygems/public3072_cert.pem
./test/rubygems/expired_cert.pem
./test/rubygems/future_cert.pem
./test/rubygems/grandchild_key.pem
./test/rubygems/invalid_signer_cert.pem
./test/rubygems/invalid_key.pem
./test/rubygems/invalidchild_cert_32.pem
./test/rubygems/invalid_signer_cert_32.pem
./test/rubygems/encrypted_private_key.pem
./test/rubygems/ca_cert.pem
./test/rubygems/child_cert_32.pem
./test/rubygems/public_cert.pem
./test/rubygems/invalidchild_cert.pem
./test/rubygems/private3072_key.pem
./test/rubygems/public_key.pem
./test/rubygems/private_key.pem
./test/rubygems/grandchild_cert_32.pem
./test/rubygems/alternate_cert_32.pem
./test/net/fixtures/dhparams.pem
./test/net/fixtures/cacert.pem
./lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem
./lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem
./lib/rubygems/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem

Thanks.

Updated by jaruga (Jun Aruga) about 1 month ago

Hello MSP-Greg (Greg L)
Do you have any idea to fix it on ruby_2_5 branch?
Maybe that is same with what you did for puma last month on this commit.
https://github.com/puma/puma/commit/aac47086f1a6e38baf69159a2bc7e64b0495f080

Updated by MSP-Greg (Greg L) about 1 month ago

jaruga (Jun Aruga)

Sorry for the delay. I used to get pinged here, but it stopped a while ago. Anyway, I'm not sure what the 'policy' is, as this may be a backport of a default gem, which hasn't been common.

I'll have a look at this tomorrow (-0500)

Updated by MSP-Greg (Greg L) about 1 month ago

I suspect that the ruby/ruby commit mentioned above will help, also see the commits rhenium (Kazuki Yamaguchi) did listed in https://github.com/ruby/openssl/issues/341

Updated by jaruga (Jun Aruga) about 1 month ago

Hi Greg L,
Thanks for taking a look at this!

Sorry for the delay. I used to get pinged here, but it stopped a while ago.

It's okay. I will keep in mind to add your email as To or CC in this kind of situation for next time.

Anyway, I'm not sure what the 'policy' is, as this may be a backport of a default gem, which hasn't been common.

Possibly the 'policy' means a crypto config used from other crypto related software such as OpenSSL.
https://fedoraproject.org/wiki/Changes/CryptoPolicy#Detailed_Description

Here is the files on my host machine Fedora 32.

$ cat /etc/crypto-policies/config
# This file should contain a single keyword, the crypto policy to
# be applied by default to applications. The available policies are 
# restricted to the following profiles.
#
# * LEGACY: Ensures maximum compatibility with legacy systems (64-bit
#   security).
#
# * DEFAULT: A reasonable default for today's standards (80-bit security).
#
# * NEXT: Policy which will become DEFAULT in some upcoming release of the
#   operating system (112-bit security plus restriction of TLS to version 1.2
#   and newer).
#
# * FUTURE: A level that will provide security on a conservative level that is
#   believed to withstand any near-term future attacks (128-bit security).
#
# * FIPS: Policy that enables only FIPS 140-2 approved or allowed algorithms.
#
# After modifying this file, you need to run update-crypto-policies
# for the changes to propagate.
#
DEFAULT

$ ls /etc/crypto-policies
back-ends/  config  local.d/  policies/  state/

I suspect that the ruby/ruby commit mentioned above will help.

Maybe I agree. I already applied the above ruby/ruby commit's patch to support openssl 1.1.1 to Ruby 2.5.8, but this issue still happens.
Actually fedora 32's openssl version passing the tests is 1.1.1g too. So, the issue is not openssl 1.1.1 specific.

Fedora 32

$ cat /etc/fedora-release 
Fedora release 32 (Thirty Two)

$ rpm -q openssl-devel
openssl-devel-1.1.1g-1.fc32.x86_64

Fedora 34

$ cat /etc/fedora-release
Fedora release 34 (Rawhide)

$ rpm -q openssl-devel
openssl-devel-1.1.1g-15.fc33.x86_64

also see the commits rhenium (Kazuki Yamaguchi) did listed in https://github.com/ruby/openssl/issues/341

Thanks, it's very helpful! I will check the commit.
I heard that puma's RPM package managed in Fedora project fixed the openssl issue related to the string crypto setting, recently applying your patch I mentioned above. That's way I asked you.

Updated by jaruga (Jun Aruga) about 1 month ago

As my experiment, I tried to run the tests on the Ruby 2.5.8 by regular user after changing the crypto policy by root on Fedora 34, and all the above tests passed. There are only new 2 failures possibly coming from the weak (= legacy) crypto polices.

# cat /etc/fedora-release 
Fedora release 34 (Rawhide)

# cat /etc/crypto-policies/config
DEFAULT

# update-crypto-policies --set LEGACY
Setting system policy to LEGACY
Note: System-wide crypto policies are applied on application start-up.
It is recommended to restart the system for the change of policies
to fully take place.

# cat /etc/crypto-policies/config
LEGACY
$ make test-all
Run options: "--ruby=./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems" --excludes-dir=./test/excludes --name=!/memory_leak/

# Running tests:

[ 1424/17673] OpenSSL::TestSSL#test_sslctx_set_params = 0.01 s                                          
  1) Failure:
OpenSSL::TestSSL#test_sslctx_set_params [/builddir/build/BUILD/ruby-2.5.8/test/openssl/test_ssl.rb:429]:
weak ciphers are disabled

Leaked file descriptor: TestGemPackageTarHeader#test_from_bad_octal: 9 : #<File:/tmp/TempIO20200921-140614-1opbhgs>
Leaked file descriptor: TestGemPackageTarHeader#test_from_bad_octal: 19 : #<File:/tmp/TempIO20200921-140614-abt3tg>
Leaked file descriptor: TestGemPackageTarHeader#test_from_bad_octal: 20 : #<File:/tmp/TempIO20200921-140614-ej4qrr>
Leaked file descriptor: TestGemPackageTarHeader#test_from_bad_octal: 21 : #<File:/tmp/TempIO20200921-140614-1yj84rg>
Leaked file descriptor: TestGemPackageTarHeader#test_from_bad_octal: 22 : #<File:/tmp/TempIO20200921-140614-12y4ssq>
Leaked tempfile: TestGemPackageTarHeader#test_from_bad_octal: #<TempIO:/tmp/TempIO20200921-140614-12y4ssq>
Leaked tempfile: TestGemPackageTarHeader#test_from_bad_octal: #<TempIO:/tmp/TempIO20200921-140614-1opbhgs>
Leaked tempfile: TestGemPackageTarHeader#test_from_bad_octal: #<TempIO:/tmp/TempIO20200921-140614-1yj84rg>
Leaked tempfile: TestGemPackageTarHeader#test_from_bad_octal: #<TempIO:/tmp/TempIO20200921-140614-abt3tg>
Leaked tempfile: TestGemPackageTarHeader#test_from_bad_octal: #<TempIO:/tmp/TempIO20200921-140614-ej4qrr>
Closed file descriptor: TestGemPackageTarHeader#test_initialize_bad: 9
Closed file descriptor: TestGemPackageTarHeader#test_initialize_bad: 19
Closed file descriptor: TestGemPackageTarHeader#test_initialize_bad: 20
Closed file descriptor: TestGemPackageTarHeader#test_initialize_bad: 21
Closed file descriptor: TestGemPackageTarHeader#test_initialize_bad: 22
[ 7341/17673] TestGemRemoteFetcher#test_do_not_allow_invalid_client_cert_auth_connection = 0.17 s       
  2) Failure:
TestGemRemoteFetcher#test_do_not_allow_invalid_client_cert_auth_connection [/builddir/build/BUILD/ruby-2.5.8/test/rubygems/test_gem_remote_fetcher.rb:845]:
[Gem::RemoteFetcher::FetchError] exception expected, not
Class: <OpenSSL::SSL::SSLError>
Message: <"SSL_read: tlsv1 alert unknown ca">
---Backtrace---
/builddir/build/BUILD/ruby-2.5.8/.ext/common/openssl/buffering.rb:182:in `sysread_nonblock'
/builddir/build/BUILD/ruby-2.5.8/.ext/common/openssl/buffering.rb:182:in `read_nonblock'
/builddir/build/BUILD/ruby-2.5.8/lib/net/protocol.rb:175:in `rbuf_fill'
/builddir/build/BUILD/ruby-2.5.8/lib/net/protocol.rb:157:in `readuntil'
/builddir/build/BUILD/ruby-2.5.8/lib/net/protocol.rb:167:in `readline'
/builddir/build/BUILD/ruby-2.5.8/lib/net/http/response.rb:40:in `read_status_line'
/builddir/build/BUILD/ruby-2.5.8/lib/net/http/response.rb:29:in `read_new'
/builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:1497:in `block in transport_request'
/builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:1494:in `catch'
/builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:1494:in `transport_request'
/builddir/build/BUILD/ruby-2.5.8/lib/net/http.rb:1467:in `request'
/builddir/build/BUILD/ruby-2.5.8/lib/rubygems/request.rb:221:in `perform_request'
/builddir/build/BUILD/ruby-2.5.8/lib/rubygems/request.rb:156:in `fetch'
/builddir/build/BUILD/ruby-2.5.8/lib/rubygems/remote_fetcher.rb:368:in `request'
/builddir/build/BUILD/ruby-2.5.8/lib/rubygems/remote_fetcher.rb:251:in `fetch_http'
/builddir/build/BUILD/ruby-2.5.8/lib/rubygems/remote_fetcher.rb:292:in `fetch_path'
/builddir/build/BUILD/ruby-2.5.8/test/rubygems/test_gem_remote_fetcher.rb:846:in `block (2 levels) in test_do_not_allow_invalid_client_cert_auth_connection'
---------------

Leaked file descriptor: TestScanfIO#test_pipe_scanf: 9 : #<IO:fd 9>                                     
Leaked file descriptor: TestTempfile#test_create_traversal_dir: 9 : #<File:/tmp/..........builddirbuildBUILDruby-2.5.8foo20200921-140614-q3wane>
Closed file descriptor: TestTempfile#test_create_with_block: 9
Finished tests in 353.696475s, 49.9440 tests/s, 6417.5929 assertions/s.                                 
17665 tests, 2269880 assertions, 2 failures, 0 errors, 23 skips

As a information, openssl 2.1.2 is used on Ruby 2.5.8.

But as I can not change the crypto policy to LEGACY in the process of the Fedora's build system, and the build system is executed by regular user,
I would still like to find the patches to pass the tests with the strong security level and backport it to ruby_2_5 branch.

Updated by jaruga (Jun Aruga) about 1 month ago

As a information, openssl 2.1.2 is used on Ruby 2.5.8.

openssl 2.1.2 is used for both Ruby 2.5.8 and Ruby 2.7.1.
I see the SSL test failures in Ruby 2.5.8, but I do not see the failures in Ruby 2.6.6, Ruby 2.7.1.
Maybe we can backport some patches applied the Ruby 2.6 and Ruby 2.7 to Ruby 2.5.

Updated by jaruga (Jun Aruga) 26 days ago

Comparing ruby_2_5 branch not passing the tests with ruby_2_6 branch passing the tests, I found the differences, and if the following commits in ruby_2_6 are backported, the tests passes.

test/openssl/test_ssl.rb
https://github.com/ruby/ruby/commit/a3843824c455d0b0efcfc5af03cbcebaac090eda

test/open-uri/test_ssl.rb.
https://github.com/ruby/ruby/commit/eaddc972820d49212c495542816f9f7845e7828c

test/webrick/test_httpproxy.rb.
https://github.com/ruby/ruby/commit/a063f71a7ccc733d8ab4b997dfc3ffb1ab987afc

Could you backport the commits to ruby_2_5 branch?

And I am still seeing DRbSSL related errors after applying the patches. Do you know any idea to fix it?

  1) Error:
DRbTests::TestDRbSSLAry#test_01:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open' 
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open' 
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new' 
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:64:in `setup'
...
 23) Error:
DRbTests::TestDRbSSLCore#test_11_remote_no_method_error:
DRb::DRbConnError: execution expired
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:744:in `rescue in block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:738:in `block in open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `each'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:737:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1247:in `initialize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `new'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1227:in `open'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1140:in `block in method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1159:in `with_friend'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/drb.rb:1139:in `method_missing'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:40:in `block in service'
    /builddir/build/BUILD/ruby-2.5.8/lib/monitor.rb:235:in `mon_synchronize'
    /builddir/build/BUILD/ruby-2.5.8/lib/drb/extservm.rb:37:in `service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:31:in `block in ext_service'
    /builddir/build/BUILD/ruby-2.5.8/lib/timeout.rb:103:in `timeout'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:30:in `ext_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/drbtest.rb:73:in `setup_service'
    /builddir/build/BUILD/ruby-2.5.8/test/drb/test_drbssl.rb:42:in `setup'
Finished tests in 356.974478s, 48.8494 tests/s, 6354.4487 assertions/s.
17438 tests, 2268376 assertions, 0 failures, 23 errors, 24 skips

Updated by jaruga (Jun Aruga) 26 days ago

And I am still seeing DRbSSL related errors after applying the patches. Do you know any idea to fix it?

I found the patch to fix the DRbSSL issue on ruby_2_6 branch.

lib/drb/ssl.rb
https://github.com/ruby/ruby/commit/fb0009cfdc203247f808f4dcd72c7baf272172ce

Now every test passes on my environment. Could you backport the total 4 patches (commits) on ruby_2_6 branch to ruby_2_5 branch?

#9

Updated by jaruga (Jun Aruga) 18 days ago

  • Backport changed from 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN to 2.5: REQUIRED, 2.6: UNKNOWN, 2.7: UNKNOWN

Updated by jeremyevans0 (Jeremy Evans) 17 days ago

jaruga (Jun Aruga) wrote in #note-8:

Now every test passes on my environment. Could you backport the total 4 patches (commits) on ruby_2_6 branch to ruby_2_5 branch?

Ruby 2.5 is currently in security maintenance mode (see https://www.ruby-lang.org/en/downloads/branches/), and these do not appear to be security fixes. While the choice of whether to backport the changes is up to usa (Usaku NAKAMURA), I would be surprised if they were merged into Ruby 2.5.

Also available in: Atom PDF