From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-2.1 required=3.0 tests=BAYES_00,DKIM_SIGNED, FORGED_HOTMAIL_RCVD2,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_MED,SPF_PASS,T_DKIM_INVALID, T_RP_MATCHES_RCVD shortcircuit=no autolearn=no autolearn_force=no version=3.4.0 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 306D11FA7B for ; Wed, 14 Jun 2017 01:23:22 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 5B5F6120784; Wed, 14 Jun 2017 10:23:19 +0900 (JST) Received: from o1678948x4.outbound-mail.sendgrid.net (o1678948x4.outbound-mail.sendgrid.net [167.89.48.4]) by neon.ruby-lang.org (Postfix) with ESMTPS id C26E2120783 for ; Wed, 14 Jun 2017 10:23:17 +0900 (JST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=sendgrid.me; h=from:to:references:subject:mime-version:content-type:content-transfer-encoding:list-id; s=smtpapi; bh=2jDCvBP5npV+8iMbNAG9FhEmL3k=; b=A8fPIbvTeXQd1LtyWu 9I7Rfqo3sslpDa+UbeO+beiLGi6vnUt/m1ycEicXHJV5C7BUJHBZz7Zb0+yfkFLZ 4xz0eaRP8gL4JbnkV3AyNYHLseUAL7OVAQzAOcFl66L0RH26hjrDsdpnAia0V5bn wTsRFRLjNZVB4n09/2tSoUv/A= Received: by filter0548p1mdw1.sendgrid.net with SMTP id filter0548p1mdw1-29349-59409001-43 2017-06-14 01:23:13.97940634 +0000 UTC Received: from herokuapp.com (ec2-54-166-234-96.compute-1.amazonaws.com [54.166.234.96]) by ismtpd0003p1iad1.sendgrid.net (SG) with ESMTP id QzRsV0U1QS2LVgiTTF4Y0A for ; Wed, 14 Jun 2017 01:23:13.997 +0000 (UTC) Date: Wed, 14 Jun 2017 01:23:13 +0000 From: ethan_j_brown@hotmail.com To: ruby-core@ruby-lang.org Message-ID: References: Mime-Version: 1.0 X-Redmine-MailingListIntegration-Message-Ids: 56697 X-Redmine-Project: ruby-trunk X-Redmine-Issue-Id: 11033 X-Redmine-Issue-Author: tknerr X-Redmine-Issue-Assignee: X-Redmine-Sender: Iristyle X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-SG-EID: ync6xU2WACa70kv/Ymy4QrNMhiuLXJG8OTL2vJD1yS6axMeXd84FdnuWUWaciERF7KD8ciCK6J0EDN pH1CuFKlHJKVD2DUNIOzAZcwLoQ1n/kbrpj1BFH403ne1n1ZzLqQvHfpc0JeIzEUSCDsWFihLVTBnD NJok6OdIBn31BLiSrUW3Wn+58uJjyFN3SnUUQYjuia9/uR10ad2714rxxA== X-ML-Name: ruby-core X-Mail-Count: 81670 Subject: [ruby-core:81670] [Ruby trunk Bug#11033] OpenSSL related threading issues in Ruby 2.1 and 2.2 X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" Issue #11033 has been updated by Iristyle (Ethan Brown). Also seeing this issue crop up in AppVeyor - specifically under Ruby 2.4 testing. We haven't seen this in previous Ruby builds (not that RubyInstaller changed how Ruby is built in the 2.4 installers). Such an example is at https://ci.appveyor.com/project/puppetlabs/puppet/build/4.1.0.5694/job/jkk5rbf49ou92yc8 ---------------------------------------- Bug #11033: OpenSSL related threading issues in Ruby 2.1 and 2.2 https://bugs.ruby-lang.org/issues/11033#change-65361 * Author: tknerr (Torben Knerr) * Status: Open * Priority: Normal * Assignee: openssl * Target version: * ruby -v: 2.1.5p273, 2.2.1p85 * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- I'm experiencing some problems with multiple https connections in Ruby 2.1 and 2.2, whilst in Ruby 2.0 everything is working fine. This happens on a Windows 7 (64-bit) box in the context of installing multiple gems in parallel via bundlers `BUNDLE_JOBS=` setting. What I see are multiple `OpenSSL::SSL::SSLError: SSL_read: cert already in hash table` warnings and at some more or less random point it bails out because it cannot install a gem. When I repeat the `bundle install` command it will get past that gem and fail at a later one. I can repeat until all gems are installed. This is the stacktrace I get for every of the ssl warnings: ``` ... Installing polyglot 0.3.5 4: polyglot (0.3.5) from X:/home/.gem/ruby/2.2.0/specifications/polyglot-0.3.5.gemspec OpenSSL::SSL::SSLError: SSL_read: cert already in hash table X:/tools/ruby-2.2.1/lib/ruby/2.2.0/openssl/buffering.rb:182:in `sysread_nonblock' X:/tools/ruby-2.2.1/lib/ruby/2.2.0/openssl/buffering.rb:182:in `read_nonblock' X:/tools/ruby-2.2.1/lib/ruby/2.2.0/net/protocol.rb:153:in `rbuf_fill' X:/tools/ruby-2.2.1/lib/ruby/2.2.0/net/protocol.rb:134:in `readuntil' X:/tools/ruby-2.2.1/lib/ruby/2.2.0/net/protocol.rb:144:in `readline' X:/tools/ruby-2.2.1/lib/ruby/2.2.0/net/http/response.rb:39:in `read_status_line' X:/tools/ruby-2.2.1/lib/ruby/2.2.0/net/http/response.rb:28:in `read_new' X:/tools/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:1414:in `block in transport_request' X:/tools/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:1411:in `catch' X:/tools/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:1411:in `transport_request' X:/tools/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:1384:in `request' X:/tools/ruby-2.2.1/lib/ruby/2.2.0/rubygems/request.rb:154:in `perform_request' X:/tools/ruby-2.2.1/lib/ruby/2.2.0/rubygems/request.rb:109:in `fetch' X:/tools/ruby-2.2.1/lib/ruby/2.2.0/rubygems/remote_fetcher.rb:346:in `request' X:/tools/ruby-2.2.1/lib/ruby/2.2.0/rubygems/remote_fetcher.rb:231:in `fetch_http' X:/tools/ruby-2.2.1/lib/ruby/2.2.0/rubygems/remote_fetcher.rb:247:in `fetch_http' X:/tools/ruby-2.2.1/lib/ruby/2.2.0/rubygems/remote_fetcher.rb:267:in `fetch_path' X:/tools/ruby-2.2.1/lib/ruby/2.2.0/rubygems/remote_fetcher.rb:302:in `cache_update_path' X:/tools/ruby-2.2.1/lib/ruby/2.2.0/rubygems/remote_fetcher.rb:168:in `download' X:/tools/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/bundler-1.9.2/lib/bundler/rubygems_integration.rb:544:in `download_gem' X:/tools/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/bundler-1.9.2/lib/bundler/fetcher.rb:63:in `download_gem_from_uri' X:/tools/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/bundler-1.9.2/lib/bundler/source/rubygems.rb:370:in `fetch_gem' X:/tools/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/bundler-1.9.2/lib/bundler/source/rubygems.rb:98:in `install' X:/tools/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/bundler-1.9.2/lib/bundler/installer.rb:107:in `install_gem_from_spec' X:/tools/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/bundler-1.9.2/lib/bundler/installer.rb:287:in `block in install_in_parallel' X:/tools/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/bundler-1.9.2/lib/bundler/worker.rb:55:in `call' X:/tools/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/bundler-1.9.2/lib/bundler/worker.rb:55:in `apply_func' X:/tools/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/bundler-1.9.2/lib/bundler/worker.rb:50:in `block in process_queue' X:/tools/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/bundler-1.9.2/lib/bundler/worker.rb:47:in `loop' X:/tools/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/bundler-1.9.2/lib/bundler/worker.rb:47:in `process_queue' X:/tools/ruby-2.2.1/lib/ruby/gems/2.2.0/gems/bundler-1.9.2/lib/bundler/worker.rb:22:in `block (2 levels) in initialize' ... ``` This is originally reported here (with a bit more details): https://github.com/bundler/bundler/issues/3545 Any ideas? Might it be a regression of #8386? -- https://bugs.ruby-lang.org/