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=-3.3 required=3.0 tests=AWL,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_PASS shortcircuit=no autolearn=ham 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 914A61F404 for ; Fri, 27 Apr 2018 08:45:44 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 80DFD1209A6; Fri, 27 Apr 2018 17:45:41 +0900 (JST) Received: from o1678916x28.outbound-mail.sendgrid.net (o1678916x28.outbound-mail.sendgrid.net [167.89.16.28]) by neon.ruby-lang.org (Postfix) with ESMTPS id 2D7061208AA for ; Fri, 27 Apr 2018 17:45:38 +0900 (JST) Received: by filter0006p3mdw1.sendgrid.net with SMTP id filter0006p3mdw1-1723-5AE2E32F-41 2018-04-27 08:45:35.680639997 +0000 UTC Received: from herokuapp.com (ec2-54-80-122-219.compute-1.amazonaws.com [54.80.122.219]) by ismtpd0037p1mdw1.sendgrid.net (SG) with ESMTP id 2OJwfxqEQLC2Qge5fRzb9g for ; Fri, 27 Apr 2018 08:45:35.605 +0000 (UTC) Date: Fri, 27 Apr 2018 08:45:36 +0000 (UTC) From: naruse@airemix.jp To: ruby-core@ruby-lang.org Message-ID: References: Mime-Version: 1.0 X-Redmine-MailingListIntegration-Message-Ids: 62066 X-Redmine-Project: ruby-trunk X-Redmine-Issue-Id: 14716 X-Redmine-Issue-Author: snehavas X-Redmine-Sender: naruse 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/Ymy4QrNMhiuLXJG8OTL2vJD1yS7TyOgPKTNQoeiAhEqwwEKtBrNsgh9Wcz0xUq Jr+p/BwmJZW0tX2nAWL27UI3M2767hqTCbtHGRBzhhDFx9hn3WKANljZkSQaqIBqt2uDrwsCGMWVld tVkn5j5tjyE+jnI7juVIMLAEKjsYJ18iqQxmH1wu1Pagjy5T8hcQLI9u0Q== X-ML-Name: ruby-core X-Mail-Count: 86720 Subject: [ruby-core:86720] [Ruby trunk Bug#14716][Open] SecureRandom throwing an error in Ruby 2.5.1 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 #14716 has been updated by naruse (Yui NARUSE). Status changed from Feedback to Open Backport changed from 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN to 2.3: DONTNEED, 2.4: DONTNEED, 2.5: REQUIRED r57307 changed to use __NR_getrandom (kernel header) from SYS_getrandom (glibc header). But __NR_getrandom is from v3.17. It needs to check both __NR_getrandom and SYS_getrandom for compatibility. ---------------------------------------- Bug #14716: SecureRandom throwing an error in Ruby 2.5.1 https://bugs.ruby-lang.org/issues/14716#change-71677 * Author: snehavas (sneha vasanth) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: 2.5.1 * Backport: 2.3: DONTNEED, 2.4: DONTNEED, 2.5: REQUIRED ---------------------------------------- Hi, We recently upgraded from ruby 2.3.6 to 2.5.1. We use SecureRandom.uuid to generate a random number for our session. Post the upgrade we have been getting the following error intermittently ``` app error: failed to get urandom (RuntimeError) E, [2018-04-27T04:55:08.741859 #16550] ERROR -- : /usr/lib/ruby/2.5.0/securerandom.rb:99:in `urandom' E, [2018-04-27T04:55:08.741898 #16550] ERROR -- : /usr/lib/ruby/2.5.0/securerandom.rb:99:in `gen_random_urandom' E, [2018-04-27T04:55:08.741932 #16550] ERROR -- : /usr/lib/ruby/2.5.0/securerandom.rb:129:in `random_bytes' E, [2018-04-27T04:55:08.741965 #16550] ERROR -- : /usr/lib/ruby/2.5.0/securerandom.rb:219:in `uuid' E, [2018-04-27T04:55:08.741997 #16550] ERROR -- : /usr/share/nginx/frontend/app/utilities/log.rb:74:in `create_session_info' E, [2018-04-27T04:55:08.742036 #16550] ERROR -- : /usr/share/nginx/frontend/app/utilities/log.rb:11:in `context' ``` We understand that there was a change in ruby 2.5.1 where we now look at OS sources as the first point of contact to generate random numbers as opposed to OpenSSL. Any idea why this could be happening? -- https://bugs.ruby-lang.org/