From: "Hanmac (Hans Mackowiak)" Date: 2022-05-09T12:19:10+00:00 Subject: [ruby-core:108492] [Ruby master Bug#18766] ArgumentError with no backtrace information when requiring openssl/cipher and initializing an OpenSSL::Cipher Issue #18766 has been updated by Hanmac (Hans Mackowiak). @postmodern : the problem is a missing require `openssl/cipher` is a helper script that can't run without `openssl` or it makes funky results ``` irb(main):001:0> require "openssl/cipher" => true irb(main):002:0> OpenSSL::Cipher.new('aes-256-cbc') (irb):2:in `initialize': wrong number of arguments (given 1, expected 0) (ArgumentError) from (irb):2:in `new' from (irb):2:in `
' from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/irb-1.4.1/exe/irb:11:in `' from C:/Ruby31-x64/bin/irb:33:in `load' from C:/Ruby31-x64/bin/irb:33:in `
' irb(main):003:0> OpenSSL::Cipher.new() => # irb(main):004:0> require "openssl" => true irb(main):005:0> OpenSSL::Cipher.new('aes-256-cbc') => # irb(main):006:0> c= OpenSSL::Cipher.new('aes-256-cbc') => # irb(main):007:0> c.name => "AES-256-CBC" irb(main):008:0> c= OpenSSL::Cipher.new() (irb):8:in `initialize': wrong number of arguments (given 0, expected 1) (ArgumentError) ``` you should just require `openssl` instead, because it does already require `cipher` too ---------------------------------------- Bug #18766: ArgumentError with no backtrace information when requiring openssl/cipher and initializing an OpenSSL::Cipher https://bugs.ruby-lang.org/issues/18766#change-97536 * Author: postmodern (Hal Brodigan) * Status: Open * Priority: Normal * ruby -v: ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux] * Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN ---------------------------------------- I discovered a mysterious ArgumentError when requiring 'openssl/cipher' instead of 'openssl' and initializing a OpenSSL::Cipher object. The ArgumentError does not indicate where the exception is being raised from. ## Steps To Reproduce ``` ruby -r openssl/cipher -e "p OpenSSL::Cipher.new('aes-256-cbc')" ``` ## Expected Result ``` # ``` ## Actual Result ``` Traceback (most recent call last): 2: from -e:1:in `
' 1: from -e:1:in `new' -e:1:in `initialize': wrong number of arguments (given 1, expected 0) (ArgumentError) ``` ## Effected Versions Can reproduce this bug using ruby-2.7 and ruby-3.1. -- https://bugs.ruby-lang.org/ Unsubscribe: