Project

General

Profile

Activity

From 07/16/2021 to 07/22/2021

07/22/2021

09:02 PM Bug #18041 (Feedback): [BUG] Segmentation fault - ruby 2.5.8p224 (2020-03-31 revision 67882) [aarch64-linux]
applenotbanana (Apple Banana) wrote in #note-1:
> is it problem with excon?
Excon is a pure ruby gem, and the segfault appears to occur in openssl, so my guess would be no. In any case, Ruby 2.5 is no longer supported, Please try wi...
jeremyevans0 (Jeremy Evans)
08:36 PM Bug #18041: [BUG] Segmentation fault - ruby 2.5.8p224 (2020-03-31 revision 67882) [aarch64-linux]
is it problem with excon? applenotbanana (Apple Banana)
08:31 PM Bug #18041 (Closed): [BUG] Segmentation fault - ruby 2.5.8p224 (2020-03-31 revision 67882) [aarch64-linux]
/usr/local/lib/ruby/2.5.0/openssl/buffering.rb:388: [BUG] Segmentation fault at 0x0020ffffaf56467c
ruby 2.5.8p224 (2020-03-31 revision 67882) [aarch64-linux]
-- Control frame information ----------------------------------------------...
applenotbanana (Apple Banana)
06:13 PM Revision fc78a089 (git): * 2021-07-23 [ci skip]
git[bot]
06:13 PM Revision 86e0eecc (git): [ruby/irb] Fix #256
Support int that follow on symbeg in IRB
https://github.com/ruby/irb/commit/90cb27b1bd
osyo (manga osyo)
03:55 PM Feature #17798: exception in finalizer
https://github.com/ruby/ruby/pull/4670 nobu (Nobuyoshi Nakada)
02:10 PM Revision 62661dd9 (git): Don't recompute the heap page
We already page the page of the zombie calculated. Don't recalculate the
page.
peterzhu2118 (Peter Zhu)
02:10 PM Revision 018f3961 (git): Don't set flags in finalize_list
The call after it to `heap_page_add_freeobj` will set the flags. peterzhu2118 (Peter Zhu)
06:41 AM Revision 75f60e5a (git): Sort out quad_t related macros
nobu (Nobuyoshi Nakada)
06:41 AM Revision fc50b2ea (git): Remove unneeded function declarations
S_H_ (Shun Hiraoka)
05:10 AM Revision e4b68ab7 (git): [DOC] Fixed the description of regexp alternations [ci skip]
Ulysses Zhan
05:02 AM Revision d6b8819b (git): Refactor rb_proc_call_with_block function
S_H_ (Shun Hiraoka)
05:02 AM Revision e882905d (git): Refactor sym_each_i function
S_H_ (Shun Hiraoka)
02:56 AM Bug #17666: Thread#join hangs when Fiber.set_scheduler is set
Thank you for your confirmation and adding a test!
I will create a patch for ruby_3_0 branch based on your pull request.
nagachika (Tomoyuki Chikanaga)
02:48 AM Bug #18014: Memory leak in GC when using Ractors
ruby_3_0 a215c6d0448764131cbbb48b476dc698b51c2273 merged revision(s) 119697f61e2b2b157816a8aa33aada5863959900,4a627dbdfd1165022fa9e716ba845e937b03773d. nagachika (Tomoyuki Chikanaga)
02:45 AM Bug #18014: Memory leak in GC when using Ractors
Thank you for reviewing. I will commit the patch soon. nagachika (Tomoyuki Chikanaga)
02:48 AM Revision 186900d1 (git): * 2021-07-22 [ci skip]
git[bot]
02:47 AM Revision a215c6d0 (git): partially merge revision(s) 119697f61e2b2b157816a8aa33aada5863959900,4a627dbdfd1165022fa9e716ba845e937b03773d: [Backport #18014]
[Bug #18014] Fix rb_gc_force_recycle unmark before sweep
If we force recycle an object before the page is swept, we should clear
it in the mark bitmap. If we don't clear it in the bitmap, then during
sweeping we ...
nagachika (Tomoyuki Chikanaga)
12:58 AM Revision e3cda754 (git): Remove useless casts
nobu (Nobuyoshi Nakada)
12:52 AM Revision a4e39112 (git): Cast to size_t instead of int
len and *retlen are size_t since r22957
(commit:4de12b6ae9a7fc1e28ada4b62291a78f28ae7528).
nobu (Nobuyoshi Nakada)

07/21/2021

06:40 PM Revision 31144fe9 (git): Change GC verification to walk all pages
`gc_verify_internal_consistency_` does not walk pages in the tomb heap
so numbers were off. This commit changes it to walk all allocated pages.
peterzhu2118 (Peter Zhu)
05:07 PM Bug #18038 (Closed): Invalid interpolation in heredocs
Applied in changeset commit:git|b940a453572b5c3ed5c0951647929e14f5843a7d.
----------
Fix interpolated heredoc
This fixes https://bugs.ruby-lang.org/issues/18038. The provided
reproduction showed that this happens in heredocs with doubl...
eileencodes (Eileen Uchitelle)
05:06 PM Revision f5f70106 (git): * 2021-07-22 [ci skip]
git[bot]
05:06 PM Revision b940a453 (git): Fix interpolated heredoc
This fixes https://bugs.ruby-lang.org/issues/18038. The provided
reproduction showed that this happens in heredocs with double
interpolation. In this case `DSTR` was getting returned but needs to be
convered to a `EVSTR` which is what is...
eileencodes (Eileen Uchitelle)
11:44 AM Revision fa308a68 (git): Update bundled_gems
nobu (Nobuyoshi Nakada)
11:44 AM Revision c25cf1ea (git): Drop optional commit hash when updated
nobu (Nobuyoshi Nakada)
10:32 AM Revision 04b5e85b (git): Look up ruby_digit36_to_number_table
Instead of scanning ruby_hexdigits. nobu (Nobuyoshi Nakada)
08:40 AM Revision b2749e00 (git): * 2021-07-21 [ci skip]
git[bot]
07:28 AM Revision 1c80e0e6 (git): Use typeprof supporting rbs 1.3
nobu (Nobuyoshi Nakada)

07/20/2021

10:37 PM Bug #17486: Build fails on darwin due to libtool being removed
> ld: warning: ignoring file ../../libruby.3.0-static.a, building for macOS-x86_64 but attempting to link with file built for macOS-x86_64
This message appears to be contradictory.
Isn’t `ranlib` working?
nobu (Nobuyoshi Nakada)
04:55 PM Bug #17486: Build fails on darwin due to libtool being removed
This is still failing for me on Big Sur with 3.0.2. I have made sure to uninstall gmake and coreutils from MacPorts but it is still failing. If I revert commit I mentioned in the original report then it builds fine on Big Sur under all c... dark.panda (J Smith)
07:41 PM Bug #18038: Invalid interpolation in heredocs
I opened a PR here: https://github.com/ruby/ruby/pull/4664
I also confirmed that this is broken in the same way in Ruby 2.5, 2.6, and 2.7
eileencodes (Eileen Uchitelle)
01:26 PM Feature #18040 (Rejected): Why should `foo(1 if true)` be an error?
One way to see it is to just forget that Jeremy called it statement.
One of the parser rule is named `stmt` and yes the produced AST node does return a value, like everything in Ruby.
It's not realistic for the Ruby grammar to accomm...
Eregon (Benoit Daloze)
08:27 AM Feature #18040: Why should `foo(1 if true)` be an error?
> implicit casting from a statement to an expression within a method definition body
It's not just the method body, `x if y` without parens is an expression in any compound expression block which evaluates to its last expression value...
bughit (bug hit)
05:53 AM Feature #18040: Why should `foo(1 if true)` be an error?
It looks like the reason bughit is insisting is because of the description in the book that they cite. And indeed, if `1 if false` in the method definition given in note 3 is not an expression, then `2` is, and it could be taken that the... sawa (Tsuyoshi Sawada)
12:46 PM Feature #17745 (Closed): `IO#close_on_exec=` returns different value when called with `send, __send__, public_send` or not
Applied in changeset commit:git|42745ecae3ce95774f2fcc66467320471ca0460a.
----------
Remove meaningless IO#close_on_exec= spec [Feature #17745]
nobu (Nobuyoshi Nakada)
12:45 PM Revision 42745eca (git): Remove meaningless IO#close_on_exec= spec [Feature #17745]
nobu (Nobuyoshi Nakada)
12:45 PM Revision bc1323ce (git): Use RB_INTEGER_TYPE_P
nobu (Nobuyoshi Nakada)
11:36 AM Revision 261dca2e (git): [ruby/irb] Support non-English code page message
https://github.com/ruby/irb/commit/e7d71fea46 aycabta (aycabta .)
08:47 AM Bug #12235: URI.encode issue with square brackets
I just ran into this. My app is generating URLs which it cannot then parse. robb (Robb Shecter)
07:53 AM Bug #17429: Prohibit include/prepend in refinement modules
Eregon (Benoit Daloze) wrote in #note-20:
> One more issue reported due these confusing semantics of include/prepend inside `refine`: #18021.
> ...
I've implemented Refinement#import in https://github.com/shugo/ruby/pull/3
In the cu...
shugo (Shugo Maeda)
05:47 AM Revision 5e7675d4 (git): * 2021-07-20 [ci skip]
git[bot]
05:46 AM Revision 2e670430 (git): Use UNREACHABLE instead of fall through
znz (Kazuhiro NISHIYAMA)

07/19/2021

08:41 PM Feature #18040: Why should `foo(1 if true)` be an error?
bughit (bug hit) wrote in #note-5:
> jeremyevans0 (Jeremy Evans) wrote in #note-4:
> ...
The reason that `foo(1 if false)` is a syntax error is due to a parsing failure. The parser considers it a statement (`stmt`) and not an expressi...
jeremyevans0 (Jeremy Evans)
07:56 PM Feature #18040: Why should `foo(1 if true)` be an error?
jeremyevans0 (Jeremy Evans) wrote in #note-4:
> You may want to read the definition of `stmt` in parse.y, particularly this part: https://github.com/ruby/ruby/blob/eed5e8f796ab18e2e0a436dab83e35504ae3ded0/parse.y#L1481
You can call it a...
bughit (bug hit)
07:23 PM Feature #18040: Why should `foo(1 if true)` be an error?
bughit (bug hit) wrote in #note-2:
> jeremyevans0 (Jeremy Evans) wrote in #note-1:
> ...
You may want to read the definition of `stmt` in parse.y, particularly this part: https://github.com/ruby/ruby/blob/eed5e8f796ab18e2e0a436dab83e35...
jeremyevans0 (Jeremy Evans)
07:22 PM Feature #18040: Why should `foo(1 if true)` be an error?
```rb
def foo
2
1 if false
end
p foo
```
foo returns nil, the value of the last expression `1 if false`, no parens required since there's no ambiguity, as there isn't any in `foo(1 if true)`
bughit (bug hit)
07:11 PM Feature #18040: Why should `foo(1 if true)` be an error?
jeremyevans0 (Jeremy Evans) wrote in #note-1:
> `1 if true` is a statement and not an expression
`1 if true` is an expression (as pretty much everything in ruby) whose value is nil, if the condition is false, else the modified subexp...
bughit (bug hit)
07:03 PM Feature #18040: Why should `foo(1 if true)` be an error?
`1 if true` is a statement and not an expression, and you can only pass expressions as method arguments. `(1 if true)` is an expression, which is why it is allowed. Consider how `foo(1 if true)` would work with multiple arguments, and yo... jeremyevans0 (Jeremy Evans)
06:47 PM Feature #18040 (Rejected): Why should `foo(1 if true)` be an error?
There's no ambiguity here that should require another set of parens `foo((1 if true))` bughit (bug hit)
08:51 AM Misc #18017: Broken links from Revision e86c1f6f to changed files
I've seen many times as well. Sometimes refreshing the page works. Eregon (Benoit Daloze)
05:13 AM Misc #18017 (Closed): Broken links from Revision e86c1f6f to changed files
I already filed this issue to https://github.com/ruby/b.r-l.o/issues/124 . But I have no enough time to investigate this. Sorry.
hsbt (Hiroshi SHIBATA)
08:21 AM Revision 036f26a4 (git): Add `fall through`
Pointed out by Coverity Scan
```
** CID 1487522: Control flow issues (MISSING_BREAK)
/error.c: 1273 in exc_full_message()
```
znz (Kazuhiro NISHIYAMA)
08:18 AM Revision fa239e04 (git): Remove unneeded quotes [ci skip]
nobu (Nobuyoshi Nakada)
07:46 AM Misc #10032 (Closed): Matrix classについて
Matrix has been extracted as the bundled gem for Ruby 3.1. We can discuss about Matrix class on https://github.com/ruby/matrix hsbt (Hiroshi SHIBATA)
02:59 AM Revision 95dd4613 (git): [ruby/racc] Removed pre-setup from gemspec
https://github.com/ruby/racc/commit/2f6f02e5c1 hsbt (Hiroshi SHIBATA)
02:59 AM Revision dbcfc8d4 (git): [ruby/racc] Removed needless files from gemspec
https://github.com/ruby/racc/commit/d044ae883f hsbt (Hiroshi SHIBATA)
02:59 AM Revision b5b3cd27 (git): [ruby/racc] Move document from library directory
https://github.com/ruby/racc/commit/2e8d7d286d hsbt (Hiroshi SHIBATA)
02:54 AM Revision 7217f60b (git): [ruby/racc] Removed generate code from parser.rb. It's already migrated by rake task
https://github.com/ruby/racc/commit/ec7d01980a hsbt (Hiroshi SHIBATA)
01:57 AM Revision ab2bd3ff (git): test/openssl/test_x509cert.rb: Prevent "unused variable" warning
mame (Yusuke Endoh)
01:34 AM Revision 91ffce8f (git): [ruby/did_you_mean] Prevent "warning: ambiguity between regexp and two divisions"
```
test/did_you_mean/spell_checking/test_uncorrectable_name_check.rb:13: warning: ambiguity between regexp and two divisions: wrap regexp in parentheses or add a space after `/' operator
```
http://rubyci.s3.amazonaws.com/ubuntu/ruby-ma...
mame (Yusuke Endoh)

07/18/2021

11:10 PM Bug #17666: Thread#join hangs when Fiber.set_scheduler is set
I also tested it against `async` `main` branch which can hang on 3.0.2, but passes on 3.0.2 + your PR. So, I can confirm this fixes the issue that was discussed here. ioquatix (Samuel Williams)
11:05 PM Bug #17666: Thread#join hangs when Fiber.set_scheduler is set
I have made a PR to your PR.
https://github.com/nagachika/ruby/pull/1
This adds a test case which fails without this backport.
ioquatix (Samuel Williams)
05:37 PM Bug #17666: Thread#join hangs when Fiber.set_scheduler is set
@nagachika thanks so much for your effort here. I have a local test case which can easily fail without this fix, so I'll try your PR to confirm it fixes the issue. ioquatix (Samuel Williams)
07:32 AM Bug #17666: Thread#join hangs when Fiber.set_scheduler is set
Hello Samuel,
I have created a backport patch according to your suggestions.
https://github.com/nagachika/ruby/commit/c2697018d4d8cad7ea80ca6aa57f65d76072053c
Are there anything else should be included?
Would you review my patch ...
nagachika (Tomoyuki Chikanaga)
10:43 PM Revision bac5ec0f (git): * 2021-07-19 [ci skip]
git[bot]
10:43 PM Revision a541fe1a (git): Doc guide for class/module (#4600)
Co-authored-by: Marivaldo Cavalheiro <marivaldo@gmail.com> burdettelamar (Burdette Lamar)
01:09 PM Bug #18014: Memory leak in GC when using Ractors
Thanks @nagachika! The patch looks good. peterzhu2118 (Peter Zhu)
06:52 AM Bug #18014: Memory leak in GC when using Ractors
Backporting 4a627dbdfd1165022fa9e716ba845e937b03773d conflicts since ruby_3_0 does not include T_PAYLOAD.
I have created the patch for ruby_3_0 to partially backport 119697f61e2b2b157816a8aa33aada5863959900 and 4a627dbdfd1165022fa9e716b...
nagachika (Tomoyuki Chikanaga)
11:51 AM Revision 8a6ef5ef (git): Make boolean expected messages more consitent
nobu (Nobuyoshi Nakada)
11:38 AM Revision 9b972310 (git): [ruby/racc] Add missing check for rb_block_call()
* It used to be hardcoded since 0affbf9d2c7c5c618b8d3fe191e74d9ae8ad22fc
but got removed in 23abf3d3fb82afcc26d35769f0dec59dd46de4bb
* This means that since that second commit, rb_iterate() was used unintentionally.
https://github.com...
Eregon (Benoit Daloze)
11:38 AM Revision 23c4b93e (git): [ruby/racc] Shrink gem size
https://github.com/ruby/racc/commit/27e2a64e13 Bruno Arueira
10:56 AM Revision 56d98369 (git): Constified a local table
nobu (Nobuyoshi Nakada)
10:55 AM Revision ab37e6ee (git): Adjust styles [ci skip]
* --procnames-start-lines nobu (Nobuyoshi Nakada)
10:22 AM Revision 803eb1ee (git): Get rid of type aliasing
nobu (Nobuyoshi Nakada)
09:19 AM Feature #17881: Add a Module#const_added callback
Followup here.
Before I started working on Zeitwerk, I benchmarked whether a TP enabled on the `:class` event had a measurable impact. Richard Schneeman and Sam Saffron ran benchmarks too. Tests said it did not, that validated the techn...
fxn (Xavier Noria)
09:04 AM Revision bd356c68 (git): [ruby/openssl] Strip trailing spaces
https://github.com/ruby/openssl/commit/68fa9c86f1 rhenium (Kazuki Yamaguchi)
08:48 AM Revision 3f1d8a18 (git): [ruby/openssl] Deprecate and rework old (fd) centric functions
[ky: fixed compatibility with older versions of Ruby]
(cherry picked from commit ruby/ruby@45e65f302b663b2c6ab69df06d3b6f219c1797b2)
https://github.com/ruby/openssl/commit/8d928e0fb9
Samuel Williams
08:48 AM Revision 39758407 (git): [ruby/openssl] Use rb_block_call() instead of the deprecated rb_iterate() in OpenSSL
* See https://bugs.ruby-lang.org/issues/18025
and https://github.com/ruby/ruby/pull/4629
https://github.com/ruby/openssl/commit/b8e4852dcc
Eregon (Benoit Daloze)
08:48 AM Revision 11651ab7 (git): [ruby/openssl] Add example to OpenSSL::KDF.hkdf method (https://github.com/ruby/openssl/pull/447)
The values from RFC 5869
https://datatracker.ietf.org/doc/html/rfc5869#appendix-A.1
https://github.com/ruby/openssl/commit/ec14a87f4f
Yusuke Nakamura
08:48 AM Revision 70f0a802 (git): [ruby/openssl] use Bundler for dependency management and Rake gem tasks
Back in 2016, we chose not to use Bundler in Ruby/OpenSSL development
because Bundler depended on openssl and could not be used for testing
openssl itself - "bundle exec rake test" would end up with loading two
different versions of open...
rhenium (Kazuki Yamaguchi)
08:45 AM Revision 4f7c3f63 (git): [ruby/openssl] Include peer socket IP address in errors
https://github.com/ruby/openssl/commit/8a1e3f5085 vinistock (Vinicius Stock)
08:45 AM Revision 3d37e5d1 (git): [ruby/openssl] Add OpenSSL::BN#set_flags and #get_flags
Also, OpenSSL::BN::CONSTTIME is added.
OpenSSL itself had a feature that was vulnerable against a side-channel
attack. The OpenSSL authors determined that it was not a security issue,
and they have already fixed the issue by using BN_se...
mame (Yusuke Endoh)
08:45 AM Revision 5fc2912e (git): [ruby/openssl] pkey/dsa: refactor DSA#sys{sign,verify} with PKey#{sign,verify}_raw
With the newly added OpenSSL::PKey::PKey#{sign,verify}_raw,
OpenSSL::PKey::DSA's low level signing operation methods can be
implemented in Ruby. The definitions are now in lib/openssl/pkey.rb.
https://github.com/ruby/openssl/commit/ce80...
rhenium (Kazuki Yamaguchi)
08:45 AM Revision 0c23e4a7 (git): [ruby/openssl] pkey/ec: refactor EC#dsa_{sign,verify}_asn1 with PKey#{sign,verify}_raw
With the newly added OpenSSL::PKey::PKey#{sign,verify}_raw,
OpenSSL::PKey::EC's low level signing operation methods can be
implemented in Ruby. The definitions are now in lib/openssl/pkey.rb.
https://github.com/ruby/openssl/commit/1f9da...
rhenium (Kazuki Yamaguchi)
08:44 AM Revision 857a177b (git): [ruby/openssl] pkey/rsa: port RSA#{private,public}_{encrypt,decrypt} to the EVP API
Implement these methods using the new OpenSSL::PKey::PKey#{encrypt,sign}
family. The definitions are now in lib/openssl/pkey.rb.
Also, recommend using those generic methods in the documentation.
https://github.com/ruby/openssl/commit/2...
rhenium (Kazuki Yamaguchi)
08:44 AM Revision 4ebff359 (git): [ruby/openssl] pkey: implement PKey#sign_raw, #verify_raw, and #verify_recover
Add a variant of PKey#sign and #verify that do not hash the data
automatically.
Sometimes the caller has the hashed data only, but not the plaintext
to be signed. In that case, users would have to use the low-level API
such as RSA#priva...
rhenium (Kazuki Yamaguchi)
08:44 AM Revision cbc560e3 (git): [ruby/openssl] pkey: update version reference in #sign and #verify documentation
The next release is decided to be 3.0 rather than 2.3.
https://github.com/ruby/openssl/commit/b8a434e462
rhenium (Kazuki Yamaguchi)
08:44 AM Revision 87458ff2 (git): [ruby/openssl] pkey: implement PKey#encrypt and #decrypt
Support public key encryption and decryption operations using the EVP
API.
https://github.com/ruby/openssl/commit/75326d4bbc
rhenium (Kazuki Yamaguchi)
08:44 AM Revision eac7fd57 (git): [ruby/openssl] pkey: remove deprecated parameter setters
Remove the following methods, which have been marked as deprecated and
produced a warning since version 2.0, commit 7ea72f1f5084 ("adapt
OpenSSL::PKey to OpenSSL 1.1.0 opaque structs", 2016-06-05).
- OpenSSL::PKey::RSA#n=, #e=, #d=, #p...
rhenium (Kazuki Yamaguchi)
08:44 AM Revision 1146a94a (git): [ruby/openssl] Implement `Certificate.load` to load certificate chain. (https://github.com/ruby/openssl/pull/441)
* Add feature for loading the chained certificate into Certificate array.
https://github.com/ruby/openssl/commit/05e1c015d6
Co-authored-by: Sao I Kuan <saoikuan@gmail.com>
Samuel Williams
08:44 AM Revision a01daab6 (git): [ruby/openssl] x509, ssl, pkcs7: try to parse as DER-encoding first
Methods that take both PEM-encoding and DER-encoding have not been
consistent in the order in which encoding to attempt to parse.
A DER-encoding may contain a valid PEM block ("\n-----BEGIN ..-----" to
"-----END ...-----") embedded with...
rhenium (Kazuki Yamaguchi)
08:44 AM Revision 29ad4ab3 (git): [ruby/openssl] Fix some typos [ci skip]
https://github.com/ruby/openssl/commit/51b3030b2b kamipo (Ryuta Kamizono)
08:44 AM Revision 593164c2 (git): [ruby/openssl] Add SSLSocket#getbyte
Normal sockets respond to `getbyte`, so we should make SSLSocket respond
to `getbyte` as well. This way we can substitute SSLSockets for regular
sockets.
https://github.com/ruby/openssl/commit/ac1490b7c9
tenderlovemaking (Aaron Patterson)
08:44 AM Revision 6d71918d (git): [ruby/openssl] pkey/dh, pkey/ec: use EVP_PKEY_check() family
Use EVP_PKEY_param_check() instead of DH_check() if available. Also,
use EVP_PKEY_public_check() instead of EC_KEY_check_key().
EVP_PKEY_*check() is part of the EVP API and is meant to replace those
low-level functions. They were added ...
rhenium (Kazuki Yamaguchi)
08:44 AM Revision 3fe83879 (git): [ruby/openssl] pkey: implement {DH,DSA,RSA}#public_key in Ruby
The low-level API that is used to implement #public_key is deprecated
in OpenSSL 3.0. It is actually very simple to implement in another way,
using existing methods only, in much shorter code. Let's do it.
While we are at it, the docume...
rhenium (Kazuki Yamaguchi)
08:44 AM Revision 5d1693aa (git): [ruby/openssl] pkey: implement #to_text using EVP API
Use EVP_PKEY_print_private() instead of the low-level API *_print()
functions, such as RSA_print().
EVP_PKEY_print_*() family was added in OpenSSL 1.0.0.
Note that it falls back to EVP_PKEY_print_public() and
EVP_PKEY_print_params() as...
rhenium (Kazuki Yamaguchi)
08:44 AM Revision 436aecb5 (git): [ruby/openssl] pkey: remove unused ossl_generate_cb_2() helper function
The previous series of commits re-implemented key generation with the
low level API with the EVP API. The BN_GENCB-based callback function is
no longer used.
https://github.com/ruby/openssl/commit/81027b7463
rhenium (Kazuki Yamaguchi)
08:44 AM Revision 38436d1f (git): [ruby/openssl] pkey/dsa: use high level EVP interface to generate parameters and keys
Implement PKey::DSA.new(size) and PKey::DSA.generate using
OpenSSL::PKey.generate_parameters and .generate_key instead of the low
level DSA functions.
https://github.com/ruby/openssl/commit/1800a8d5eb
rhenium (Kazuki Yamaguchi)
08:44 AM Revision b8dcf9c8 (git): [ruby/openssl] pkey/rsa: use high level EVP interface to generate parameters and keys
Implement PKey::RSA.new(size, exponent) and PKey::RSA.generate using
OpenSSL::PKey.generate_key instead of the low level RSA functions.
https://github.com/ruby/openssl/commit/363fd10713
rhenium (Kazuki Yamaguchi)
08:44 AM Revision 098985a5 (git): [ruby/openssl] pkey/dh: use high level EVP interface to generate parameters and keys
Implement PKey::DH.new(size, gen), PKey::DH.generate(size, gen), and
PKey::DH#generate_key! using PKey.generate_parameters and .generate_key
instead of the low level DH functions.
Note that the EVP interface can enforce additional restr...
rhenium (Kazuki Yamaguchi)
08:44 AM Revision 595644e4 (git): [ruby/openssl] pkey: fix interrupt handling in OpenSSL::PKey.generate_key
rb_thread_call_without_gvl() can be interrupted, but it may be able to
resume the operation. Call rb_thread_check_ints() to see if it raises
an exception or not.
https://github.com/ruby/openssl/commit/88b90fb856
rhenium (Kazuki Yamaguchi)
08:44 AM Revision 8cfe92b8 (git): [ruby/openssl] pkey: allow setting algorithm-specific options in #sign and #verify
Similarly to OpenSSL::PKey.generate_key and .generate_parameters, let
OpenSSL::PKey::PKey#sign and #verify take an optional parameter for
specifying control strings for EVP_PKEY_CTX_ctrl_str().
https://github.com/ruby/openssl/commit/faf...
rhenium (Kazuki Yamaguchi)
08:44 AM Revision e2014d03 (git): [ruby/openssl] pkey: prepare pkey_ctx_apply_options() for usage by other operations
The routine to apply Hash to EVP_PKEY_CTX_ctrl_str() is currently used
by key generation, but it is useful for other operations too. Let's
change it to a slightly more generic name.
https://github.com/ruby/openssl/commit/b2b77527fd
rhenium (Kazuki Yamaguchi)
08:44 AM Revision 1706302b (git): [ruby/openssl] pkey: fix potential memory leak in PKey#sign
Fix potential leak of EVP_MD_CTX object in an error path. This path is
normally unreachable, since the size of a signature generated by any
supported algorithms would not be larger than LONG_MAX.
https://github.com/ruby/openssl/commit/9...
rhenium (Kazuki Yamaguchi)
08:44 AM Revision b7a908af (git): [ruby/openssl] ossl.c: do not set locking callbacks on LibreSSL
Similarly to OpenSSL >= 1.1.0, LibreSSL 2.9.0 ensures thread safety
without requiring applications to set locking callbacks and made
related functions no-op.
https://github.com/ruby/openssl/commit/7276233e1a
rhenium (Kazuki Yamaguchi)
08:44 AM Revision 88d64418 (git): [ruby/openssl] ssl: use TLS_method() instead of SSLv23_method() for LibreSSL
LibreSSL 2.2.2 introduced TLS_method(), but with different semantics
from OpenSSL: TLS_method() enabled TLS >= 1.0 while SSLv23_method()
enabled all available versions, which included SSL 3.0 in addition.
However, LibreSSL 2.3.0 removed...
rhenium (Kazuki Yamaguchi)
08:44 AM Revision 50332c40 (git): [ruby/openssl] ssl: call SSL_CTX_set_ecdh_auto() on OpenSSL 1.0.2 only
SSL_CTX_set_ecdh_auto() exists in OpenSSL 1.1.0 and LibreSSL 2.6.1, but
it is made no-op and the automatic curve selection cannot be disabled.
Wrap it with ifdef to make it clear that it is safe to remove it
completely when we drop suppo...
rhenium (Kazuki Yamaguchi)
08:44 AM Revision cd002305 (git): [ruby/openssl] require OpenSSL >= 1.0.2 and LibreSSL >= 3.1
Clean up old version guards in preparation for the upcoming OpenSSL 3.0
support.
OpenSSL 1.0.1 reached its EOL on 2016-12-31. At that time, we decided
to keep 1.0.1 support because many major Linux distributions were still
shipped with ...
rhenium (Kazuki Yamaguchi)
08:44 AM Revision decce40d (git): [ruby/openssl] bn: update documentation of OpenSSL::BN#initialize and #to_s
Clarify that BN.new(str, 2) and bn.to_s(2) handles binary string in
big-endian, and the sign of the bignum is ignored.
Reference: https://github.com/ruby/openssl/issues/431
https://github.com/ruby/openssl/commit/6fae2bd612
rhenium (Kazuki Yamaguchi)
08:44 AM Revision 01fcb8f4 (git): [ruby/openssl] BN.abs and BN uplus
Adds standard math abs fuction and revises uplus to return a duplicated object due to BN mutability
https://github.com/ruby/openssl/commit/0321b1e945
Rick Mark
03:40 AM Revision ed1e5663 (git): * 2021-07-18 [ci skip]
git[bot]
02:43 AM Bug #18016: fiddle\types.rb typealias maybe wrong
ruby_3_0 c4b602e80fdc1824c68602302a4ed82a0e90d5b7 merged revision(s) 25e56fe374478a2266ac25f22a07bb3c6a423c83,8758b07b1e4fd636dffb4b442388a3033c63d4b5,791e8eec66d3aebcee36c1369b0bf52bc3815e94. nagachika (Tomoyuki Chikanaga)
02:43 AM Bug #12052: String#encode with xml option returns wrong result for totally non-ASCII-compatible encodings
ruby_3_0 b93a2d9d2cac5d3efe72537debedb089d447d33a merged revision(s) 391abc543cea118a9cd7d6310acadbfa352668ef,e86c1f6fc53433ef5c82ed2b7a4cc9a12c153e4c,f6539202c52a051a4e6946a318a1d9cd29002990. nagachika (Tomoyuki Chikanaga)
02:42 AM Bug #18030: Backport 1fac99afdae2671a9ca86bead5bde4d0e2eff1b4
ruby_3_0 ca6ebde821991cb558003c3a1d680eaa8df3169d merged revision(s) 1fac99afdae2671a9ca86bead5bde4d0e2eff1b4. nagachika (Tomoyuki Chikanaga)
02:40 AM Revision e0e12202 (git): Use rb_block_call() instead of the deprecated rb_iterate()
nobu (Nobuyoshi Nakada)
02:22 AM Revision c4b602e8 (git): merge revision(s) 25e56fe374478a2266ac25f22a07bb3c6a423c83,8758b07b1e4fd636dffb4b442388a3033c63d4b5,791e8eec66d3aebcee36c1369b0bf52bc3815e94: [Backport #18016]
[ruby/fiddle] Fix Win32Types for Windows 64-bit (#63)
https://docs.microsoft.com/en-us/windows/win32/winprog/windows-data-types
https://github.com/ruby/fiddle/commit/28ee5b1608
---
ext/fiddle/lib/fiddle...
nagachika (Tomoyuki Chikanaga)
02:19 AM Revision b93a2d9d (git): merge revision(s) 391abc543cea118a9cd7d6310acadbfa352668ef,e86c1f6fc53433ef5c82ed2b7a4cc9a12c153e4c,f6539202c52a051a4e6946a318a1d9cd29002990: [Backport #12052]
Scan the coderange in the given encoding
---
ext/-test-/string/enc_str_buf_cat.c | 14 ++++++++++++++
string.c | 32 ++++++++++++++++++++++---------
test/-ext-/stri...
nagachika (Tomoyuki Chikanaga)
02:02 AM Bug #17584: Segmentation fault with Ruby 3.0
already backported at 9680ee97e0b3e87c0fc9a65c01de1ee50a1a178b.
ref. https://bugs.ruby-lang.org/issues/17928
nagachika (Tomoyuki Chikanaga)
01:58 AM Revision ca6ebde8 (git): merge revision(s) 1fac99afdae2671a9ca86bead5bde4d0e2eff1b4: [Backport #18030]
skip marking for uninitialized imemo_env.
RUBY_INTERNAL_EVENT_NEWOBJ can expose uninitialized imemo_env
objects and marking it will cause critical error. This patch
skips marking on uninitialized imemo_env.
...
nagachika (Tomoyuki Chikanaga)

07/17/2021

04:37 AM Revision 4885c44b (git): cont.c: fix formatting of RDoc for Fiber class
rhenium (Kazuki Yamaguchi)
04:24 AM Revision f11f9fc9 (git): Disable spec of `pattern matching is experimental` since 3.1
znz (Kazuhiro NISHIYAMA)
04:24 AM Revision 2a5b5ff4 (git): Fix a spec failure
```
1)
Warning.[]= :experimental emits and suppresses warnings for :experimental FAILED
Expected "" =~ /is experimental/
to be truthy but was nil
```
znz (Kazuhiro NISHIYAMA)
04:16 AM Revision 503fa162 (git): Fix a spec failure
```
1)
The -W command line option with :no-experimental suppresses experimental warnings FAILED
Expected "" =~ /is experimental/
to be truthy but was nil
```
znz (Kazuhiro NISHIYAMA)
02:16 AM Revision f36a5a76 (git): * 2021-07-17 [ci skip]
git[bot]
02:13 AM Revision eed5e8f7 (git): One-line pattern matching is no longer experimental
https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20210715Japan.md#feature-17724-make-the-pin-operator-support-instanceclassglobal-variables-jeremyevans0 ktsj (Kazuki Tsujimoto)

07/16/2021

02:47 PM Bug #17803 (Closed): Segmentation fault during deflate
jeremyevans0 (Jeremy Evans)
10:11 AM Misc #18025 (Closed): rb_iterate is obsolete since 1.9 but is not marked as deprecated for C compilers
Applied in changeset commit:git|fd0df9c4fb36597e5e3f500670b29dbd77a14eca.
----------
Emit deprecatation warnings for rb_iterate()
* It is obsolete since 1.9, see
https://github.com/ruby/ruby/blob/master/doc/extension.rdoc#label-Contr...
Eregon (Benoit Daloze)
10:11 AM Revision fd0df9c4 (git): Emit deprecatation warnings for rb_iterate()
* It is obsolete since 1.9, see
https://github.com/ruby/ruby/blob/master/doc/extension.rdoc#label-Control+Structure
and [Misc #18025]
Eregon (Benoit Daloze)
09:41 AM Bug #18038: Invalid interpolation in heredocs
It seems that `heredoc_dedent` in `parse.y` interacts badly with some sort of interpolation optimizations.
A patch is shown below to disable such optimizations.
```diff
--- a/parse.y
+++ b/parse.y
@@ -10184,7 +10184,9 @@ new_evs...
xtkoba (Tee KOBAYASHI)
08:50 AM Feature #15211 (Closed): Integer.try_convert
Applied in changeset commit:git|301d194ee3b49e6b078eccb999dd538e9bfa8c7c.
----------
Add Integer.try_convert [Feature #15211]
nobu (Nobuyoshi Nakada)
08:49 AM Revision 301d194e (git): Add Integer.try_convert [Feature #15211]
nobu (Nobuyoshi Nakada)
07:10 AM Revision eee70959 (git): io.c: Clarify the behavior of `IO.read` when called as `File.read`
Ditto to `IO.binread`, `IO.write`, `IO.binwrite`, `IO.foreach`, and
`IO.readlines`.
mame (Yusuke Endoh)
06:40 AM Revision 650a65c6 (git): [rubygems/rubygems] Add missing `require 'fileutils'` in `Gem::ConfigFile`
https://github.com/rubygems/rubygems/commit/c4004fadd9 Masafumi Koba
06:40 AM Revision 71d3c9bb (git): [rubygems/rubygems] Fix `bundle plugin install --help` showing `bundle install`'s help
https://github.com/rubygems/rubygems/commit/b7b7d16aa8 deivid (David Rodríguez)
06:40 AM Revision c5f78ade (git): [rubygems/rubygems] fix dangling empty hooks
it turns out that running `bundle plugin uninstall some-plugin` would remove that plugin from the list of hooks, but if the list of hooks for an event was now empty, we would serialize the empty array into yaml as an empty single bullet ... indirect (André Arko)
06:40 AM Revision a3d2200b (git): [rubygems/rubygems] test loading bad plugins with nil/empty names
https://github.com/rubygems/rubygems/commit/e64b1f3497 indirect (André Arko)
06:40 AM Revision 5cce9689 (git): [rubygems/rubygems] remove focus
https://github.com/rubygems/rubygems/commit/584a393812 indirect (André Arko)
06:40 AM Revision 44ba77d1 (git): [rubygems/rubygems] lock for development on macos
https://github.com/rubygems/rubygems/commit/60469e4cac indirect (André Arko)
06:40 AM Revision 227c2def (git): [rubygems/rubygems] Fix development gem unintentionally removed on an edge case
When a development dependency was duplicated inside the gemspec and
Gemfile with the same requirements, we went from printing a warning to
removing the gem altogether.
This change makes it not print a warning, but don't remove the gem
e...
deivid (David Rodríguez)
06:40 AM Revision bbaebbf5 (git): [rubygems/rubygems] Fix contradictory message about deletion of default gem
[Fixes #4733]
https://github.com/rubygems/rubygems/commit/fce7f3eb7d
jaredbeck (Jared Beck)
06:25 AM Misc #18039 (Closed): DevelopersMeeting20210819Japan
# The next dev meeting
**Date: 2021/08/19 13:00-17:00**
Place/Sign-up/Agenda/Log: https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20210819Japan.md
- Dev meeting *IS NOT* a decision-making place. All decisions ...
mame (Yusuke Endoh)
06:25 AM Misc #17997 (Closed): DevelopersMeeting20210715Japan
mame (Yusuke Endoh)
06:25 AM Revision 29ed9d1a (git): [ruby/error_highlight] Fix leaked tempfiles
https://github.com/ruby/error_highlight/commit/8b353a10a7 nobu (Nobuyoshi Nakada)
06:07 AM Feature #17795 (Open): Around `Process.fork` callbacks API
@byroot Oh no! Reopening. Sorry for the noise. mame (Yusuke Endoh)
05:32 AM Revision 6073a8bd (git): Add debug assertion in `rb_funcall*` that the current thread has the gvl.
Samuel Williams
04:50 AM Revision 55a79b64 (git): Adjust the release version of ruby2_keywords
hsbt (Hiroshi SHIBATA)
03:04 AM Feature #17994: Clarify `IO.read` behavior and add `File.read` method
I noticed that this issue is not only in `IO.read` but also in `IO.binread`, `IO.write`, `IO.binwrite`, and `IO.readlines`.
Adding `File.binread` etc. is clearly hard to maintain, so I agree that we should change only the doc of `IO.rea...
mame (Yusuke Endoh)
02:48 AM Feature #18033: Time.new to parse a string
> Yes, it seems by design, and changing the behavior will just break something.
I think there is value in the following interface:
`Time.parse(..., strict: true)` where we have some very clearly documented interpretation of `strict`.
...
ioquatix (Samuel Williams)
02:26 AM Revision 25689024 (git): Added code fence to the example in [Feature #17724] [ci skip]
nobu (Nobuyoshi Nakada)
 

Also available in: Atom