[#98621] Re: Function getlogin_r()'s protoype] — Bertram Scharpf <lists@...>
FYI,
3 messages
2020/06/02
[#98947] [Ruby master Feature#16986] Anonymous Struct literal — ko1@...
Issue #16986 has been reported by ko1 (Koichi Sasada).
66 messages
2020/06/26
[#98962] [Ruby master Bug#16988] Kernel.load loads file from current directory without '.' in path — misharinn@...
Issue #16988 has been reported by TheSmartnik (Nikita Misharin).
5 messages
2020/06/26
[#98969] [Ruby master Feature#16994] Sets: shorthand for frozen sets of symbols / strings — marcandre-ruby-core@...
Issue #16994 has been reported by marcandre (Marc-Andre Lafortune).
7 messages
2020/06/26
[#100117] [Ruby master Feature#16994] Sets: shorthand for frozen sets of symbols / strings
— matz@...
2020/09/25
Issue #16994 has been updated by matz (Yukihiro Matsumoto).
[ruby-core:98771] [Ruby master Bug#16958] bytes: stack level too deep (SystemStackError)
From:
mike@...
Date:
2020-06-12 21:44:27 UTC
List:
ruby-core #98771
Issue #16958 has been reported by mikwat (Michael Watts). ---------------------------------------- Bug #16958: bytes: stack level too deep (SystemStackError) https://bugs.ruby-lang.org/issues/16958 * Author: mikwat (Michael Watts) * Status: Open * Priority: Normal * ruby -v: 2.7.1 * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN ---------------------------------------- Although I can't reliably reproduce this error, it appears that `SecureRandom.base64` sometimes lands in an infinite loop. Here's the stack trace in our environment: ``` /opt/ui/vendor/ruby-2.7.1/lib/ruby/2.7.0/securerandom.rb:73:in `bytes': stack level too deep (SystemStackError) from /opt/ui/vendor/ruby-2.7.1/lib/ruby/2.7.0/securerandom.rb:260:in `gen_random' from /opt/ui/vendor/ruby-2.7.1/lib/ruby/2.7.0/securerandom.rb:73:in `bytes' from /opt/ui/vendor/ruby-2.7.1/lib/ruby/2.7.0/securerandom.rb:260:in `gen_random' from /opt/ui/vendor/ruby-2.7.1/lib/ruby/2.7.0/securerandom.rb:73:in `bytes' from /opt/ui/vendor/ruby-2.7.1/lib/ruby/2.7.0/securerandom.rb:260:in `gen_random' from /opt/ui/vendor/ruby-2.7.1/lib/ruby/2.7.0/securerandom.rb:73:in `bytes' from /opt/ui/vendor/ruby-2.7.1/lib/ruby/2.7.0/securerandom.rb:260:in `gen_random' from /opt/ui/vendor/ruby-2.7.1/lib/ruby/2.7.0/securerandom.rb:73:in `bytes' ... 10908 levels... from /opt/ui/vendor/bundle/ruby/2.7.0/gems/mongo-2.12.1/lib/mongo/server/connection_pool/populator.rb:46:in `do_work' from /opt/ui/vendor/bundle/ruby/2.7.0/gems/mongo-2.12.1/lib/mongo/background_thread.rb:101:in `block (2 levels) in start!' from /opt/ui/vendor/bundle/ruby/2.7.0/gems/mongo-2.12.1/lib/mongo/background_thread.rb:99:in `catch' from /opt/ui/vendor/bundle/ruby/2.7.0/gems/mongo-2.12.1/lib/mongo/background_thread.rb:99:in `block in start!' ``` `SecureRandom.base64` was called from the mongo gem here: https://github.com/mongodb/mongo-ruby-driver/blob/v2.12.1/lib/mongo/auth/scram/conversation.rb#L232 What I don't understand: from the stack trace it appears the definition of `gen_random` from the base module `Random::Formatter` is getting called instead of the definition from the sub module `SecureRandom`, resulting in an infinite loop. -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>