[ruby-core:114338] [Ruby master Bug#19828] Segfault when `OpenSSL::X509::Certificate#public_key=` is given a `OpenSS::PKey::DH` object

Issue #19828 has been reported by postmodern (Hal Brodigan). ---------------------------------------- Bug #19828: Segfault when `OpenSSL::X509::Certificate#public_key=` is given a `OpenSS::PKey::DH` object https://bugs.ruby-lang.org/issues/19828 * Author: postmodern (Hal Brodigan) * Status: Open * Priority: Normal * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- The OpenSSL bindings cause a SegFault when creating a new OpenSSL::X509::Certificate object and setting it's `public_key` to the `public_key` of a new `OpenSSL::PKey::DH` key-pair. ### Steps To Reproduce ```ruby #!/usr/bin/env ruby require 'openssl' cert = OpenSSL::X509::Certificate.new key = OpenSSL::PKey::DH.generate(1024) cert.public_key = key.public_key ``` ### Expected Results Sets the public key. ### Actual Results ``` test.rb:8: [BUG] Segmentation fault at 0x0000000000000010 ruby 3.3.0dev (2023-08-02T18:35:08Z master 32e828bb4a) [x86_64-linux] -- Control frame information ----------------------------------------------- c:0003 p:---- s:0014 e:000013 CFUNC :public_key= c:0002 p:0031 s:0009 E:001850 EVAL test.rb:8 [FINISH] c:0001 p:0000 s:0003 E:002540 DUMMY [FINISH] -- Ruby level backtrace information ---------------------------------------- test.rb:8:in `<main>' test.rb:8:in `public_key=' -- Threading information --------------------------------------------------- Total ractor count: 1 Ruby thread count for this ractor: 1 -- Machine register context ------------------------------------------------ RIP: 0x00007fb3144e4c24 RBP: 0x00007ffd6dbb6bb0 RSP: 0x00007ffd6dbb6b88 RAX: 0x00005599fe68ed00 RBX: 0x00005599fe68ec40 RCX: 0x00005599fe68ed00 RDX: 0x0000000000000018 RDI: 0x0000000000000000 RSI: 0x0000000000000000 R8: 0x00005599fe68ed10 R9: 0x00007fb324a59ce0 R10: 0x0000000000000040 R11: 0x0000000000000000 R12: 0x0000000000000000 R13: 0x00005599fe68ed00 R14: 0x0000000000000000 R15: 0x0000000000000001 EFL: 0x0000000000010206 -- C level backtrace information ------------------------------------------- /home/postmodern/.rubies/ruby-trunk/bin/ruby(rb_vm_bugreport+0x5c7) [0x5599fce806a7] /home/postmodern/src/ruby/vm_dump.c:772 /home/postmodern/.rubies/ruby-trunk/bin/ruby(rb_bug_for_fatal_signal+0xe8) [0x5599fcf2a4b8] /home/postmodern/src/ruby/error.c:820 /home/postmodern/.rubies/ruby-trunk/bin/ruby(sigsegv+0x4b) [0x5599fcdcdccb] /home/postmodern/src/ruby/signal.c:920 /lib64/libc.so.6(__restore_rt+0x0) [0x7fb3248c2b70] /lib64/libcrypto.so.3(BN_is_negative+0x4) [0x7fb3144e4c24] /lib64/libcrypto.so.3(0x7fb3144b8d08) [0x7fb3144b8d08] /lib64/libcrypto.so.3(0x7fb31452514a) [0x7fb31452514a] /lib64/libcrypto.so.3(X509_PUBKEY_set+0x6f) [0x7fb31464134f] /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so(ossl_x509_set_public_key+0x39) [0x7fb314ac1a29] /home/postmodern/src/ruby/ext/openssl/ossl_x509cert.c:525 /home/postmodern/.rubies/ruby-trunk/bin/ruby(vm_call_cfunc_other+0x169) [0x5599fce558b9] /home/postmodern/src/ruby/vm_insnhelper.c:3462 /home/postmodern/.rubies/ruby-trunk/bin/ruby(vm_exec_core+0x117) [0x5599fce72a37] /home/postmodern/src/ruby/vm_insnhelper.c:5534 /home/postmodern/.rubies/ruby-trunk/bin/ruby(rb_vm_exec+0x344) [0x5599fce636c4] /home/postmodern/src/ruby/vm.c:2390 /home/postmodern/.rubies/ruby-trunk/bin/ruby(rb_ec_exec_node+0xa5) [0x5599fcc77785] /home/postmodern/src/ruby/eval.c:287 /home/postmodern/.rubies/ruby-trunk/bin/ruby(ruby_run_node+0x8b) [0x5599fcc7ca5b] /home/postmodern/src/ruby/eval.c:328 /home/postmodern/.rubies/ruby-trunk/bin/ruby(main+0x62) [0x5599fcc77242] ./main.c:39 -- Other runtime information ----------------------------------------------- * Loaded script: test.rb * Loaded features: 0 enumerator.so 1 thread.rb 2 fiber.so 3 rational.so 4 complex.so 5 ruby2_keywords.rb 6 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/encdb.so 7 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/trans/transdb.so 8 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/rbconfig.rb 9 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/compatibility.rb 10 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/defaults.rb 11 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/deprecate.rb 12 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/errors.rb 13 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/unknown_command_spell_checker.rb 14 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/exceptions.rb 15 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/basic_specification.rb 16 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/stub_specification.rb 17 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/platform.rb 18 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/util/list.rb 19 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/version.rb 20 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/requirement.rb 21 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/specification.rb 22 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/util.rb 23 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/dependency.rb 24 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/core_ext/kernel_gem.rb 25 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/monitor.so 26 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/monitor.rb 27 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems.rb 28 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/bundled_gems.rb 29 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/path_support.rb 30 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/error_highlight/version.rb 31 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/error_highlight/base.rb 32 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/error_highlight/formatter.rb 33 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/error_highlight/core_ext.rb 34 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/error_highlight.rb 35 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/version.rb 36 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/core_ext/name_error.rb 37 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/levenshtein.rb 38 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/jaro_winkler.rb 39 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checker.rb 40 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb 41 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb 42 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/name_error_checkers.rb 43 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/method_name_checker.rb 44 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/key_error_checker.rb 45 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/null_checker.rb 46 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/tree_spell_checker.rb 47 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/require_path_checker.rb 48 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/pattern_key_name_checker.rb 49 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/formatter.rb 50 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean.rb 51 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/syntax_suggest/core_ext.rb 52 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/digest/version.rb 53 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/digest.so 54 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/digest/loader.rb 55 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/digest.rb 56 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so 57 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/bn.rb 58 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/marshal.rb 59 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/pkey.rb 60 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/cipher.rb 61 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/digest.rb 62 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/hmac.rb 63 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/x509.rb 64 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/buffering.rb 65 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/io/nonblock.so 66 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/socket.so 67 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/socket.rb 68 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/ipaddr.rb 69 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/ssl.rb 70 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/pkcs5.rb 71 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/version.rb 72 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl.rb * Process memory map: 5599fcc41000-5599fcc72000 r--p 00000000 00:23 554309 /home/postmodern/.rubies/ruby-trunk/bin/ruby 5599fcc72000-5599fcf6f000 r-xp 00031000 00:23 554309 /home/postmodern/.rubies/ruby-trunk/bin/ruby 5599fcf6f000-5599fd0b4000 r--p 0032e000 00:23 554309 /home/postmodern/.rubies/ruby-trunk/bin/ruby 5599fd0b4000-5599fd0bf000 r--p 00473000 00:23 554309 /home/postmodern/.rubies/ruby-trunk/bin/ruby 5599fd0bf000-5599fd0c5000 rw-p 0047e000 00:23 554309 /home/postmodern/.rubies/ruby-trunk/bin/ruby 5599fd0c5000-5599fd0d9000 rw-p 00000000 00:00 0 5599fe223000-5599fe6bd000 rw-p 00000000 00:00 0 [heap] 7fb30da00000-7fb30de3d000 r--s 00000000 00:23 1740382 /usr/lib64/libcrypto.so.3.0.9 7fb30e000000-7fb30e222000 r--s 00000000 00:23 157485 /usr/lib64/libc.so.6 7fb30e400000-7fb30ffdf000 r--s 00000000 00:23 554309 /home/postmodern/.rubies/ruby-trunk/bin/ruby 7fb310000000-7fb310021000 rw-p 00000000 00:00 0 7fb310021000-7fb314000000 ---p 00000000 00:00 0 7fb3141ff000-7fb314200000 ---p 00000000 00:00 0 7fb314200000-7fb314400000 rw-p 00000000 00:00 0 7fb314400000-7fb3144ad000 r--p 00000000 00:23 1740382 /usr/lib64/libcrypto.so.3.0.9 7fb3144ad000-7fb314711000 r-xp 000ad000 00:23 1740382 /usr/lib64/libcrypto.so.3.0.9 7fb314711000-7fb3147ca000 r--p 00311000 00:23 1740382 /usr/lib64/libcrypto.so.3.0.9 7fb3147ca000-7fb314821000 r--p 003ca000 00:23 1740382 /usr/lib64/libcrypto.so.3.0.9 7fb314821000-7fb314824000 rw-p 00421000 00:23 1740382 /usr/lib64/libcrypto.so.3.0.9 7fb314824000-7fb314827000 rw-p 00000000 00:00 0 7fb314958000-7fb31495b000 r--p 00000000 00:23 1753127 /usr/lib64/libgcc_s-13-20230728.so.1 7fb31495b000-7fb314976000 r-xp 00003000 00:23 1753127 /usr/lib64/libgcc_s-13-20230728.so.1 7fb314976000-7fb31497a000 r--p 0001e000 00:23 1753127 /usr/lib64/libgcc_s-13-20230728.so.1 7fb31497a000-7fb31497b000 r--p 00021000 00:23 1753127 /usr/lib64/libgcc_s-13-20230728.so.1 7fb31497b000-7fb31497c000 rw-p 00000000 00:00 0 7fb314990000-7fb3149a0000 rw-p 00000000 00:00 0 7fb3149a1000-7fb3149a7000 r--p 00000000 00:23 554354 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/socket.so 7fb3149a7000-7fb3149c6000 r-xp 00006000 00:23 554354 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/socket.so 7fb3149c6000-7fb3149ce000 r--p 00025000 00:23 554354 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/socket.so 7fb3149ce000-7fb3149cf000 r--p 0002c000 00:23 554354 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/socket.so 7fb3149cf000-7fb3149d0000 rw-p 0002d000 00:23 554354 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/socket.so 7fb3149d0000-7fb3149e0000 rw-p 00000000 00:00 0 7fb3149e0000-7fb3149fe000 r--p 00000000 00:23 1740384 /usr/lib64/libssl.so.3.0.9 7fb3149fe000-7fb314a5b000 r-xp 0001e000 00:23 1740384 /usr/lib64/libssl.so.3.0.9 7fb314a5b000-7fb314a75000 r--p 0007b000 00:23 1740384 /usr/lib64/libssl.so.3.0.9 7fb314a75000-7fb314a7f000 r--p 00094000 00:23 1740384 /usr/lib64/libssl.so.3.0.9 7fb314a7f000-7fb314a83000 rw-p 0009e000 00:23 1740384 /usr/lib64/libssl.so.3.0.9 7fb314a83000-7fb314a98000 r--p 00000000 00:23 554347 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so 7fb314a98000-7fb314ac9000 r-xp 00015000 00:23 554347 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so 7fb314ac9000-7fb314adb000 r--p 00046000 00:23 554347 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so 7fb314adb000-7fb314add000 r--p 00058000 00:23 554347 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so 7fb314add000-7fb314adf000 rw-p 0005a000 00:23 554347 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so 7fb314adf000-7fb314b80000 rw-p 00000000 00:00 0 7fb314b90000-7fb314c60000 rw-p 00000000 00:00 0 7fb314c60000-7fb314c61000 ---p 00000000 00:00 0 7fb314c61000-7fb314d02000 rw-p 00000000 00:00 0 7fb314d02000-7fb314d03000 ---p 00000000 00:00 0 7fb314d03000-7fb314da4000 rw-p 00000000 00:00 0 7fb314da4000-7fb314da5000 ---p 00000000 00:00 0 7fb314da5000-7fb314e46000 rw-p 00000000 00:00 0 7fb314e46000-7fb314e47000 ---p 00000000 00:00 0 7fb314e47000-7fb314ee8000 rw-p 00000000 00:00 0 7fb314ee8000-7fb314ee9000 ---p 00000000 00:00 0 7fb314ee9000-7fb314f8a000 rw-p 00000000 00:00 0 7fb314f8a000-7fb314f8b000 ---p 00000000 00:00 0 7fb314f8b000-7fb31502c000 rw-p 00000000 00:00 0 7fb31502c000-7fb31502d000 ---p 00000000 00:00 0 7fb31502d000-7fb3150ce000 rw-p 00000000 00:00 0 7fb3150ce000-7fb3150cf000 ---p 00000000 00:00 0 7fb3150cf000-7fb315170000 rw-p 00000000 00:00 0 7fb315170000-7fb315171000 ---p 00000000 00:00 0 7fb315171000-7fb315212000 rw-p 00000000 00:00 0 7fb315212000-7fb315213000 ---p 00000000 00:00 0 7fb315213000-7fb3152b4000 rw-p 00000000 00:00 0 7fb3152b4000-7fb3152b5000 ---p 00000000 00:00 0 7fb3152b5000-7fb315356000 rw-p 00000000 00:00 0 7fb315356000-7fb315357000 ---p 00000000 00:00 0 7fb315357000-7fb3153f8000 rw-p 00000000 00:00 0 7fb3153f8000-7fb3153f9000 ---p 00000000 00:00 0 7fb3153f9000-7fb31549a000 rw-p 00000000 00:00 0 7fb31549a000-7fb31549b000 ---p 00000000 00:00 0 7fb31549b000-7fb31553c000 rw-p 00000000 00:00 0 7fb31553c000-7fb31553d000 ---p 00000000 00:00 0 7fb31553d000-7fb3155de000 rw-p 00000000 00:00 0 7fb3155de000-7fb3155df000 ---p 00000000 00:00 0 7fb3155df000-7fb315680000 rw-p 00000000 00:00 0 7fb315680000-7fb315681000 ---p 00000000 00:00 0 7fb315681000-7fb315722000 rw-p 00000000 00:00 0 7fb315722000-7fb315723000 ---p 00000000 00:00 0 7fb315723000-7fb3157c4000 rw-p 00000000 00:00 0 7fb3157c4000-7fb3157c5000 ---p 00000000 00:00 0 7fb3157c5000-7fb315866000 rw-p 00000000 00:00 0 7fb315866000-7fb315867000 ---p 00000000 00:00 0 7fb315867000-7fb315908000 rw-p 00000000 00:00 0 7fb315908000-7fb315909000 ---p 00000000 00:00 0 7fb315909000-7fb3159aa000 rw-p 00000000 00:00 0 7fb3159aa000-7fb3159ab000 ---p 00000000 00:00 0 7fb3159ab000-7fb315a4c000 rw-p 00000000 00:00 0 7fb315a4c000-7fb315a4d000 ---p 00000000 00:00 0 7fb315a4d000-7fb315aee000 rw-p 00000000 00:00 0 7fb315aee000-7fb315aef000 ---p 00000000 00:00 0 7fb315aef000-7fb315b90000 rw-p 00000000 00:00 0 7fb315b90000-7fb315b91000 ---p 00000000 00:00 0 7fb315b91000-7fb315c32000 rw-p 00000000 00:00 0 7fb315c32000-7fb315c33000 ---p 00000000 00:00 0 7fb315c33000-7fb315cd4000 rw-p 00000000 00:00 0 7fb315cd4000-7fb315cd5000 ---p 00000000 00:00 0 7fb315cd5000-7fb315d76000 rw-p 00000000 00:00 0 7fb315d76000-7fb315d77000 ---p 00000000 00:00 0 7fb315d77000-7fb315e18000 rw-p 00000000 00:00 0 7fb315e18000-7fb315e19000 ---p 00000000 00:00 0 7fb315e19000-7fb315eba000 rw-p 00000000 00:00 0 7fb315eba000-7fb315ebb000 ---p 00000000 00:00 0 7fb315ebb000-7fb315f5c000 rw-p 00000000 00:00 0 7fb315f5c000-7fb315f5d000 ---p 00000000 00:00 0 7fb315f5d000-7fb315ffe000 rw-p 00000000 00:00 0 7fb315ffe000-7fb315fff000 ---p 00000000 00:00 0 7fb315fff000-7fb3160f0000 rw-p 00000000 00:00 0 7fb3160ff000-7fb317200000 rw-p 00000000 00:00 0 7fb317200000-7fb3247f9000 r--p 00000000 00:23 156716 /usr/lib/locale/locale-archive 7fb324808000-7fb32480a000 r--p 00000000 00:23 554324 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/digest.so 7fb32480a000-7fb32480c000 r-xp 00002000 00:23 554324 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/digest.so 7fb32480c000-7fb32480d000 r--p 00004000 00:23 554324 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/digest.so 7fb32480d000-7fb32480e000 r--p 00004000 00:23 554324 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/digest.so 7fb32480e000-7fb32480f000 rw-p 00005000 00:23 554324 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/digest.so 7fb32480f000-7fb324880000 rw-p 00000000 00:00 0 7fb324881000-7fb324885000 rw-p 00000000 00:00 0 7fb324885000-7fb3248ab000 r--p 00000000 00:23 157485 /usr/lib64/libc.so.6 7fb3248ab000-7fb324a08000 r-xp 00026000 00:23 157485 /usr/lib64/libc.so.6 7fb324a08000-7fb324a55000 r--p 00183000 00:23 157485 /usr/lib64/libc.so.6 7fb324a55000-7fb324a59000 r--p 001d0000 00:23 157485 /usr/lib64/libc.so.6 7fb324a59000-7fb324a5b000 rw-p 001d4000 00:23 157485 /usr/lib64/libc.so.6 7fb324a5b000-7fb324a63000 rw-p 00000000 00:00 0 7fb324a63000-7fb324a73000 r--p 00000000 00:23 157488 /usr/lib64/libm.so.6 7fb324a73000-7fb324ae8000 r-xp 00010000 00:23 157488 /usr/lib64/libm.so.6 7fb324ae8000-7fb324b42000 r--p 00085000 00:23 157488 /usr/lib64/libm.so.6 7fb324b42000-7fb324b43000 r--p 000de000 00:23 157488 /usr/lib64/libm.so.6 7fb324b43000-7fb324b44000 rw-p 000df000 00:23 157488 /usr/lib64/libm.so.6 7fb324b44000-7fb324b46000 r--p 00000000 00:23 1208073 /usr/lib64/libcrypt.so.2.0.0 7fb324b46000-7fb324b5a000 r-xp 00002000 00:23 1208073 /usr/lib64/libcrypt.so.2.0.0 7fb324b5a000-7fb324b73000 r--p 00016000 00:23 1208073 /usr/lib64/libcrypt.so.2.0.0 7fb324b73000-7fb324b74000 r--p 0002e000 00:23 1208073 /usr/lib64/libcrypt.so.2.0.0 7fb324b74000-7fb324b7d000 rw-p 00000000 00:00 0 7fb324b7d000-7fb324b8e000 r--p 00000000 00:23 32293 /usr/lib64/libgmp.so.10.4.1 7fb324b8e000-7fb324c0a000 r-xp 00011000 00:23 32293 /usr/lib64/libgmp.so.10.4.1 7fb324c0a000-7fb324c1f000 r--p 0008d000 00:23 32293 /usr/lib64/libgmp.so.10.4.1 7fb324c1f000-7fb324c21000 r--p 000a1000 00:23 32293 /usr/lib64/libgmp.so.10.4.1 7fb324c21000-7fb324c22000 rw-p 000a3000 00:23 32293 /usr/lib64/libgmp.so.10.4.1 7fb324c22000-7fb324c25000 r--p 00000000 00:23 33100 /usr/lib64/libz.so.1.2.13 7fb324c25000-7fb324c34000 r-xp 00003000 00:23 33100 /usr/lib64/libz.so.1.2.13 7fb324c34000-7fb324c3a000 r--p 00012000 00:23 33100 /usr/lib64/libz.so.1.2.13 7fb324c3a000-7fb324c3b000 r--p 00018000 00:23 33100 /usr/lib64/libz.so.1.2.13 7fb324c3b000-7fb324c3c000 rw-p 00000000 00:00 0 7fb324c3c000-7fb324c3d000 r--p 00000000 00:23 554338 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/io/nonblock.so 7fb324c3d000-7fb324c3e000 r-xp 00001000 00:23 554338 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/io/nonblock.so 7fb324c3e000-7fb324c3f000 r--p 00002000 00:23 554338 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/io/nonblock.so 7fb324c3f000-7fb324c40000 r--p 00002000 00:23 554338 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/io/nonblock.so 7fb324c40000-7fb324c41000 rw-p 00003000 00:23 554338 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/io/nonblock.so 7fb324c41000-7fb324c42000 r--p 00000000 00:23 554344 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/monitor.so 7fb324c42000-7fb324c43000 r-xp 00001000 00:23 554344 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/monitor.so 7fb324c43000-7fb324c44000 r--p 00002000 00:23 554344 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/monitor.so 7fb324c44000-7fb324c45000 r--p 00002000 00:23 554344 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/monitor.so 7fb324c45000-7fb324c46000 rw-p 00003000 00:23 554344 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/monitor.so 7fb324c46000-7fb324c47000 r--p 00000000 00:23 554361 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/trans/transdb.so 7fb324c47000-7fb324c48000 r-xp 00001000 00:23 554361 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/trans/transdb.so 7fb324c48000-7fb324c49000 r--p 00002000 00:23 554361 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/trans/transdb.so 7fb324c49000-7fb324c4a000 r--p 00002000 00:23 554361 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/trans/transdb.so 7fb324c4a000-7fb324c4b000 rw-p 00003000 00:23 554361 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/trans/transdb.so 7fb324c4b000-7fb324c4c000 r--p 00000000 00:23 554382 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/encdb.so 7fb324c4c000-7fb324c4d000 r-xp 00001000 00:23 554382 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/encdb.so 7fb324c4d000-7fb324c4e000 r--p 00002000 00:23 554382 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/encdb.so 7fb324c4e000-7fb324c4f000 r--p 00002000 00:23 554382 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/encdb.so 7fb324c4f000-7fb324c50000 rw-p 00003000 00:23 554382 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/encdb.so 7fb324c50000-7fb324c52000 rw-p 00000000 00:00 0 7fb324c52000-7fb324c53000 r--p 00000000 00:23 157482 /usr/lib64/ld-linux-x86-64.so.2 7fb324c53000-7fb324c79000 r-xp 00001000 00:23 157482 /usr/lib64/ld-linux-x86-64.so.2 7fb324c79000-7fb324c83000 r--p 00027000 00:23 157482 /usr/lib64/ld-linux-x86-64.so.2 7fb324c83000-7fb324c85000 r--p 00030000 00:23 157482 /usr/lib64/ld-linux-x86-64.so.2 7fb324c85000-7fb324c87000 rw-p 00032000 00:23 157482 /usr/lib64/ld-linux-x86-64.so.2 7ffd6d3bb000-7ffd6dbba000 rw-p 00000000 00:00 0 [stack] 7ffd6dbdf000-7ffd6dbe3000 r--p 00000000 00:00 0 [vvar] 7ffd6dbe3000-7ffd6dbe5000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0 [vsyscall] Aborted (core dumped) ``` ### Versions * ruby 3.3.0dev (2023-08-02T18:35:08Z master 32e828bb4a) [x86_64-linux] * ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux] * ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-linux] * OpenSSL 3.0.9 30 May 2023 (Library: OpenSSL 3.0.9 30 May 2023) ### GDB Backtrace ``` (gdb) bt -full #0 BN_is_negative (a=0x0) at crypto/bn/bn_lib.c:945 No locals. #1 0x00007fffe78b8d08 in bn_to_asn1_string (bn=0x0, ai=0x0, atype=<optimized out>) at crypto/asn1/a_int.c:479 ret = 0x555555e57570 len = <optimized out> __func__ = "bn_to_asn1_string" #2 0x00007fffe792514a in dh_pub_encode (pk=0x555555e580e0, pkey=0x555555e224b0) at crypto/dh/dh_ameth.c:134 dh = 0x555555e572e0 ptype = 16 penc = 0x0 penclen = <optimized out> str = 0x555555e574b0 pub_key = 0x0 __func__ = "dh_pub_encode" #3 0x00007fffe7a4134f in X509_PUBKEY_set (x=0x555555e2d440, pkey=0x555555e224b0) at crypto/x509/x_pubkey.c:332 pk = 0x555555e580e0 __func__ = "X509_PUBKEY_set" #4 0x00007fffe7e31a29 in ossl_x509_set_public_key (self=<optimized out>, key=140737082617600) at ossl_x509cert.c:525 x509 = 0x555555e2d3f0 pkey = 0x555555e224b0 #5 0x00005555557688b9 in vm_call_cfunc_with_frame_ (stack_bottom=<optimized out>, argv=<optimized out>, argc=<optimized out>, calling=<optimized out>, reg_cfp=<optimized out>, ec=<optimized out>) at /home/postmodern/src/ruby/vm_insnhelper.c:3462 ci = <optimized out> cc = <optimized out> val = <optimized out> me = <optimized out> cfunc = <optimized out> recv = <optimized out> frame_type = <optimized out> len = <optimized out> block_handler = <optimized out> ci = <optimized out> cc = <optimized out> val = <optimized out> me = <optimized out> cfunc = <optimized out> recv = <optimized out> block_handler = <optimized out> frame_type = <optimized out> len = <optimized out> args = <optimized out> flag_arg_ = <optimized out> hooks_arg_ = <optimized out> flag_arg_ = <optimized out> hooks_arg_ = <optimized out> args = <optimized out> #6 vm_call_cfunc_with_frame (calling=<optimized out>, reg_cfp=<optimized out>, ec=<optimized out>) at /home/postmodern/src/ruby/vm_insnhelper.c:3490 argc = <optimized out> stack_bottom = <optimized out> argv = <optimized out> argc = <optimized out> stack_bottom = <optimized out> argv = <optimized out> #7 vm_call_cfunc_other (ec=0x5555559f1080, reg_cfp=0x7ffff7bf1fa0, calling=<optimized out>) at /home/postmodern/src/ruby/vm_insnhelper.c:3516 ci = <optimized out> argv_ary = <optimized out> #8 0x0000555555785a37 in vm_sendish (method_explorer=<optimized out>, block_handler=<optimized out>, cd=<optimized out>, reg_cfp=<optimized out>, ec=<optimized out>) at /home/postmodern/src/ruby/vm_callinfo.h:403 val = 93824999513184 ci = 0x18 cc = <optimized out> recv = 0 argc = <optimized out> calling = {cd = 0x555555c45c60, cc = 0x7fffe7d0eed8, block_handler = 0, recv = 140737082618600, argc = 1, kw_splat = false, heap_argv = 0} val = <optimized out> ci = <optimized out> cc = <optimized out> argc = <optimized out> recv = <optimized out> calling = <optimized out> #9 vm_exec_core (ec=0x0, ec@entry=0x5555559f1080) at /home/postmodern/src/ruby/insns.def:835 bh = <optimized out> cd = 0x555555c45c60 leaf = <optimized out> val = 93824999513184 reg_pc = 0x555555b3aef8 reg_cfp = 0x7ffff7bf1fa0 insns_address_table = {0x555555788b24 <vm_exec_core+12804>, 0x55555578789f <vm_exec_core+8063>, 0x55555578783b <vm_exec_core+7963>, 0x5555557877c9 <vm_exec_core+7849>, 0x55555578775c <vm_exec_core+7740>, 0x5555557876f0 <vm_exec_core+7632>, 0x555555787624 <vm_exec_core+7428>, 0x555555787a0c <vm_exec_core+8428>, 0x555555787901 <vm_exec_core+8161>, 0x555555787958 <vm_exec_core+8248>, 0x555555787509 <vm_exec_core+7145>, 0x555555787395 <vm_exec_core+6773>, 0x555555787244 <vm_exec_core+6436>, 0x5555557871f2 <vm_exec_core+6354>, 0x5555557871a4 <vm_exec_core+6276>, 0x555555787170 <vm_exec_core+6224>, 0x555555787141 <vm_exec_core+6177>, 0x555555787115 <vm_exec_core+6133>, 0x5555557870e9 <vm_exec_core+6089>, 0x5555557870bd <vm_exec_core+6045>, 0x55555578702a <vm_exec_core+5898>, 0x555555786ff5 <vm_exec_core+5845>, 0x555555786fa6 <vm_exec_core+5766>, 0x555555786f69 <vm_exec_core+5705>, 0x555555786ef3 <vm_exec_core+5587>, 0x555555786ec5 <vm_exec_core+5541>, 0x555555786e70 <vm_exec_core+5456>, 0x555555786e02 <vm_exec_core+5346>, 0x555555786dd1 <vm_exec_core+5297>, 0x555555786da0 <vm_exec_core+5248>, 0x555555786c02 <vm_exec_core+4834>, 0x555555786ae4 <vm_exec_core+4548>, 0x555555786a93 <vm_exec_core+4467>, 0x555555786a46 <vm_exec_core+4390>, 0x555555786a05 <vm_exec_core+4325>, 0x555555786b98 <vm_exec_core+4728>, 0x555555786b66 <vm_exec_core+4678>, 0x555555786bb6 <vm_exec_core+4758>, 0x5555557869da <vm_exec_core+4282>, 0x555555786938 <vm_exec_core+4120>, 0x5555557868fa <vm_exec_core+4058>, 0x5555557868bb <vm_exec_core+3995>, 0x555555786892 <vm_exec_core+3954>, 0x55555578682d <vm_exec_core+3853>, 0x5555557867d5 <vm_exec_core+3765>, 0x55555578673a <vm_exec_core+3610>, 0x5555557866d4 <vm_exec_core+3508>, 0x555555786660 <vm_exec_core+3392>, 0x5555557865c5 <vm_exec_core+3237>, 0x555555786593 <vm_exec_core+3187>, 0x555555786556 <vm_exec_core+3126>, 0x5555557864f7 <vm_exec_core+3031>, 0x555555785980 <vm_exec_core+96>, 0x55555578645c <vm_exec_core+2876>, 0x555555786419 <vm_exec_core+2809>, 0x555555788971 <vm_exec_core+12369>, 0x5555557862ef <vm_exec_core+2511>, 0x55555578625e <vm_exec_core+2366>, 0x555555786332 <vm_exec_core+2578>, 0x555555786147 <vm_exec_core+2087>, 0x555555786091 <vm_exec_core+1905>, 0x555555787be1 <vm_exec_core+8897>, 0x55555578605a <vm_exec_core+1850>, 0x555555786004 <vm_exec_core+1764>, 0x555555787a97 <vm_exec_core+8567>, 0x555555787a64 <vm_exec_core+8516>, 0x555555787aed <vm_exec_core+8653>, 0x555555785f28 <vm_exec_core+1544>, 0x55555578890e <vm_exec_core+12270>, 0x555555788a31 <vm_exec_core+12561>, 0x555555788879 <vm_exec_core+12121>, 0x555555788a93 <vm_exec_core+12659>, 0x5555557885b4 <vm_exec_core+11412>, 0x55555578865d <vm_exec_core+11581>, 0x5555557886b3 <vm_exec_core+11667>, 0x555555788721 <vm_exec_core+11777>, 0x555555788777 <vm_exec_core+11863>, 0x5555557887cd <vm_exec_core+11949>, 0x555555788823 <vm_exec_core+12035>, 0x5555557889b8 <vm_exec_core+12440>, 0x5555557883ac <vm_exec_core+10892>, 0x5555557883f3 <vm_exec_core+10963>, 0x555555788445 <vm_exec_core+11045>, 0x5555557884a6 <vm_exec_core+11142>, 0x555555785e90 <vm_exec_core+1392>, 0x555555785e4f <vm_exec_core+1327>, 0x555555788526 <vm_exec_core+11270>, 0x55555578856d <vm_exec_core+11341>, 0x555555788277 <vm_exec_core+10583>, 0x5555557882a0 <vm_exec_core+10624>, 0x5555557882fe <vm_exec_core+10718>, 0x55555578835e <vm_exec_core+10814>, 0x555555785de8 <vm_exec_core+1224>, 0x555555785d72 <vm_exec_core+1106>, 0x555555785cc6 <vm_exec_core+934>, 0x555555785c88 <vm_exec_core+872>, 0x555555785c42 <vm_exec_core+802>, 0x555555785bfc <vm_exec_core+732>, 0x555555785bae <vm_exec_core+654>, 0x555555785b82 <vm_exec_core+610>, 0x555555785b56 <vm_exec_core+566>, 0x555555788393 <vm_exec_core+10867>, 0x555555787893 <vm_exec_core+8051>, 0x55555578782f <vm_exec_core+7951>, 0x5555557877bd <vm_exec_core+7837>, 0x555555787750 <vm_exec_core+7728>, 0x5555557876e4 <vm_exec_core+7620>, 0x555555787618 <vm_exec_core+7416>, 0x555555787a00 <vm_exec_core+8416>, 0x5555557878f5 <vm_exec_core+8149>, 0x55555578794c <vm_exec_core+8236>, 0x5555557874fd <vm_exec_core+7133>, 0x555555787389 <vm_exec_core+6761>, 0x555555787238 <vm_exec_core+6424>, 0x5555557871e6 <vm_exec_core+6342>, 0x555555787198 <vm_exec_core+6264>, 0x555555787164 <vm_exec_core+6212>, 0x555555787135 <vm_exec_core+6165>, 0x555555787109 <vm_exec_core+6121>, 0x5555557870dd <vm_exec_core+6077>, 0x5555557870b1 <vm_exec_core+6033>, 0x55555578701e <vm_exec_core+5886>, 0x555555786fe9 <vm_exec_core+5833>, 0x555555786f9a <vm_exec_core+5754>, 0x555555786f5d <vm_exec_core+5693>, 0x555555786ee7 <vm_exec_core+5575>, 0x555555786eb9 <vm_exec_core+5529>, 0x555555786e64 <vm_exec_core+5444>, 0x555555786df6 <vm_exec_core+5334>, 0x555555786dc5 <vm_exec_core+5285>, 0x555555786d94 <vm_exec_core+5236>, 0x555555786bf6 <vm_exec_core+4822>, 0x555555786ad8 <vm_exec_core+4536>, 0x555555786a87 <vm_exec_core+4455>, 0x555555786a3a <vm_exec_core+4378>, 0x5555557869f9 <vm_exec_core+4313>, 0x555555786b8c <vm_exec_core+4716>, 0x555555786b5a <vm_exec_core+4666>, 0x555555786baa <vm_exec_core+4746>, 0x5555557869ce <vm_exec_core+4270>, 0x55555578692c <vm_exec_core+4108>, 0x5555557868ee <vm_exec_core+4046>, 0x5555557868af <vm_exec_core+3983>, 0x555555786886 <vm_exec_core+3942>, 0x555555786821 <vm_exec_core+3841>, 0x5555557867c9 <vm_exec_core+3753>, 0x55555578672e <vm_exec_core+3598>, 0x5555557866c8 <vm_exec_core+3496>, 0x555555786654 <vm_exec_core+3380>, 0x5555557865b9 <vm_exec_core+3225>, 0x555555786587 <vm_exec_core+3175>, 0x55555578654a <vm_exec_core+3114>, 0x5555557864eb <vm_exec_core+3019>, 0x5555557880fa <vm_exec_core+10202>, 0x555555786450 <vm_exec_core+2864>, 0x55555578640d <vm_exec_core+2797>, 0x55555578810b <vm_exec_core+10219>, 0x5555557862e3 <vm_exec_core+2499>, 0x555555786252 <vm_exec_core+2354>, 0x555555786326 <vm_exec_core+2566>, 0x55555578613b <vm_exec_core+2075>, 0x555555786085 <vm_exec_core+1893>, 0x555555787bd5 <vm_exec_core+8885>, 0x55555578604e <vm_exec_core+1838>, 0x555555785ff8 <vm_exec_core+1752>, 0x555555787a8b <vm_exec_core+8555>, 0x555555787a58 <vm_exec_core+8504>, 0x555555787ae1 <vm_exec_core+8641>, 0x555555785f1c <vm_exec_core+1532>, 0x55555578811c <vm_exec_core+10236>, 0x55555578812d <vm_exec_core+10253>, 0x55555578813e <vm_exec_core+10270>, 0x55555578814f <vm_exec_core+10287>, 0x555555788160 <vm_exec_core+10304>, 0x555555788171 <vm_exec_core+10321>, 0x555555788182 <vm_exec_core+10338>, 0x55555578819a <vm_exec_core+10362>, 0x5555557881ab <vm_exec_core+10379>, 0x5555557881bc <vm_exec_core+10396>, 0x5555557881cd <vm_exec_core+10413>, 0x5555557881de <vm_exec_core+10430>, 0x5555557881ef <vm_exec_core+10447>, 0x555555788200 <vm_exec_core+10464>, 0x555555788211 <vm_exec_core+10481>, 0x555555788222 <vm_exec_core+10498>, 0x555555785e84 <vm_exec_core+1380>, 0x555555785e43 <vm_exec_core+1315>, 0x555555788233 <vm_exec_core+10515>, 0x555555788244 <vm_exec_core+10532>, 0x555555788255 <vm_exec_core+10549>, 0x555555788266 <vm_exec_core+10566>, 0x55555578596e <vm_exec_core+78>, 0x55555578596e <vm_exec_core+78>, 0x555555785ddc <vm_exec_core+1212>, 0x555555785d66 <vm_exec_core+1094>, 0x555555785cba <vm_exec_core+922>, 0x555555785c7c <vm_exec_core+860>, 0x555555785c36 <vm_exec_core+790>, 0x555555785bf0 <vm_exec_core+720>, 0x555555785ba2 <vm_exec_core+642>...} #10 0x00005555557766c4 in rb_vm_exec (ec=0x5555559f1080) at vm.c:2390 _ec = 0x5555559f1080 _tag = {tag = 36, retval = 4, buf = {0x7fffffffda20, 0x5555557764d0 <rb_vm_exec+336>, 0x7fffffffd8e0, 0x14da16a575657c00, 0x7ffff7a2a6f8}, prev = 0x7fffffffda60, state = RUBY_TAG_NONE, lock_rec = 0} state = <optimized out> result = <optimized out> #11 0x000055555578cc98 in rb_iseq_eval_main (iseq=<optimized out>) at vm.c:2640 ec = <optimized out> val = <optimized out> #12 0x000055555558a785 in rb_ec_exec_node (ec=ec@entry=0x5555559f1080, n=n@entry=0x7fffe7ea0aa8) at eval.c:287 th = <optimized out> _ec = <optimized out> _tag = {tag = 36, retval = 93824994127712, buf = {0x5555559f1080, 0x55555558a7da <rb_ec_exec_node+250>, 0x7fffffffda30, 0x7fffe7ea0aa8, 0x24}, prev = 0x0, state = RUBY_TAG_NONE, lock_rec = 0} state = 0 iseq = 0x7fffe7ea0aa8 #13 0x000055555558fa5b in ruby_run_node (n=0x7fffe7ea0aa8) at eval.c:328 ec = 0x5555559f1080 status = 32767 #14 0x000055555558a242 in rb_main (argv=0x7fffffffdc78, argc=2) at ./main.c:39 variable_in_this_stack_frame = 0 #15 main (argc=<optimized out>, argv=<optimized out>) at ./main.c:58 ``` -- https://bugs.ruby-lang.org/

Issue #19828 has been updated by mame (Yusuke Endoh). Assignee set to rhenium (Kazuki Yamaguchi) ---------------------------------------- Bug #19828: Segfault when `OpenSSL::X509::Certificate#public_key=` is given a `OpenSSL::PKey::DH` object https://bugs.ruby-lang.org/issues/19828#change-104520 * Author: postmodern (Hal Brodigan) * Status: Open * Priority: Normal * Assignee: rhenium (Kazuki Yamaguchi) * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- The OpenSSL bindings cause a SegFault when creating a new OpenSSL::X509::Certificate object and setting it's `public_key` to the `public_key` of a new `OpenSSL::PKey::DH` key-pair. ### Steps To Reproduce ```ruby #!/usr/bin/env ruby require 'openssl' cert = OpenSSL::X509::Certificate.new key = OpenSSL::PKey::DH.generate(1024) cert.public_key = key.public_key ``` ### Expected Results Sets the public key. ### Actual Results ``` test.rb:8: [BUG] Segmentation fault at 0x0000000000000010 ruby 3.3.0dev (2023-08-02T18:35:08Z master 32e828bb4a) [x86_64-linux] -- Control frame information ----------------------------------------------- c:0003 p:---- s:0014 e:000013 CFUNC :public_key= c:0002 p:0031 s:0009 E:001850 EVAL test.rb:8 [FINISH] c:0001 p:0000 s:0003 E:002540 DUMMY [FINISH] -- Ruby level backtrace information ---------------------------------------- test.rb:8:in `<main>' test.rb:8:in `public_key=' -- Threading information --------------------------------------------------- Total ractor count: 1 Ruby thread count for this ractor: 1 -- Machine register context ------------------------------------------------ RIP: 0x00007fb3144e4c24 RBP: 0x00007ffd6dbb6bb0 RSP: 0x00007ffd6dbb6b88 RAX: 0x00005599fe68ed00 RBX: 0x00005599fe68ec40 RCX: 0x00005599fe68ed00 RDX: 0x0000000000000018 RDI: 0x0000000000000000 RSI: 0x0000000000000000 R8: 0x00005599fe68ed10 R9: 0x00007fb324a59ce0 R10: 0x0000000000000040 R11: 0x0000000000000000 R12: 0x0000000000000000 R13: 0x00005599fe68ed00 R14: 0x0000000000000000 R15: 0x0000000000000001 EFL: 0x0000000000010206 -- C level backtrace information ------------------------------------------- /home/postmodern/.rubies/ruby-trunk/bin/ruby(rb_vm_bugreport+0x5c7) [0x5599fce806a7] /home/postmodern/src/ruby/vm_dump.c:772 /home/postmodern/.rubies/ruby-trunk/bin/ruby(rb_bug_for_fatal_signal+0xe8) [0x5599fcf2a4b8] /home/postmodern/src/ruby/error.c:820 /home/postmodern/.rubies/ruby-trunk/bin/ruby(sigsegv+0x4b) [0x5599fcdcdccb] /home/postmodern/src/ruby/signal.c:920 /lib64/libc.so.6(__restore_rt+0x0) [0x7fb3248c2b70] /lib64/libcrypto.so.3(BN_is_negative+0x4) [0x7fb3144e4c24] /lib64/libcrypto.so.3(0x7fb3144b8d08) [0x7fb3144b8d08] /lib64/libcrypto.so.3(0x7fb31452514a) [0x7fb31452514a] /lib64/libcrypto.so.3(X509_PUBKEY_set+0x6f) [0x7fb31464134f] /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so(ossl_x509_set_public_key+0x39) [0x7fb314ac1a29] /home/postmodern/src/ruby/ext/openssl/ossl_x509cert.c:525 /home/postmodern/.rubies/ruby-trunk/bin/ruby(vm_call_cfunc_other+0x169) [0x5599fce558b9] /home/postmodern/src/ruby/vm_insnhelper.c:3462 /home/postmodern/.rubies/ruby-trunk/bin/ruby(vm_exec_core+0x117) [0x5599fce72a37] /home/postmodern/src/ruby/vm_insnhelper.c:5534 /home/postmodern/.rubies/ruby-trunk/bin/ruby(rb_vm_exec+0x344) [0x5599fce636c4] /home/postmodern/src/ruby/vm.c:2390 /home/postmodern/.rubies/ruby-trunk/bin/ruby(rb_ec_exec_node+0xa5) [0x5599fcc77785] /home/postmodern/src/ruby/eval.c:287 /home/postmodern/.rubies/ruby-trunk/bin/ruby(ruby_run_node+0x8b) [0x5599fcc7ca5b] /home/postmodern/src/ruby/eval.c:328 /home/postmodern/.rubies/ruby-trunk/bin/ruby(main+0x62) [0x5599fcc77242] ./main.c:39 -- Other runtime information ----------------------------------------------- * Loaded script: test.rb * Loaded features: 0 enumerator.so 1 thread.rb 2 fiber.so 3 rational.so 4 complex.so 5 ruby2_keywords.rb 6 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/encdb.so 7 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/trans/transdb.so 8 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/rbconfig.rb 9 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/compatibility.rb 10 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/defaults.rb 11 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/deprecate.rb 12 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/errors.rb 13 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/unknown_command_spell_checker.rb 14 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/exceptions.rb 15 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/basic_specification.rb 16 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/stub_specification.rb 17 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/platform.rb 18 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/util/list.rb 19 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/version.rb 20 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/requirement.rb 21 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/specification.rb 22 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/util.rb 23 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/dependency.rb 24 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/core_ext/kernel_gem.rb 25 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/monitor.so 26 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/monitor.rb 27 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems.rb 28 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/bundled_gems.rb 29 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/path_support.rb 30 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/error_highlight/version.rb 31 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/error_highlight/base.rb 32 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/error_highlight/formatter.rb 33 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/error_highlight/core_ext.rb 34 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/error_highlight.rb 35 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/version.rb 36 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/core_ext/name_error.rb 37 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/levenshtein.rb 38 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/jaro_winkler.rb 39 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checker.rb 40 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb 41 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb 42 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/name_error_checkers.rb 43 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/method_name_checker.rb 44 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/key_error_checker.rb 45 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/null_checker.rb 46 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/tree_spell_checker.rb 47 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/require_path_checker.rb 48 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/pattern_key_name_checker.rb 49 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/formatter.rb 50 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean.rb 51 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/syntax_suggest/core_ext.rb 52 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/digest/version.rb 53 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/digest.so 54 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/digest/loader.rb 55 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/digest.rb 56 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so 57 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/bn.rb 58 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/marshal.rb 59 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/pkey.rb 60 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/cipher.rb 61 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/digest.rb 62 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/hmac.rb 63 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/x509.rb 64 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/buffering.rb 65 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/io/nonblock.so 66 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/socket.so 67 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/socket.rb 68 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/ipaddr.rb 69 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/ssl.rb 70 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/pkcs5.rb 71 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/version.rb 72 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl.rb * Process memory map: 5599fcc41000-5599fcc72000 r--p 00000000 00:23 554309 /home/postmodern/.rubies/ruby-trunk/bin/ruby 5599fcc72000-5599fcf6f000 r-xp 00031000 00:23 554309 /home/postmodern/.rubies/ruby-trunk/bin/ruby 5599fcf6f000-5599fd0b4000 r--p 0032e000 00:23 554309 /home/postmodern/.rubies/ruby-trunk/bin/ruby 5599fd0b4000-5599fd0bf000 r--p 00473000 00:23 554309 /home/postmodern/.rubies/ruby-trunk/bin/ruby 5599fd0bf000-5599fd0c5000 rw-p 0047e000 00:23 554309 /home/postmodern/.rubies/ruby-trunk/bin/ruby 5599fd0c5000-5599fd0d9000 rw-p 00000000 00:00 0 5599fe223000-5599fe6bd000 rw-p 00000000 00:00 0 [heap] 7fb30da00000-7fb30de3d000 r--s 00000000 00:23 1740382 /usr/lib64/libcrypto.so.3.0.9 7fb30e000000-7fb30e222000 r--s 00000000 00:23 157485 /usr/lib64/libc.so.6 7fb30e400000-7fb30ffdf000 r--s 00000000 00:23 554309 /home/postmodern/.rubies/ruby-trunk/bin/ruby 7fb310000000-7fb310021000 rw-p 00000000 00:00 0 7fb310021000-7fb314000000 ---p 00000000 00:00 0 7fb3141ff000-7fb314200000 ---p 00000000 00:00 0 7fb314200000-7fb314400000 rw-p 00000000 00:00 0 7fb314400000-7fb3144ad000 r--p 00000000 00:23 1740382 /usr/lib64/libcrypto.so.3.0.9 7fb3144ad000-7fb314711000 r-xp 000ad000 00:23 1740382 /usr/lib64/libcrypto.so.3.0.9 7fb314711000-7fb3147ca000 r--p 00311000 00:23 1740382 /usr/lib64/libcrypto.so.3.0.9 7fb3147ca000-7fb314821000 r--p 003ca000 00:23 1740382 /usr/lib64/libcrypto.so.3.0.9 7fb314821000-7fb314824000 rw-p 00421000 00:23 1740382 /usr/lib64/libcrypto.so.3.0.9 7fb314824000-7fb314827000 rw-p 00000000 00:00 0 7fb314958000-7fb31495b000 r--p 00000000 00:23 1753127 /usr/lib64/libgcc_s-13-20230728.so.1 7fb31495b000-7fb314976000 r-xp 00003000 00:23 1753127 /usr/lib64/libgcc_s-13-20230728.so.1 7fb314976000-7fb31497a000 r--p 0001e000 00:23 1753127 /usr/lib64/libgcc_s-13-20230728.so.1 7fb31497a000-7fb31497b000 r--p 00021000 00:23 1753127 /usr/lib64/libgcc_s-13-20230728.so.1 7fb31497b000-7fb31497c000 rw-p 00000000 00:00 0 7fb314990000-7fb3149a0000 rw-p 00000000 00:00 0 7fb3149a1000-7fb3149a7000 r--p 00000000 00:23 554354 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/socket.so 7fb3149a7000-7fb3149c6000 r-xp 00006000 00:23 554354 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/socket.so 7fb3149c6000-7fb3149ce000 r--p 00025000 00:23 554354 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/socket.so 7fb3149ce000-7fb3149cf000 r--p 0002c000 00:23 554354 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/socket.so 7fb3149cf000-7fb3149d0000 rw-p 0002d000 00:23 554354 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/socket.so 7fb3149d0000-7fb3149e0000 rw-p 00000000 00:00 0 7fb3149e0000-7fb3149fe000 r--p 00000000 00:23 1740384 /usr/lib64/libssl.so.3.0.9 7fb3149fe000-7fb314a5b000 r-xp 0001e000 00:23 1740384 /usr/lib64/libssl.so.3.0.9 7fb314a5b000-7fb314a75000 r--p 0007b000 00:23 1740384 /usr/lib64/libssl.so.3.0.9 7fb314a75000-7fb314a7f000 r--p 00094000 00:23 1740384 /usr/lib64/libssl.so.3.0.9 7fb314a7f000-7fb314a83000 rw-p 0009e000 00:23 1740384 /usr/lib64/libssl.so.3.0.9 7fb314a83000-7fb314a98000 r--p 00000000 00:23 554347 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so 7fb314a98000-7fb314ac9000 r-xp 00015000 00:23 554347 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so 7fb314ac9000-7fb314adb000 r--p 00046000 00:23 554347 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so 7fb314adb000-7fb314add000 r--p 00058000 00:23 554347 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so 7fb314add000-7fb314adf000 rw-p 0005a000 00:23 554347 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so 7fb314adf000-7fb314b80000 rw-p 00000000 00:00 0 7fb314b90000-7fb314c60000 rw-p 00000000 00:00 0 7fb314c60000-7fb314c61000 ---p 00000000 00:00 0 7fb314c61000-7fb314d02000 rw-p 00000000 00:00 0 7fb314d02000-7fb314d03000 ---p 00000000 00:00 0 7fb314d03000-7fb314da4000 rw-p 00000000 00:00 0 7fb314da4000-7fb314da5000 ---p 00000000 00:00 0 7fb314da5000-7fb314e46000 rw-p 00000000 00:00 0 7fb314e46000-7fb314e47000 ---p 00000000 00:00 0 7fb314e47000-7fb314ee8000 rw-p 00000000 00:00 0 7fb314ee8000-7fb314ee9000 ---p 00000000 00:00 0 7fb314ee9000-7fb314f8a000 rw-p 00000000 00:00 0 7fb314f8a000-7fb314f8b000 ---p 00000000 00:00 0 7fb314f8b000-7fb31502c000 rw-p 00000000 00:00 0 7fb31502c000-7fb31502d000 ---p 00000000 00:00 0 7fb31502d000-7fb3150ce000 rw-p 00000000 00:00 0 7fb3150ce000-7fb3150cf000 ---p 00000000 00:00 0 7fb3150cf000-7fb315170000 rw-p 00000000 00:00 0 7fb315170000-7fb315171000 ---p 00000000 00:00 0 7fb315171000-7fb315212000 rw-p 00000000 00:00 0 7fb315212000-7fb315213000 ---p 00000000 00:00 0 7fb315213000-7fb3152b4000 rw-p 00000000 00:00 0 7fb3152b4000-7fb3152b5000 ---p 00000000 00:00 0 7fb3152b5000-7fb315356000 rw-p 00000000 00:00 0 7fb315356000-7fb315357000 ---p 00000000 00:00 0 7fb315357000-7fb3153f8000 rw-p 00000000 00:00 0 7fb3153f8000-7fb3153f9000 ---p 00000000 00:00 0 7fb3153f9000-7fb31549a000 rw-p 00000000 00:00 0 7fb31549a000-7fb31549b000 ---p 00000000 00:00 0 7fb31549b000-7fb31553c000 rw-p 00000000 00:00 0 7fb31553c000-7fb31553d000 ---p 00000000 00:00 0 7fb31553d000-7fb3155de000 rw-p 00000000 00:00 0 7fb3155de000-7fb3155df000 ---p 00000000 00:00 0 7fb3155df000-7fb315680000 rw-p 00000000 00:00 0 7fb315680000-7fb315681000 ---p 00000000 00:00 0 7fb315681000-7fb315722000 rw-p 00000000 00:00 0 7fb315722000-7fb315723000 ---p 00000000 00:00 0 7fb315723000-7fb3157c4000 rw-p 00000000 00:00 0 7fb3157c4000-7fb3157c5000 ---p 00000000 00:00 0 7fb3157c5000-7fb315866000 rw-p 00000000 00:00 0 7fb315866000-7fb315867000 ---p 00000000 00:00 0 7fb315867000-7fb315908000 rw-p 00000000 00:00 0 7fb315908000-7fb315909000 ---p 00000000 00:00 0 7fb315909000-7fb3159aa000 rw-p 00000000 00:00 0 7fb3159aa000-7fb3159ab000 ---p 00000000 00:00 0 7fb3159ab000-7fb315a4c000 rw-p 00000000 00:00 0 7fb315a4c000-7fb315a4d000 ---p 00000000 00:00 0 7fb315a4d000-7fb315aee000 rw-p 00000000 00:00 0 7fb315aee000-7fb315aef000 ---p 00000000 00:00 0 7fb315aef000-7fb315b90000 rw-p 00000000 00:00 0 7fb315b90000-7fb315b91000 ---p 00000000 00:00 0 7fb315b91000-7fb315c32000 rw-p 00000000 00:00 0 7fb315c32000-7fb315c33000 ---p 00000000 00:00 0 7fb315c33000-7fb315cd4000 rw-p 00000000 00:00 0 7fb315cd4000-7fb315cd5000 ---p 00000000 00:00 0 7fb315cd5000-7fb315d76000 rw-p 00000000 00:00 0 7fb315d76000-7fb315d77000 ---p 00000000 00:00 0 7fb315d77000-7fb315e18000 rw-p 00000000 00:00 0 7fb315e18000-7fb315e19000 ---p 00000000 00:00 0 7fb315e19000-7fb315eba000 rw-p 00000000 00:00 0 7fb315eba000-7fb315ebb000 ---p 00000000 00:00 0 7fb315ebb000-7fb315f5c000 rw-p 00000000 00:00 0 7fb315f5c000-7fb315f5d000 ---p 00000000 00:00 0 7fb315f5d000-7fb315ffe000 rw-p 00000000 00:00 0 7fb315ffe000-7fb315fff000 ---p 00000000 00:00 0 7fb315fff000-7fb3160f0000 rw-p 00000000 00:00 0 7fb3160ff000-7fb317200000 rw-p 00000000 00:00 0 7fb317200000-7fb3247f9000 r--p 00000000 00:23 156716 /usr/lib/locale/locale-archive 7fb324808000-7fb32480a000 r--p 00000000 00:23 554324 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/digest.so 7fb32480a000-7fb32480c000 r-xp 00002000 00:23 554324 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/digest.so 7fb32480c000-7fb32480d000 r--p 00004000 00:23 554324 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/digest.so 7fb32480d000-7fb32480e000 r--p 00004000 00:23 554324 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/digest.so 7fb32480e000-7fb32480f000 rw-p 00005000 00:23 554324 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/digest.so 7fb32480f000-7fb324880000 rw-p 00000000 00:00 0 7fb324881000-7fb324885000 rw-p 00000000 00:00 0 7fb324885000-7fb3248ab000 r--p 00000000 00:23 157485 /usr/lib64/libc.so.6 7fb3248ab000-7fb324a08000 r-xp 00026000 00:23 157485 /usr/lib64/libc.so.6 7fb324a08000-7fb324a55000 r--p 00183000 00:23 157485 /usr/lib64/libc.so.6 7fb324a55000-7fb324a59000 r--p 001d0000 00:23 157485 /usr/lib64/libc.so.6 7fb324a59000-7fb324a5b000 rw-p 001d4000 00:23 157485 /usr/lib64/libc.so.6 7fb324a5b000-7fb324a63000 rw-p 00000000 00:00 0 7fb324a63000-7fb324a73000 r--p 00000000 00:23 157488 /usr/lib64/libm.so.6 7fb324a73000-7fb324ae8000 r-xp 00010000 00:23 157488 /usr/lib64/libm.so.6 7fb324ae8000-7fb324b42000 r--p 00085000 00:23 157488 /usr/lib64/libm.so.6 7fb324b42000-7fb324b43000 r--p 000de000 00:23 157488 /usr/lib64/libm.so.6 7fb324b43000-7fb324b44000 rw-p 000df000 00:23 157488 /usr/lib64/libm.so.6 7fb324b44000-7fb324b46000 r--p 00000000 00:23 1208073 /usr/lib64/libcrypt.so.2.0.0 7fb324b46000-7fb324b5a000 r-xp 00002000 00:23 1208073 /usr/lib64/libcrypt.so.2.0.0 7fb324b5a000-7fb324b73000 r--p 00016000 00:23 1208073 /usr/lib64/libcrypt.so.2.0.0 7fb324b73000-7fb324b74000 r--p 0002e000 00:23 1208073 /usr/lib64/libcrypt.so.2.0.0 7fb324b74000-7fb324b7d000 rw-p 00000000 00:00 0 7fb324b7d000-7fb324b8e000 r--p 00000000 00:23 32293 /usr/lib64/libgmp.so.10.4.1 7fb324b8e000-7fb324c0a000 r-xp 00011000 00:23 32293 /usr/lib64/libgmp.so.10.4.1 7fb324c0a000-7fb324c1f000 r--p 0008d000 00:23 32293 /usr/lib64/libgmp.so.10.4.1 7fb324c1f000-7fb324c21000 r--p 000a1000 00:23 32293 /usr/lib64/libgmp.so.10.4.1 7fb324c21000-7fb324c22000 rw-p 000a3000 00:23 32293 /usr/lib64/libgmp.so.10.4.1 7fb324c22000-7fb324c25000 r--p 00000000 00:23 33100 /usr/lib64/libz.so.1.2.13 7fb324c25000-7fb324c34000 r-xp 00003000 00:23 33100 /usr/lib64/libz.so.1.2.13 7fb324c34000-7fb324c3a000 r--p 00012000 00:23 33100 /usr/lib64/libz.so.1.2.13 7fb324c3a000-7fb324c3b000 r--p 00018000 00:23 33100 /usr/lib64/libz.so.1.2.13 7fb324c3b000-7fb324c3c000 rw-p 00000000 00:00 0 7fb324c3c000-7fb324c3d000 r--p 00000000 00:23 554338 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/io/nonblock.so 7fb324c3d000-7fb324c3e000 r-xp 00001000 00:23 554338 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/io/nonblock.so 7fb324c3e000-7fb324c3f000 r--p 00002000 00:23 554338 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/io/nonblock.so 7fb324c3f000-7fb324c40000 r--p 00002000 00:23 554338 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/io/nonblock.so 7fb324c40000-7fb324c41000 rw-p 00003000 00:23 554338 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/io/nonblock.so 7fb324c41000-7fb324c42000 r--p 00000000 00:23 554344 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/monitor.so 7fb324c42000-7fb324c43000 r-xp 00001000 00:23 554344 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/monitor.so 7fb324c43000-7fb324c44000 r--p 00002000 00:23 554344 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/monitor.so 7fb324c44000-7fb324c45000 r--p 00002000 00:23 554344 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/monitor.so 7fb324c45000-7fb324c46000 rw-p 00003000 00:23 554344 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/monitor.so 7fb324c46000-7fb324c47000 r--p 00000000 00:23 554361 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/trans/transdb.so 7fb324c47000-7fb324c48000 r-xp 00001000 00:23 554361 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/trans/transdb.so 7fb324c48000-7fb324c49000 r--p 00002000 00:23 554361 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/trans/transdb.so 7fb324c49000-7fb324c4a000 r--p 00002000 00:23 554361 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/trans/transdb.so 7fb324c4a000-7fb324c4b000 rw-p 00003000 00:23 554361 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/trans/transdb.so 7fb324c4b000-7fb324c4c000 r--p 00000000 00:23 554382 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/encdb.so 7fb324c4c000-7fb324c4d000 r-xp 00001000 00:23 554382 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/encdb.so 7fb324c4d000-7fb324c4e000 r--p 00002000 00:23 554382 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/encdb.so 7fb324c4e000-7fb324c4f000 r--p 00002000 00:23 554382 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/encdb.so 7fb324c4f000-7fb324c50000 rw-p 00003000 00:23 554382 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/encdb.so 7fb324c50000-7fb324c52000 rw-p 00000000 00:00 0 7fb324c52000-7fb324c53000 r--p 00000000 00:23 157482 /usr/lib64/ld-linux-x86-64.so.2 7fb324c53000-7fb324c79000 r-xp 00001000 00:23 157482 /usr/lib64/ld-linux-x86-64.so.2 7fb324c79000-7fb324c83000 r--p 00027000 00:23 157482 /usr/lib64/ld-linux-x86-64.so.2 7fb324c83000-7fb324c85000 r--p 00030000 00:23 157482 /usr/lib64/ld-linux-x86-64.so.2 7fb324c85000-7fb324c87000 rw-p 00032000 00:23 157482 /usr/lib64/ld-linux-x86-64.so.2 7ffd6d3bb000-7ffd6dbba000 rw-p 00000000 00:00 0 [stack] 7ffd6dbdf000-7ffd6dbe3000 r--p 00000000 00:00 0 [vvar] 7ffd6dbe3000-7ffd6dbe5000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0 [vsyscall] Aborted (core dumped) ``` ### Versions * ruby 3.3.0dev (2023-08-02T18:35:08Z master 32e828bb4a) [x86_64-linux] * ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux] * ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-linux] * OpenSSL 3.0.9 30 May 2023 (Library: OpenSSL 3.0.9 30 May 2023) ### GDB Backtrace ``` (gdb) bt -full #0 BN_is_negative (a=0x0) at crypto/bn/bn_lib.c:945 No locals. #1 0x00007fffe78b8d08 in bn_to_asn1_string (bn=0x0, ai=0x0, atype=<optimized out>) at crypto/asn1/a_int.c:479 ret = 0x555555e57570 len = <optimized out> __func__ = "bn_to_asn1_string" #2 0x00007fffe792514a in dh_pub_encode (pk=0x555555e580e0, pkey=0x555555e224b0) at crypto/dh/dh_ameth.c:134 dh = 0x555555e572e0 ptype = 16 penc = 0x0 penclen = <optimized out> str = 0x555555e574b0 pub_key = 0x0 __func__ = "dh_pub_encode" #3 0x00007fffe7a4134f in X509_PUBKEY_set (x=0x555555e2d440, pkey=0x555555e224b0) at crypto/x509/x_pubkey.c:332 pk = 0x555555e580e0 __func__ = "X509_PUBKEY_set" #4 0x00007fffe7e31a29 in ossl_x509_set_public_key (self=<optimized out>, key=140737082617600) at ossl_x509cert.c:525 x509 = 0x555555e2d3f0 pkey = 0x555555e224b0 #5 0x00005555557688b9 in vm_call_cfunc_with_frame_ (stack_bottom=<optimized out>, argv=<optimized out>, argc=<optimized out>, calling=<optimized out>, reg_cfp=<optimized out>, ec=<optimized out>) at /home/postmodern/src/ruby/vm_insnhelper.c:3462 ci = <optimized out> cc = <optimized out> val = <optimized out> me = <optimized out> cfunc = <optimized out> recv = <optimized out> frame_type = <optimized out> len = <optimized out> block_handler = <optimized out> ci = <optimized out> cc = <optimized out> val = <optimized out> me = <optimized out> cfunc = <optimized out> recv = <optimized out> block_handler = <optimized out> frame_type = <optimized out> len = <optimized out> args = <optimized out> flag_arg_ = <optimized out> hooks_arg_ = <optimized out> flag_arg_ = <optimized out> hooks_arg_ = <optimized out> args = <optimized out> #6 vm_call_cfunc_with_frame (calling=<optimized out>, reg_cfp=<optimized out>, ec=<optimized out>) at /home/postmodern/src/ruby/vm_insnhelper.c:3490 argc = <optimized out> stack_bottom = <optimized out> argv = <optimized out> argc = <optimized out> stack_bottom = <optimized out> argv = <optimized out> #7 vm_call_cfunc_other (ec=0x5555559f1080, reg_cfp=0x7ffff7bf1fa0, calling=<optimized out>) at /home/postmodern/src/ruby/vm_insnhelper.c:3516 ci = <optimized out> argv_ary = <optimized out> #8 0x0000555555785a37 in vm_sendish (method_explorer=<optimized out>, block_handler=<optimized out>, cd=<optimized out>, reg_cfp=<optimized out>, ec=<optimized out>) at /home/postmodern/src/ruby/vm_callinfo.h:403 val = 93824999513184 ci = 0x18 cc = <optimized out> recv = 0 argc = <optimized out> calling = {cd = 0x555555c45c60, cc = 0x7fffe7d0eed8, block_handler = 0, recv = 140737082618600, argc = 1, kw_splat = false, heap_argv = 0} val = <optimized out> ci = <optimized out> cc = <optimized out> argc = <optimized out> recv = <optimized out> calling = <optimized out> #9 vm_exec_core (ec=0x0, ec@entry=0x5555559f1080) at /home/postmodern/src/ruby/insns.def:835 bh = <optimized out> cd = 0x555555c45c60 leaf = <optimized out> val = 93824999513184 reg_pc = 0x555555b3aef8 reg_cfp = 0x7ffff7bf1fa0 insns_address_table = {0x555555788b24 <vm_exec_core+12804>, 0x55555578789f <vm_exec_core+8063>, 0x55555578783b <vm_exec_core+7963>, 0x5555557877c9 <vm_exec_core+7849>, 0x55555578775c <vm_exec_core+7740>, 0x5555557876f0 <vm_exec_core+7632>, 0x555555787624 <vm_exec_core+7428>, 0x555555787a0c <vm_exec_core+8428>, 0x555555787901 <vm_exec_core+8161>, 0x555555787958 <vm_exec_core+8248>, 0x555555787509 <vm_exec_core+7145>, 0x555555787395 <vm_exec_core+6773>, 0x555555787244 <vm_exec_core+6436>, 0x5555557871f2 <vm_exec_core+6354>, 0x5555557871a4 <vm_exec_core+6276>, 0x555555787170 <vm_exec_core+6224>, 0x555555787141 <vm_exec_core+6177>, 0x555555787115 <vm_exec_core+6133>, 0x5555557870e9 <vm_exec_core+6089>, 0x5555557870bd <vm_exec_core+6045>, 0x55555578702a <vm_exec_core+5898>, 0x555555786ff5 <vm_exec_core+5845>, 0x555555786fa6 <vm_exec_core+5766>, 0x555555786f69 <vm_exec_core+5705>, 0x555555786ef3 <vm_exec_core+5587>, 0x555555786ec5 <vm_exec_core+5541>, 0x555555786e70 <vm_exec_core+5456>, 0x555555786e02 <vm_exec_core+5346>, 0x555555786dd1 <vm_exec_core+5297>, 0x555555786da0 <vm_exec_core+5248>, 0x555555786c02 <vm_exec_core+4834>, 0x555555786ae4 <vm_exec_core+4548>, 0x555555786a93 <vm_exec_core+4467>, 0x555555786a46 <vm_exec_core+4390>, 0x555555786a05 <vm_exec_core+4325>, 0x555555786b98 <vm_exec_core+4728>, 0x555555786b66 <vm_exec_core+4678>, 0x555555786bb6 <vm_exec_core+4758>, 0x5555557869da <vm_exec_core+4282>, 0x555555786938 <vm_exec_core+4120>, 0x5555557868fa <vm_exec_core+4058>, 0x5555557868bb <vm_exec_core+3995>, 0x555555786892 <vm_exec_core+3954>, 0x55555578682d <vm_exec_core+3853>, 0x5555557867d5 <vm_exec_core+3765>, 0x55555578673a <vm_exec_core+3610>, 0x5555557866d4 <vm_exec_core+3508>, 0x555555786660 <vm_exec_core+3392>, 0x5555557865c5 <vm_exec_core+3237>, 0x555555786593 <vm_exec_core+3187>, 0x555555786556 <vm_exec_core+3126>, 0x5555557864f7 <vm_exec_core+3031>, 0x555555785980 <vm_exec_core+96>, 0x55555578645c <vm_exec_core+2876>, 0x555555786419 <vm_exec_core+2809>, 0x555555788971 <vm_exec_core+12369>, 0x5555557862ef <vm_exec_core+2511>, 0x55555578625e <vm_exec_core+2366>, 0x555555786332 <vm_exec_core+2578>, 0x555555786147 <vm_exec_core+2087>, 0x555555786091 <vm_exec_core+1905>, 0x555555787be1 <vm_exec_core+8897>, 0x55555578605a <vm_exec_core+1850>, 0x555555786004 <vm_exec_core+1764>, 0x555555787a97 <vm_exec_core+8567>, 0x555555787a64 <vm_exec_core+8516>, 0x555555787aed <vm_exec_core+8653>, 0x555555785f28 <vm_exec_core+1544>, 0x55555578890e <vm_exec_core+12270>, 0x555555788a31 <vm_exec_core+12561>, 0x555555788879 <vm_exec_core+12121>, 0x555555788a93 <vm_exec_core+12659>, 0x5555557885b4 <vm_exec_core+11412>, 0x55555578865d <vm_exec_core+11581>, 0x5555557886b3 <vm_exec_core+11667>, 0x555555788721 <vm_exec_core+11777>, 0x555555788777 <vm_exec_core+11863>, 0x5555557887cd <vm_exec_core+11949>, 0x555555788823 <vm_exec_core+12035>, 0x5555557889b8 <vm_exec_core+12440>, 0x5555557883ac <vm_exec_core+10892>, 0x5555557883f3 <vm_exec_core+10963>, 0x555555788445 <vm_exec_core+11045>, 0x5555557884a6 <vm_exec_core+11142>, 0x555555785e90 <vm_exec_core+1392>, 0x555555785e4f <vm_exec_core+1327>, 0x555555788526 <vm_exec_core+11270>, 0x55555578856d <vm_exec_core+11341>, 0x555555788277 <vm_exec_core+10583>, 0x5555557882a0 <vm_exec_core+10624>, 0x5555557882fe <vm_exec_core+10718>, 0x55555578835e <vm_exec_core+10814>, 0x555555785de8 <vm_exec_core+1224>, 0x555555785d72 <vm_exec_core+1106>, 0x555555785cc6 <vm_exec_core+934>, 0x555555785c88 <vm_exec_core+872>, 0x555555785c42 <vm_exec_core+802>, 0x555555785bfc <vm_exec_core+732>, 0x555555785bae <vm_exec_core+654>, 0x555555785b82 <vm_exec_core+610>, 0x555555785b56 <vm_exec_core+566>, 0x555555788393 <vm_exec_core+10867>, 0x555555787893 <vm_exec_core+8051>, 0x55555578782f <vm_exec_core+7951>, 0x5555557877bd <vm_exec_core+7837>, 0x555555787750 <vm_exec_core+7728>, 0x5555557876e4 <vm_exec_core+7620>, 0x555555787618 <vm_exec_core+7416>, 0x555555787a00 <vm_exec_core+8416>, 0x5555557878f5 <vm_exec_core+8149>, 0x55555578794c <vm_exec_core+8236>, 0x5555557874fd <vm_exec_core+7133>, 0x555555787389 <vm_exec_core+6761>, 0x555555787238 <vm_exec_core+6424>, 0x5555557871e6 <vm_exec_core+6342>, 0x555555787198 <vm_exec_core+6264>, 0x555555787164 <vm_exec_core+6212>, 0x555555787135 <vm_exec_core+6165>, 0x555555787109 <vm_exec_core+6121>, 0x5555557870dd <vm_exec_core+6077>, 0x5555557870b1 <vm_exec_core+6033>, 0x55555578701e <vm_exec_core+5886>, 0x555555786fe9 <vm_exec_core+5833>, 0x555555786f9a <vm_exec_core+5754>, 0x555555786f5d <vm_exec_core+5693>, 0x555555786ee7 <vm_exec_core+5575>, 0x555555786eb9 <vm_exec_core+5529>, 0x555555786e64 <vm_exec_core+5444>, 0x555555786df6 <vm_exec_core+5334>, 0x555555786dc5 <vm_exec_core+5285>, 0x555555786d94 <vm_exec_core+5236>, 0x555555786bf6 <vm_exec_core+4822>, 0x555555786ad8 <vm_exec_core+4536>, 0x555555786a87 <vm_exec_core+4455>, 0x555555786a3a <vm_exec_core+4378>, 0x5555557869f9 <vm_exec_core+4313>, 0x555555786b8c <vm_exec_core+4716>, 0x555555786b5a <vm_exec_core+4666>, 0x555555786baa <vm_exec_core+4746>, 0x5555557869ce <vm_exec_core+4270>, 0x55555578692c <vm_exec_core+4108>, 0x5555557868ee <vm_exec_core+4046>, 0x5555557868af <vm_exec_core+3983>, 0x555555786886 <vm_exec_core+3942>, 0x555555786821 <vm_exec_core+3841>, 0x5555557867c9 <vm_exec_core+3753>, 0x55555578672e <vm_exec_core+3598>, 0x5555557866c8 <vm_exec_core+3496>, 0x555555786654 <vm_exec_core+3380>, 0x5555557865b9 <vm_exec_core+3225>, 0x555555786587 <vm_exec_core+3175>, 0x55555578654a <vm_exec_core+3114>, 0x5555557864eb <vm_exec_core+3019>, 0x5555557880fa <vm_exec_core+10202>, 0x555555786450 <vm_exec_core+2864>, 0x55555578640d <vm_exec_core+2797>, 0x55555578810b <vm_exec_core+10219>, 0x5555557862e3 <vm_exec_core+2499>, 0x555555786252 <vm_exec_core+2354>, 0x555555786326 <vm_exec_core+2566>, 0x55555578613b <vm_exec_core+2075>, 0x555555786085 <vm_exec_core+1893>, 0x555555787bd5 <vm_exec_core+8885>, 0x55555578604e <vm_exec_core+1838>, 0x555555785ff8 <vm_exec_core+1752>, 0x555555787a8b <vm_exec_core+8555>, 0x555555787a58 <vm_exec_core+8504>, 0x555555787ae1 <vm_exec_core+8641>, 0x555555785f1c <vm_exec_core+1532>, 0x55555578811c <vm_exec_core+10236>, 0x55555578812d <vm_exec_core+10253>, 0x55555578813e <vm_exec_core+10270>, 0x55555578814f <vm_exec_core+10287>, 0x555555788160 <vm_exec_core+10304>, 0x555555788171 <vm_exec_core+10321>, 0x555555788182 <vm_exec_core+10338>, 0x55555578819a <vm_exec_core+10362>, 0x5555557881ab <vm_exec_core+10379>, 0x5555557881bc <vm_exec_core+10396>, 0x5555557881cd <vm_exec_core+10413>, 0x5555557881de <vm_exec_core+10430>, 0x5555557881ef <vm_exec_core+10447>, 0x555555788200 <vm_exec_core+10464>, 0x555555788211 <vm_exec_core+10481>, 0x555555788222 <vm_exec_core+10498>, 0x555555785e84 <vm_exec_core+1380>, 0x555555785e43 <vm_exec_core+1315>, 0x555555788233 <vm_exec_core+10515>, 0x555555788244 <vm_exec_core+10532>, 0x555555788255 <vm_exec_core+10549>, 0x555555788266 <vm_exec_core+10566>, 0x55555578596e <vm_exec_core+78>, 0x55555578596e <vm_exec_core+78>, 0x555555785ddc <vm_exec_core+1212>, 0x555555785d66 <vm_exec_core+1094>, 0x555555785cba <vm_exec_core+922>, 0x555555785c7c <vm_exec_core+860>, 0x555555785c36 <vm_exec_core+790>, 0x555555785bf0 <vm_exec_core+720>, 0x555555785ba2 <vm_exec_core+642>...} #10 0x00005555557766c4 in rb_vm_exec (ec=0x5555559f1080) at vm.c:2390 _ec = 0x5555559f1080 _tag = {tag = 36, retval = 4, buf = {0x7fffffffda20, 0x5555557764d0 <rb_vm_exec+336>, 0x7fffffffd8e0, 0x14da16a575657c00, 0x7ffff7a2a6f8}, prev = 0x7fffffffda60, state = RUBY_TAG_NONE, lock_rec = 0} state = <optimized out> result = <optimized out> #11 0x000055555578cc98 in rb_iseq_eval_main (iseq=<optimized out>) at vm.c:2640 ec = <optimized out> val = <optimized out> #12 0x000055555558a785 in rb_ec_exec_node (ec=ec@entry=0x5555559f1080, n=n@entry=0x7fffe7ea0aa8) at eval.c:287 th = <optimized out> _ec = <optimized out> _tag = {tag = 36, retval = 93824994127712, buf = {0x5555559f1080, 0x55555558a7da <rb_ec_exec_node+250>, 0x7fffffffda30, 0x7fffe7ea0aa8, 0x24}, prev = 0x0, state = RUBY_TAG_NONE, lock_rec = 0} state = 0 iseq = 0x7fffe7ea0aa8 #13 0x000055555558fa5b in ruby_run_node (n=0x7fffe7ea0aa8) at eval.c:328 ec = 0x5555559f1080 status = 32767 #14 0x000055555558a242 in rb_main (argv=0x7fffffffdc78, argc=2) at ./main.c:39 variable_in_this_stack_frame = 0 #15 main (argc=<optimized out>, argv=<optimized out>) at ./main.c:58 ``` -- https://bugs.ruby-lang.org/

Issue #19828 has been updated by jeremyevans0 (Jeremy Evans). Status changed from Open to Closed In Ruby 3.3.0-preview2, the example code now raises `OpenSSL::PKey::PKeyError: public key missing`. That doesn't appear to meet the @postmodern 's expectation, but I don't think the behavior is expected. If you read the `OpenSSL::PKey::DH#public_key` documentation, it's clear that it doesn't actually return the public key. You can make it work with `OpenSSL::PKey::DH` if you use `generate_key!` as described in the `OpenSSL::PKey::DH` documentation: ``` require 'openssl' cert = OpenSSL::X509::Certificate.new key = OpenSSL::PKey::DH.generate(1024).public_key key.generate_key! cert.public_key = key ``` ---------------------------------------- Bug #19828: Segfault when `OpenSSL::X509::Certificate#public_key=` is given a `OpenSSL::PKey::DH` object https://bugs.ruby-lang.org/issues/19828#change-105080 * Author: postmodern (Hal Brodigan) * Status: Closed * Priority: Normal * Assignee: rhenium (Kazuki Yamaguchi) * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- The OpenSSL bindings cause a SegFault when creating a new OpenSSL::X509::Certificate object and setting it's `public_key` to the `public_key` of a new `OpenSSL::PKey::DH` key-pair. ### Steps To Reproduce ```ruby #!/usr/bin/env ruby require 'openssl' cert = OpenSSL::X509::Certificate.new key = OpenSSL::PKey::DH.generate(1024) cert.public_key = key.public_key ``` ### Expected Results Sets the public key. ### Actual Results ``` test.rb:8: [BUG] Segmentation fault at 0x0000000000000010 ruby 3.3.0dev (2023-08-02T18:35:08Z master 32e828bb4a) [x86_64-linux] -- Control frame information ----------------------------------------------- c:0003 p:---- s:0014 e:000013 CFUNC :public_key= c:0002 p:0031 s:0009 E:001850 EVAL test.rb:8 [FINISH] c:0001 p:0000 s:0003 E:002540 DUMMY [FINISH] -- Ruby level backtrace information ---------------------------------------- test.rb:8:in `<main>' test.rb:8:in `public_key=' -- Threading information --------------------------------------------------- Total ractor count: 1 Ruby thread count for this ractor: 1 -- Machine register context ------------------------------------------------ RIP: 0x00007fb3144e4c24 RBP: 0x00007ffd6dbb6bb0 RSP: 0x00007ffd6dbb6b88 RAX: 0x00005599fe68ed00 RBX: 0x00005599fe68ec40 RCX: 0x00005599fe68ed00 RDX: 0x0000000000000018 RDI: 0x0000000000000000 RSI: 0x0000000000000000 R8: 0x00005599fe68ed10 R9: 0x00007fb324a59ce0 R10: 0x0000000000000040 R11: 0x0000000000000000 R12: 0x0000000000000000 R13: 0x00005599fe68ed00 R14: 0x0000000000000000 R15: 0x0000000000000001 EFL: 0x0000000000010206 -- C level backtrace information ------------------------------------------- /home/postmodern/.rubies/ruby-trunk/bin/ruby(rb_vm_bugreport+0x5c7) [0x5599fce806a7] /home/postmodern/src/ruby/vm_dump.c:772 /home/postmodern/.rubies/ruby-trunk/bin/ruby(rb_bug_for_fatal_signal+0xe8) [0x5599fcf2a4b8] /home/postmodern/src/ruby/error.c:820 /home/postmodern/.rubies/ruby-trunk/bin/ruby(sigsegv+0x4b) [0x5599fcdcdccb] /home/postmodern/src/ruby/signal.c:920 /lib64/libc.so.6(__restore_rt+0x0) [0x7fb3248c2b70] /lib64/libcrypto.so.3(BN_is_negative+0x4) [0x7fb3144e4c24] /lib64/libcrypto.so.3(0x7fb3144b8d08) [0x7fb3144b8d08] /lib64/libcrypto.so.3(0x7fb31452514a) [0x7fb31452514a] /lib64/libcrypto.so.3(X509_PUBKEY_set+0x6f) [0x7fb31464134f] /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so(ossl_x509_set_public_key+0x39) [0x7fb314ac1a29] /home/postmodern/src/ruby/ext/openssl/ossl_x509cert.c:525 /home/postmodern/.rubies/ruby-trunk/bin/ruby(vm_call_cfunc_other+0x169) [0x5599fce558b9] /home/postmodern/src/ruby/vm_insnhelper.c:3462 /home/postmodern/.rubies/ruby-trunk/bin/ruby(vm_exec_core+0x117) [0x5599fce72a37] /home/postmodern/src/ruby/vm_insnhelper.c:5534 /home/postmodern/.rubies/ruby-trunk/bin/ruby(rb_vm_exec+0x344) [0x5599fce636c4] /home/postmodern/src/ruby/vm.c:2390 /home/postmodern/.rubies/ruby-trunk/bin/ruby(rb_ec_exec_node+0xa5) [0x5599fcc77785] /home/postmodern/src/ruby/eval.c:287 /home/postmodern/.rubies/ruby-trunk/bin/ruby(ruby_run_node+0x8b) [0x5599fcc7ca5b] /home/postmodern/src/ruby/eval.c:328 /home/postmodern/.rubies/ruby-trunk/bin/ruby(main+0x62) [0x5599fcc77242] ./main.c:39 -- Other runtime information ----------------------------------------------- * Loaded script: test.rb * Loaded features: 0 enumerator.so 1 thread.rb 2 fiber.so 3 rational.so 4 complex.so 5 ruby2_keywords.rb 6 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/encdb.so 7 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/trans/transdb.so 8 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/rbconfig.rb 9 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/compatibility.rb 10 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/defaults.rb 11 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/deprecate.rb 12 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/errors.rb 13 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/unknown_command_spell_checker.rb 14 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/exceptions.rb 15 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/basic_specification.rb 16 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/stub_specification.rb 17 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/platform.rb 18 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/util/list.rb 19 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/version.rb 20 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/requirement.rb 21 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/specification.rb 22 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/util.rb 23 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/dependency.rb 24 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/core_ext/kernel_gem.rb 25 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/monitor.so 26 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/monitor.rb 27 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems.rb 28 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/bundled_gems.rb 29 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/rubygems/path_support.rb 30 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/error_highlight/version.rb 31 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/error_highlight/base.rb 32 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/error_highlight/formatter.rb 33 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/error_highlight/core_ext.rb 34 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/error_highlight.rb 35 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/version.rb 36 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/core_ext/name_error.rb 37 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/levenshtein.rb 38 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/jaro_winkler.rb 39 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checker.rb 40 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb 41 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb 42 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/name_error_checkers.rb 43 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/method_name_checker.rb 44 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/key_error_checker.rb 45 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/null_checker.rb 46 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/tree_spell_checker.rb 47 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/require_path_checker.rb 48 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/spell_checkers/pattern_key_name_checker.rb 49 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean/formatter.rb 50 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/did_you_mean.rb 51 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/syntax_suggest/core_ext.rb 52 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/digest/version.rb 53 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/digest.so 54 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/digest/loader.rb 55 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/digest.rb 56 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so 57 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/bn.rb 58 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/marshal.rb 59 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/pkey.rb 60 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/cipher.rb 61 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/digest.rb 62 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/hmac.rb 63 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/x509.rb 64 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/buffering.rb 65 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/io/nonblock.so 66 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/socket.so 67 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/socket.rb 68 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/ipaddr.rb 69 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/ssl.rb 70 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/pkcs5.rb 71 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl/version.rb 72 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/openssl.rb * Process memory map: 5599fcc41000-5599fcc72000 r--p 00000000 00:23 554309 /home/postmodern/.rubies/ruby-trunk/bin/ruby 5599fcc72000-5599fcf6f000 r-xp 00031000 00:23 554309 /home/postmodern/.rubies/ruby-trunk/bin/ruby 5599fcf6f000-5599fd0b4000 r--p 0032e000 00:23 554309 /home/postmodern/.rubies/ruby-trunk/bin/ruby 5599fd0b4000-5599fd0bf000 r--p 00473000 00:23 554309 /home/postmodern/.rubies/ruby-trunk/bin/ruby 5599fd0bf000-5599fd0c5000 rw-p 0047e000 00:23 554309 /home/postmodern/.rubies/ruby-trunk/bin/ruby 5599fd0c5000-5599fd0d9000 rw-p 00000000 00:00 0 5599fe223000-5599fe6bd000 rw-p 00000000 00:00 0 [heap] 7fb30da00000-7fb30de3d000 r--s 00000000 00:23 1740382 /usr/lib64/libcrypto.so.3.0.9 7fb30e000000-7fb30e222000 r--s 00000000 00:23 157485 /usr/lib64/libc.so.6 7fb30e400000-7fb30ffdf000 r--s 00000000 00:23 554309 /home/postmodern/.rubies/ruby-trunk/bin/ruby 7fb310000000-7fb310021000 rw-p 00000000 00:00 0 7fb310021000-7fb314000000 ---p 00000000 00:00 0 7fb3141ff000-7fb314200000 ---p 00000000 00:00 0 7fb314200000-7fb314400000 rw-p 00000000 00:00 0 7fb314400000-7fb3144ad000 r--p 00000000 00:23 1740382 /usr/lib64/libcrypto.so.3.0.9 7fb3144ad000-7fb314711000 r-xp 000ad000 00:23 1740382 /usr/lib64/libcrypto.so.3.0.9 7fb314711000-7fb3147ca000 r--p 00311000 00:23 1740382 /usr/lib64/libcrypto.so.3.0.9 7fb3147ca000-7fb314821000 r--p 003ca000 00:23 1740382 /usr/lib64/libcrypto.so.3.0.9 7fb314821000-7fb314824000 rw-p 00421000 00:23 1740382 /usr/lib64/libcrypto.so.3.0.9 7fb314824000-7fb314827000 rw-p 00000000 00:00 0 7fb314958000-7fb31495b000 r--p 00000000 00:23 1753127 /usr/lib64/libgcc_s-13-20230728.so.1 7fb31495b000-7fb314976000 r-xp 00003000 00:23 1753127 /usr/lib64/libgcc_s-13-20230728.so.1 7fb314976000-7fb31497a000 r--p 0001e000 00:23 1753127 /usr/lib64/libgcc_s-13-20230728.so.1 7fb31497a000-7fb31497b000 r--p 00021000 00:23 1753127 /usr/lib64/libgcc_s-13-20230728.so.1 7fb31497b000-7fb31497c000 rw-p 00000000 00:00 0 7fb314990000-7fb3149a0000 rw-p 00000000 00:00 0 7fb3149a1000-7fb3149a7000 r--p 00000000 00:23 554354 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/socket.so 7fb3149a7000-7fb3149c6000 r-xp 00006000 00:23 554354 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/socket.so 7fb3149c6000-7fb3149ce000 r--p 00025000 00:23 554354 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/socket.so 7fb3149ce000-7fb3149cf000 r--p 0002c000 00:23 554354 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/socket.so 7fb3149cf000-7fb3149d0000 rw-p 0002d000 00:23 554354 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/socket.so 7fb3149d0000-7fb3149e0000 rw-p 00000000 00:00 0 7fb3149e0000-7fb3149fe000 r--p 00000000 00:23 1740384 /usr/lib64/libssl.so.3.0.9 7fb3149fe000-7fb314a5b000 r-xp 0001e000 00:23 1740384 /usr/lib64/libssl.so.3.0.9 7fb314a5b000-7fb314a75000 r--p 0007b000 00:23 1740384 /usr/lib64/libssl.so.3.0.9 7fb314a75000-7fb314a7f000 r--p 00094000 00:23 1740384 /usr/lib64/libssl.so.3.0.9 7fb314a7f000-7fb314a83000 rw-p 0009e000 00:23 1740384 /usr/lib64/libssl.so.3.0.9 7fb314a83000-7fb314a98000 r--p 00000000 00:23 554347 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so 7fb314a98000-7fb314ac9000 r-xp 00015000 00:23 554347 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so 7fb314ac9000-7fb314adb000 r--p 00046000 00:23 554347 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so 7fb314adb000-7fb314add000 r--p 00058000 00:23 554347 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so 7fb314add000-7fb314adf000 rw-p 0005a000 00:23 554347 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/openssl.so 7fb314adf000-7fb314b80000 rw-p 00000000 00:00 0 7fb314b90000-7fb314c60000 rw-p 00000000 00:00 0 7fb314c60000-7fb314c61000 ---p 00000000 00:00 0 7fb314c61000-7fb314d02000 rw-p 00000000 00:00 0 7fb314d02000-7fb314d03000 ---p 00000000 00:00 0 7fb314d03000-7fb314da4000 rw-p 00000000 00:00 0 7fb314da4000-7fb314da5000 ---p 00000000 00:00 0 7fb314da5000-7fb314e46000 rw-p 00000000 00:00 0 7fb314e46000-7fb314e47000 ---p 00000000 00:00 0 7fb314e47000-7fb314ee8000 rw-p 00000000 00:00 0 7fb314ee8000-7fb314ee9000 ---p 00000000 00:00 0 7fb314ee9000-7fb314f8a000 rw-p 00000000 00:00 0 7fb314f8a000-7fb314f8b000 ---p 00000000 00:00 0 7fb314f8b000-7fb31502c000 rw-p 00000000 00:00 0 7fb31502c000-7fb31502d000 ---p 00000000 00:00 0 7fb31502d000-7fb3150ce000 rw-p 00000000 00:00 0 7fb3150ce000-7fb3150cf000 ---p 00000000 00:00 0 7fb3150cf000-7fb315170000 rw-p 00000000 00:00 0 7fb315170000-7fb315171000 ---p 00000000 00:00 0 7fb315171000-7fb315212000 rw-p 00000000 00:00 0 7fb315212000-7fb315213000 ---p 00000000 00:00 0 7fb315213000-7fb3152b4000 rw-p 00000000 00:00 0 7fb3152b4000-7fb3152b5000 ---p 00000000 00:00 0 7fb3152b5000-7fb315356000 rw-p 00000000 00:00 0 7fb315356000-7fb315357000 ---p 00000000 00:00 0 7fb315357000-7fb3153f8000 rw-p 00000000 00:00 0 7fb3153f8000-7fb3153f9000 ---p 00000000 00:00 0 7fb3153f9000-7fb31549a000 rw-p 00000000 00:00 0 7fb31549a000-7fb31549b000 ---p 00000000 00:00 0 7fb31549b000-7fb31553c000 rw-p 00000000 00:00 0 7fb31553c000-7fb31553d000 ---p 00000000 00:00 0 7fb31553d000-7fb3155de000 rw-p 00000000 00:00 0 7fb3155de000-7fb3155df000 ---p 00000000 00:00 0 7fb3155df000-7fb315680000 rw-p 00000000 00:00 0 7fb315680000-7fb315681000 ---p 00000000 00:00 0 7fb315681000-7fb315722000 rw-p 00000000 00:00 0 7fb315722000-7fb315723000 ---p 00000000 00:00 0 7fb315723000-7fb3157c4000 rw-p 00000000 00:00 0 7fb3157c4000-7fb3157c5000 ---p 00000000 00:00 0 7fb3157c5000-7fb315866000 rw-p 00000000 00:00 0 7fb315866000-7fb315867000 ---p 00000000 00:00 0 7fb315867000-7fb315908000 rw-p 00000000 00:00 0 7fb315908000-7fb315909000 ---p 00000000 00:00 0 7fb315909000-7fb3159aa000 rw-p 00000000 00:00 0 7fb3159aa000-7fb3159ab000 ---p 00000000 00:00 0 7fb3159ab000-7fb315a4c000 rw-p 00000000 00:00 0 7fb315a4c000-7fb315a4d000 ---p 00000000 00:00 0 7fb315a4d000-7fb315aee000 rw-p 00000000 00:00 0 7fb315aee000-7fb315aef000 ---p 00000000 00:00 0 7fb315aef000-7fb315b90000 rw-p 00000000 00:00 0 7fb315b90000-7fb315b91000 ---p 00000000 00:00 0 7fb315b91000-7fb315c32000 rw-p 00000000 00:00 0 7fb315c32000-7fb315c33000 ---p 00000000 00:00 0 7fb315c33000-7fb315cd4000 rw-p 00000000 00:00 0 7fb315cd4000-7fb315cd5000 ---p 00000000 00:00 0 7fb315cd5000-7fb315d76000 rw-p 00000000 00:00 0 7fb315d76000-7fb315d77000 ---p 00000000 00:00 0 7fb315d77000-7fb315e18000 rw-p 00000000 00:00 0 7fb315e18000-7fb315e19000 ---p 00000000 00:00 0 7fb315e19000-7fb315eba000 rw-p 00000000 00:00 0 7fb315eba000-7fb315ebb000 ---p 00000000 00:00 0 7fb315ebb000-7fb315f5c000 rw-p 00000000 00:00 0 7fb315f5c000-7fb315f5d000 ---p 00000000 00:00 0 7fb315f5d000-7fb315ffe000 rw-p 00000000 00:00 0 7fb315ffe000-7fb315fff000 ---p 00000000 00:00 0 7fb315fff000-7fb3160f0000 rw-p 00000000 00:00 0 7fb3160ff000-7fb317200000 rw-p 00000000 00:00 0 7fb317200000-7fb3247f9000 r--p 00000000 00:23 156716 /usr/lib/locale/locale-archive 7fb324808000-7fb32480a000 r--p 00000000 00:23 554324 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/digest.so 7fb32480a000-7fb32480c000 r-xp 00002000 00:23 554324 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/digest.so 7fb32480c000-7fb32480d000 r--p 00004000 00:23 554324 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/digest.so 7fb32480d000-7fb32480e000 r--p 00004000 00:23 554324 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/digest.so 7fb32480e000-7fb32480f000 rw-p 00005000 00:23 554324 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/digest.so 7fb32480f000-7fb324880000 rw-p 00000000 00:00 0 7fb324881000-7fb324885000 rw-p 00000000 00:00 0 7fb324885000-7fb3248ab000 r--p 00000000 00:23 157485 /usr/lib64/libc.so.6 7fb3248ab000-7fb324a08000 r-xp 00026000 00:23 157485 /usr/lib64/libc.so.6 7fb324a08000-7fb324a55000 r--p 00183000 00:23 157485 /usr/lib64/libc.so.6 7fb324a55000-7fb324a59000 r--p 001d0000 00:23 157485 /usr/lib64/libc.so.6 7fb324a59000-7fb324a5b000 rw-p 001d4000 00:23 157485 /usr/lib64/libc.so.6 7fb324a5b000-7fb324a63000 rw-p 00000000 00:00 0 7fb324a63000-7fb324a73000 r--p 00000000 00:23 157488 /usr/lib64/libm.so.6 7fb324a73000-7fb324ae8000 r-xp 00010000 00:23 157488 /usr/lib64/libm.so.6 7fb324ae8000-7fb324b42000 r--p 00085000 00:23 157488 /usr/lib64/libm.so.6 7fb324b42000-7fb324b43000 r--p 000de000 00:23 157488 /usr/lib64/libm.so.6 7fb324b43000-7fb324b44000 rw-p 000df000 00:23 157488 /usr/lib64/libm.so.6 7fb324b44000-7fb324b46000 r--p 00000000 00:23 1208073 /usr/lib64/libcrypt.so.2.0.0 7fb324b46000-7fb324b5a000 r-xp 00002000 00:23 1208073 /usr/lib64/libcrypt.so.2.0.0 7fb324b5a000-7fb324b73000 r--p 00016000 00:23 1208073 /usr/lib64/libcrypt.so.2.0.0 7fb324b73000-7fb324b74000 r--p 0002e000 00:23 1208073 /usr/lib64/libcrypt.so.2.0.0 7fb324b74000-7fb324b7d000 rw-p 00000000 00:00 0 7fb324b7d000-7fb324b8e000 r--p 00000000 00:23 32293 /usr/lib64/libgmp.so.10.4.1 7fb324b8e000-7fb324c0a000 r-xp 00011000 00:23 32293 /usr/lib64/libgmp.so.10.4.1 7fb324c0a000-7fb324c1f000 r--p 0008d000 00:23 32293 /usr/lib64/libgmp.so.10.4.1 7fb324c1f000-7fb324c21000 r--p 000a1000 00:23 32293 /usr/lib64/libgmp.so.10.4.1 7fb324c21000-7fb324c22000 rw-p 000a3000 00:23 32293 /usr/lib64/libgmp.so.10.4.1 7fb324c22000-7fb324c25000 r--p 00000000 00:23 33100 /usr/lib64/libz.so.1.2.13 7fb324c25000-7fb324c34000 r-xp 00003000 00:23 33100 /usr/lib64/libz.so.1.2.13 7fb324c34000-7fb324c3a000 r--p 00012000 00:23 33100 /usr/lib64/libz.so.1.2.13 7fb324c3a000-7fb324c3b000 r--p 00018000 00:23 33100 /usr/lib64/libz.so.1.2.13 7fb324c3b000-7fb324c3c000 rw-p 00000000 00:00 0 7fb324c3c000-7fb324c3d000 r--p 00000000 00:23 554338 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/io/nonblock.so 7fb324c3d000-7fb324c3e000 r-xp 00001000 00:23 554338 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/io/nonblock.so 7fb324c3e000-7fb324c3f000 r--p 00002000 00:23 554338 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/io/nonblock.so 7fb324c3f000-7fb324c40000 r--p 00002000 00:23 554338 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/io/nonblock.so 7fb324c40000-7fb324c41000 rw-p 00003000 00:23 554338 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/io/nonblock.so 7fb324c41000-7fb324c42000 r--p 00000000 00:23 554344 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/monitor.so 7fb324c42000-7fb324c43000 r-xp 00001000 00:23 554344 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/monitor.so 7fb324c43000-7fb324c44000 r--p 00002000 00:23 554344 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/monitor.so 7fb324c44000-7fb324c45000 r--p 00002000 00:23 554344 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/monitor.so 7fb324c45000-7fb324c46000 rw-p 00003000 00:23 554344 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/monitor.so 7fb324c46000-7fb324c47000 r--p 00000000 00:23 554361 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/trans/transdb.so 7fb324c47000-7fb324c48000 r-xp 00001000 00:23 554361 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/trans/transdb.so 7fb324c48000-7fb324c49000 r--p 00002000 00:23 554361 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/trans/transdb.so 7fb324c49000-7fb324c4a000 r--p 00002000 00:23 554361 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/trans/transdb.so 7fb324c4a000-7fb324c4b000 rw-p 00003000 00:23 554361 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/trans/transdb.so 7fb324c4b000-7fb324c4c000 r--p 00000000 00:23 554382 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/encdb.so 7fb324c4c000-7fb324c4d000 r-xp 00001000 00:23 554382 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/encdb.so 7fb324c4d000-7fb324c4e000 r--p 00002000 00:23 554382 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/encdb.so 7fb324c4e000-7fb324c4f000 r--p 00002000 00:23 554382 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/encdb.so 7fb324c4f000-7fb324c50000 rw-p 00003000 00:23 554382 /home/postmodern/.rubies/ruby-trunk/lib/ruby/3.3.0+0/x86_64-linux/enc/encdb.so 7fb324c50000-7fb324c52000 rw-p 00000000 00:00 0 7fb324c52000-7fb324c53000 r--p 00000000 00:23 157482 /usr/lib64/ld-linux-x86-64.so.2 7fb324c53000-7fb324c79000 r-xp 00001000 00:23 157482 /usr/lib64/ld-linux-x86-64.so.2 7fb324c79000-7fb324c83000 r--p 00027000 00:23 157482 /usr/lib64/ld-linux-x86-64.so.2 7fb324c83000-7fb324c85000 r--p 00030000 00:23 157482 /usr/lib64/ld-linux-x86-64.so.2 7fb324c85000-7fb324c87000 rw-p 00032000 00:23 157482 /usr/lib64/ld-linux-x86-64.so.2 7ffd6d3bb000-7ffd6dbba000 rw-p 00000000 00:00 0 [stack] 7ffd6dbdf000-7ffd6dbe3000 r--p 00000000 00:00 0 [vvar] 7ffd6dbe3000-7ffd6dbe5000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0 [vsyscall] Aborted (core dumped) ``` ### Versions * ruby 3.3.0dev (2023-08-02T18:35:08Z master 32e828bb4a) [x86_64-linux] * ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux] * ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-linux] * OpenSSL 3.0.9 30 May 2023 (Library: OpenSSL 3.0.9 30 May 2023) ### GDB Backtrace ``` (gdb) bt -full #0 BN_is_negative (a=0x0) at crypto/bn/bn_lib.c:945 No locals. #1 0x00007fffe78b8d08 in bn_to_asn1_string (bn=0x0, ai=0x0, atype=<optimized out>) at crypto/asn1/a_int.c:479 ret = 0x555555e57570 len = <optimized out> __func__ = "bn_to_asn1_string" #2 0x00007fffe792514a in dh_pub_encode (pk=0x555555e580e0, pkey=0x555555e224b0) at crypto/dh/dh_ameth.c:134 dh = 0x555555e572e0 ptype = 16 penc = 0x0 penclen = <optimized out> str = 0x555555e574b0 pub_key = 0x0 __func__ = "dh_pub_encode" #3 0x00007fffe7a4134f in X509_PUBKEY_set (x=0x555555e2d440, pkey=0x555555e224b0) at crypto/x509/x_pubkey.c:332 pk = 0x555555e580e0 __func__ = "X509_PUBKEY_set" #4 0x00007fffe7e31a29 in ossl_x509_set_public_key (self=<optimized out>, key=140737082617600) at ossl_x509cert.c:525 x509 = 0x555555e2d3f0 pkey = 0x555555e224b0 #5 0x00005555557688b9 in vm_call_cfunc_with_frame_ (stack_bottom=<optimized out>, argv=<optimized out>, argc=<optimized out>, calling=<optimized out>, reg_cfp=<optimized out>, ec=<optimized out>) at /home/postmodern/src/ruby/vm_insnhelper.c:3462 ci = <optimized out> cc = <optimized out> val = <optimized out> me = <optimized out> cfunc = <optimized out> recv = <optimized out> frame_type = <optimized out> len = <optimized out> block_handler = <optimized out> ci = <optimized out> cc = <optimized out> val = <optimized out> me = <optimized out> cfunc = <optimized out> recv = <optimized out> block_handler = <optimized out> frame_type = <optimized out> len = <optimized out> args = <optimized out> flag_arg_ = <optimized out> hooks_arg_ = <optimized out> flag_arg_ = <optimized out> hooks_arg_ = <optimized out> args = <optimized out> #6 vm_call_cfunc_with_frame (calling=<optimized out>, reg_cfp=<optimized out>, ec=<optimized out>) at /home/postmodern/src/ruby/vm_insnhelper.c:3490 argc = <optimized out> stack_bottom = <optimized out> argv = <optimized out> argc = <optimized out> stack_bottom = <optimized out> argv = <optimized out> #7 vm_call_cfunc_other (ec=0x5555559f1080, reg_cfp=0x7ffff7bf1fa0, calling=<optimized out>) at /home/postmodern/src/ruby/vm_insnhelper.c:3516 ci = <optimized out> argv_ary = <optimized out> #8 0x0000555555785a37 in vm_sendish (method_explorer=<optimized out>, block_handler=<optimized out>, cd=<optimized out>, reg_cfp=<optimized out>, ec=<optimized out>) at /home/postmodern/src/ruby/vm_callinfo.h:403 val = 93824999513184 ci = 0x18 cc = <optimized out> recv = 0 argc = <optimized out> calling = {cd = 0x555555c45c60, cc = 0x7fffe7d0eed8, block_handler = 0, recv = 140737082618600, argc = 1, kw_splat = false, heap_argv = 0} val = <optimized out> ci = <optimized out> cc = <optimized out> argc = <optimized out> recv = <optimized out> calling = <optimized out> #9 vm_exec_core (ec=0x0, ec@entry=0x5555559f1080) at /home/postmodern/src/ruby/insns.def:835 bh = <optimized out> cd = 0x555555c45c60 leaf = <optimized out> val = 93824999513184 reg_pc = 0x555555b3aef8 reg_cfp = 0x7ffff7bf1fa0 insns_address_table = {0x555555788b24 <vm_exec_core+12804>, 0x55555578789f <vm_exec_core+8063>, 0x55555578783b <vm_exec_core+7963>, 0x5555557877c9 <vm_exec_core+7849>, 0x55555578775c <vm_exec_core+7740>, 0x5555557876f0 <vm_exec_core+7632>, 0x555555787624 <vm_exec_core+7428>, 0x555555787a0c <vm_exec_core+8428>, 0x555555787901 <vm_exec_core+8161>, 0x555555787958 <vm_exec_core+8248>, 0x555555787509 <vm_exec_core+7145>, 0x555555787395 <vm_exec_core+6773>, 0x555555787244 <vm_exec_core+6436>, 0x5555557871f2 <vm_exec_core+6354>, 0x5555557871a4 <vm_exec_core+6276>, 0x555555787170 <vm_exec_core+6224>, 0x555555787141 <vm_exec_core+6177>, 0x555555787115 <vm_exec_core+6133>, 0x5555557870e9 <vm_exec_core+6089>, 0x5555557870bd <vm_exec_core+6045>, 0x55555578702a <vm_exec_core+5898>, 0x555555786ff5 <vm_exec_core+5845>, 0x555555786fa6 <vm_exec_core+5766>, 0x555555786f69 <vm_exec_core+5705>, 0x555555786ef3 <vm_exec_core+5587>, 0x555555786ec5 <vm_exec_core+5541>, 0x555555786e70 <vm_exec_core+5456>, 0x555555786e02 <vm_exec_core+5346>, 0x555555786dd1 <vm_exec_core+5297>, 0x555555786da0 <vm_exec_core+5248>, 0x555555786c02 <vm_exec_core+4834>, 0x555555786ae4 <vm_exec_core+4548>, 0x555555786a93 <vm_exec_core+4467>, 0x555555786a46 <vm_exec_core+4390>, 0x555555786a05 <vm_exec_core+4325>, 0x555555786b98 <vm_exec_core+4728>, 0x555555786b66 <vm_exec_core+4678>, 0x555555786bb6 <vm_exec_core+4758>, 0x5555557869da <vm_exec_core+4282>, 0x555555786938 <vm_exec_core+4120>, 0x5555557868fa <vm_exec_core+4058>, 0x5555557868bb <vm_exec_core+3995>, 0x555555786892 <vm_exec_core+3954>, 0x55555578682d <vm_exec_core+3853>, 0x5555557867d5 <vm_exec_core+3765>, 0x55555578673a <vm_exec_core+3610>, 0x5555557866d4 <vm_exec_core+3508>, 0x555555786660 <vm_exec_core+3392>, 0x5555557865c5 <vm_exec_core+3237>, 0x555555786593 <vm_exec_core+3187>, 0x555555786556 <vm_exec_core+3126>, 0x5555557864f7 <vm_exec_core+3031>, 0x555555785980 <vm_exec_core+96>, 0x55555578645c <vm_exec_core+2876>, 0x555555786419 <vm_exec_core+2809>, 0x555555788971 <vm_exec_core+12369>, 0x5555557862ef <vm_exec_core+2511>, 0x55555578625e <vm_exec_core+2366>, 0x555555786332 <vm_exec_core+2578>, 0x555555786147 <vm_exec_core+2087>, 0x555555786091 <vm_exec_core+1905>, 0x555555787be1 <vm_exec_core+8897>, 0x55555578605a <vm_exec_core+1850>, 0x555555786004 <vm_exec_core+1764>, 0x555555787a97 <vm_exec_core+8567>, 0x555555787a64 <vm_exec_core+8516>, 0x555555787aed <vm_exec_core+8653>, 0x555555785f28 <vm_exec_core+1544>, 0x55555578890e <vm_exec_core+12270>, 0x555555788a31 <vm_exec_core+12561>, 0x555555788879 <vm_exec_core+12121>, 0x555555788a93 <vm_exec_core+12659>, 0x5555557885b4 <vm_exec_core+11412>, 0x55555578865d <vm_exec_core+11581>, 0x5555557886b3 <vm_exec_core+11667>, 0x555555788721 <vm_exec_core+11777>, 0x555555788777 <vm_exec_core+11863>, 0x5555557887cd <vm_exec_core+11949>, 0x555555788823 <vm_exec_core+12035>, 0x5555557889b8 <vm_exec_core+12440>, 0x5555557883ac <vm_exec_core+10892>, 0x5555557883f3 <vm_exec_core+10963>, 0x555555788445 <vm_exec_core+11045>, 0x5555557884a6 <vm_exec_core+11142>, 0x555555785e90 <vm_exec_core+1392>, 0x555555785e4f <vm_exec_core+1327>, 0x555555788526 <vm_exec_core+11270>, 0x55555578856d <vm_exec_core+11341>, 0x555555788277 <vm_exec_core+10583>, 0x5555557882a0 <vm_exec_core+10624>, 0x5555557882fe <vm_exec_core+10718>, 0x55555578835e <vm_exec_core+10814>, 0x555555785de8 <vm_exec_core+1224>, 0x555555785d72 <vm_exec_core+1106>, 0x555555785cc6 <vm_exec_core+934>, 0x555555785c88 <vm_exec_core+872>, 0x555555785c42 <vm_exec_core+802>, 0x555555785bfc <vm_exec_core+732>, 0x555555785bae <vm_exec_core+654>, 0x555555785b82 <vm_exec_core+610>, 0x555555785b56 <vm_exec_core+566>, 0x555555788393 <vm_exec_core+10867>, 0x555555787893 <vm_exec_core+8051>, 0x55555578782f <vm_exec_core+7951>, 0x5555557877bd <vm_exec_core+7837>, 0x555555787750 <vm_exec_core+7728>, 0x5555557876e4 <vm_exec_core+7620>, 0x555555787618 <vm_exec_core+7416>, 0x555555787a00 <vm_exec_core+8416>, 0x5555557878f5 <vm_exec_core+8149>, 0x55555578794c <vm_exec_core+8236>, 0x5555557874fd <vm_exec_core+7133>, 0x555555787389 <vm_exec_core+6761>, 0x555555787238 <vm_exec_core+6424>, 0x5555557871e6 <vm_exec_core+6342>, 0x555555787198 <vm_exec_core+6264>, 0x555555787164 <vm_exec_core+6212>, 0x555555787135 <vm_exec_core+6165>, 0x555555787109 <vm_exec_core+6121>, 0x5555557870dd <vm_exec_core+6077>, 0x5555557870b1 <vm_exec_core+6033>, 0x55555578701e <vm_exec_core+5886>, 0x555555786fe9 <vm_exec_core+5833>, 0x555555786f9a <vm_exec_core+5754>, 0x555555786f5d <vm_exec_core+5693>, 0x555555786ee7 <vm_exec_core+5575>, 0x555555786eb9 <vm_exec_core+5529>, 0x555555786e64 <vm_exec_core+5444>, 0x555555786df6 <vm_exec_core+5334>, 0x555555786dc5 <vm_exec_core+5285>, 0x555555786d94 <vm_exec_core+5236>, 0x555555786bf6 <vm_exec_core+4822>, 0x555555786ad8 <vm_exec_core+4536>, 0x555555786a87 <vm_exec_core+4455>, 0x555555786a3a <vm_exec_core+4378>, 0x5555557869f9 <vm_exec_core+4313>, 0x555555786b8c <vm_exec_core+4716>, 0x555555786b5a <vm_exec_core+4666>, 0x555555786baa <vm_exec_core+4746>, 0x5555557869ce <vm_exec_core+4270>, 0x55555578692c <vm_exec_core+4108>, 0x5555557868ee <vm_exec_core+4046>, 0x5555557868af <vm_exec_core+3983>, 0x555555786886 <vm_exec_core+3942>, 0x555555786821 <vm_exec_core+3841>, 0x5555557867c9 <vm_exec_core+3753>, 0x55555578672e <vm_exec_core+3598>, 0x5555557866c8 <vm_exec_core+3496>, 0x555555786654 <vm_exec_core+3380>, 0x5555557865b9 <vm_exec_core+3225>, 0x555555786587 <vm_exec_core+3175>, 0x55555578654a <vm_exec_core+3114>, 0x5555557864eb <vm_exec_core+3019>, 0x5555557880fa <vm_exec_core+10202>, 0x555555786450 <vm_exec_core+2864>, 0x55555578640d <vm_exec_core+2797>, 0x55555578810b <vm_exec_core+10219>, 0x5555557862e3 <vm_exec_core+2499>, 0x555555786252 <vm_exec_core+2354>, 0x555555786326 <vm_exec_core+2566>, 0x55555578613b <vm_exec_core+2075>, 0x555555786085 <vm_exec_core+1893>, 0x555555787bd5 <vm_exec_core+8885>, 0x55555578604e <vm_exec_core+1838>, 0x555555785ff8 <vm_exec_core+1752>, 0x555555787a8b <vm_exec_core+8555>, 0x555555787a58 <vm_exec_core+8504>, 0x555555787ae1 <vm_exec_core+8641>, 0x555555785f1c <vm_exec_core+1532>, 0x55555578811c <vm_exec_core+10236>, 0x55555578812d <vm_exec_core+10253>, 0x55555578813e <vm_exec_core+10270>, 0x55555578814f <vm_exec_core+10287>, 0x555555788160 <vm_exec_core+10304>, 0x555555788171 <vm_exec_core+10321>, 0x555555788182 <vm_exec_core+10338>, 0x55555578819a <vm_exec_core+10362>, 0x5555557881ab <vm_exec_core+10379>, 0x5555557881bc <vm_exec_core+10396>, 0x5555557881cd <vm_exec_core+10413>, 0x5555557881de <vm_exec_core+10430>, 0x5555557881ef <vm_exec_core+10447>, 0x555555788200 <vm_exec_core+10464>, 0x555555788211 <vm_exec_core+10481>, 0x555555788222 <vm_exec_core+10498>, 0x555555785e84 <vm_exec_core+1380>, 0x555555785e43 <vm_exec_core+1315>, 0x555555788233 <vm_exec_core+10515>, 0x555555788244 <vm_exec_core+10532>, 0x555555788255 <vm_exec_core+10549>, 0x555555788266 <vm_exec_core+10566>, 0x55555578596e <vm_exec_core+78>, 0x55555578596e <vm_exec_core+78>, 0x555555785ddc <vm_exec_core+1212>, 0x555555785d66 <vm_exec_core+1094>, 0x555555785cba <vm_exec_core+922>, 0x555555785c7c <vm_exec_core+860>, 0x555555785c36 <vm_exec_core+790>, 0x555555785bf0 <vm_exec_core+720>, 0x555555785ba2 <vm_exec_core+642>...} #10 0x00005555557766c4 in rb_vm_exec (ec=0x5555559f1080) at vm.c:2390 _ec = 0x5555559f1080 _tag = {tag = 36, retval = 4, buf = {0x7fffffffda20, 0x5555557764d0 <rb_vm_exec+336>, 0x7fffffffd8e0, 0x14da16a575657c00, 0x7ffff7a2a6f8}, prev = 0x7fffffffda60, state = RUBY_TAG_NONE, lock_rec = 0} state = <optimized out> result = <optimized out> #11 0x000055555578cc98 in rb_iseq_eval_main (iseq=<optimized out>) at vm.c:2640 ec = <optimized out> val = <optimized out> #12 0x000055555558a785 in rb_ec_exec_node (ec=ec@entry=0x5555559f1080, n=n@entry=0x7fffe7ea0aa8) at eval.c:287 th = <optimized out> _ec = <optimized out> _tag = {tag = 36, retval = 93824994127712, buf = {0x5555559f1080, 0x55555558a7da <rb_ec_exec_node+250>, 0x7fffffffda30, 0x7fffe7ea0aa8, 0x24}, prev = 0x0, state = RUBY_TAG_NONE, lock_rec = 0} state = 0 iseq = 0x7fffe7ea0aa8 #13 0x000055555558fa5b in ruby_run_node (n=0x7fffe7ea0aa8) at eval.c:328 ec = 0x5555559f1080 status = 32767 #14 0x000055555558a242 in rb_main (argv=0x7fffffffdc78, argc=2) at ./main.c:39 variable_in_this_stack_frame = 0 #15 main (argc=<optimized out>, argv=<optimized out>) at ./main.c:58 ``` -- https://bugs.ruby-lang.org/
participants (3)
-
jeremyevans0 (Jeremy Evans)
-
mame (Yusuke Endoh)
-
postmodern (Hal Brodigan)