Project

General

Profile

Activity

From 05/18/2021 to 05/24/2021

05/24/2021

11:03 PM Revision 274d0aa7 (git): * 2021-05-25 [ci skip]
git[bot]
11:02 PM Revision 45ddefb1 (git): add rb_id2str to lldb debugging scripts
tenderlovemaking (Aaron Patterson)
08:00 PM Bug #17885: require_relative and require should be compatible with each other when symlinked files are used
I totally support this. And there is more to this #16978 vo.x (Vit Ondruch)
04:40 PM Bug #17885: require_relative and require should be compatible with each other when symlinked files are used
This causes [an issue with rules_ruby for Bazel](https://github.com/bazelruby/rules_ruby/issues/100). Bazel uses symlinks extensively to implement hermetic build sandboxing. john_firebaugh (John Firebaugh)
04:39 PM Bug #17885 (Closed): require_relative and require should be compatible with each other when symlinked files are used
This is similar to #10222 (which was fixed), but it's with symlinked files. #10222 was with symlinked directories.
If files are symlinked, then mixing `require` and `require_relative` can result in the same file being loaded twice.
...
john_firebaugh (John Firebaugh)
07:32 PM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
Hei!
I see how this is inconsistent, and if it was to be implemented from scratch, I think it would make sense to always process options in RUBYOPT first so that CLI args can always override them "Override" can have multiple meanings he...
deivid (David Rodríguez)
05:09 PM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
I'm clearly against changing the order because of compatibility. Also, the current order is somewhat reasonable. In principle, explicit command-line arguments are "stronger" than RUBYOPT. For `RUBYOPT=-W2 ruby -W0`, `-W0` wins; `-W2` is ... mame (Yusuke Endoh)
02:27 PM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
Instead of adding `BUNDLE_BIN_PATH`, which would be specific to bundler, I would prefer to instead add something more generic such as `RUBYEARLYOPT` or `RUBYPREOPT`, which is just like `RUBYOPT` but processed before command line options. jeremyevans0 (Jeremy Evans)
10:25 AM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
Personally I find the order confusing, in many/most command-line executables, direct arguments have precedence over environment variables.
For `-W`, direct arguments actually have precedence, as expected (command line args should alwa...
Eregon (Benoit Daloze)
08:35 AM Feature #17883 (Rejected): Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
To reproduce the issue, prepare a Gemfile and run `bundle install --path=vendor/bundle`.
```
$ cat Gemfile
source "https://rubygems.org"
gem "activesupport"
$ bundle install --path=vendor/bundle
```
`Kernel#require` respects...
mame (Yusuke Endoh)
05:39 PM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
This ticket was discussed in the previous dev meeting. The use case is understandable, but @matz was not completely convinced that WeakMap is a suitable solution for that. He said he would reply.
In addition, @ko1 said that it would b...
mame (Yusuke Endoh)
05:08 PM Bug #17887 (Closed): Missed constant lookup after prepend
**Description**
The following shows that the constant lookup from B does not find the constant in the prepended M module. I would expect this lookup to behave like "B.include M" which does print the constant from module M.
**Examp...
bjfish (Brandon Fish)
04:50 PM Misc #17811 (Closed): DevelopersMeeting20210521Japan
mame (Yusuke Endoh)
04:46 PM Misc #17886 (Closed): DevelopersMeeting20210617Japan
# The next dev meeting
**Date: 2021/06/17 13:00-17:00**
Place/Sign-up/Agenda/Log: https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20210615Japan.md
- Dev meeting *IS NOT* a decision-making place. All decisions ...
mame (Yusuke Endoh)
03:41 PM Feature #17884 (Assigned): locindex for profiling tools
(MRI internals)
Profiling tools need to record the code location, mainly a pair of file path and line number ("file:line").
To record this pair in 64bit CPU, 8B (VALUE) + 4B (int) = 12B is needed. In general, the number of pairs (fil...
ko1 (Koichi Sasada)
10:55 AM Feature #17853: Add Thread#thread_id
Created a proposed implementation:
https://github.com/ruby/ruby/compare/master...nurse:native_thread_id
naruse (Yui NARUSE)
09:37 AM Revision 4aaa98e6 (git): xibbar is retired from cgi.rb maintainer
hsbt (Hiroshi SHIBATA)
09:18 AM Feature #17873: Update of default gems in Ruby 3.1
@knu I have no strong opinion to remove `syslog` in Ruby 3.1. I withdraws it from this proposal. hsbt (Hiroshi SHIBATA)
03:13 AM Revision f57968e3 (git): Set USE_COLORIZE to the default value in a test
aycabta (aycabta .)
02:56 AM Revision d06d4560 (git): [ruby/irb] update test/irb/test_init.rb to avoid useless eval
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
https://github.com/ruby/irb/commit/2dfdc031ec
jethrodaniel (Mark Delk)
02:55 AM Revision b8ffb1c4 (git): [ruby/irb] respect NO_COLOR environment variable
When `NO_COLOR` is set to any non-nil value, output is not colorized.
See https://no-color.org/
https://github.com/ruby/irb/commit/401d0916fe
jethrodaniel (Mark Delk)
12:41 AM Revision e16a6429 (git): * 2021-05-24 [ci skip]
git[bot]
12:41 AM Revision ce360977 (git): Refactor num_zero_p function (#4522)
S_H_ (Shun Hiraoka)

05/23/2021

10:42 PM Bug #17866: Incompatible changes with Psych 4.0.0
naruse (Yui NARUSE) wrote in #note-10:
> Since I want Ruby 3.1 to keep as much as compatibility for Ruby 3.0 to ensure application/library developer adopt Ruby 3, I’m negative to go Ruby 3.1 with Psych 4.0.0.
Unfortunately, users wil...
cabo (Carsten Bormann)
08:23 PM Bug #17792: make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
Interruption in `copy_stream` is what this test is intended for, and so the result of the test in #note-4 is a success. But taking about 2 minutes to finish is unexpected to me. Possibly due to a bug in the pthread library?
FWIW, the ...
xtkoba (Tee KOBAYASHI)
12:10 PM Feature #17881: Add a Module#const_added callback
> Would trigger on Foo::Bar = Class.new. (This one being a current limitation with TracePoint if I'm not mistaken)
Correct. Nowadays, you cannot define an explicit namespace with a constant assignment like that ([docs](https://github.co...
fxn (Xavier Noria)
10:38 AM Feature #17881: Add a Module#const_added callback
> What I had in mind in the conversation in the Zeitwerk ticket was not const_added. It was a callback that gets called when a new class/module is created and after it gets its name set if defined with the class/module keywords.
I see...
byroot (Jean Boussier)
07:08 AM Feature #17881: Add a Module#const_added callback
> If I'm not mistaken, such usage could cause the TracePoint to stay active at runtime, which isn't a huge deal, but will still trigger every time a singleton_class or anonymous class is created, which isn't a good practice at runtime, b... fxn (Xavier Noria)
05:52 AM Feature #17881: Add a Module#const_added callback
Oh, and while Zeitwerk can disable the TracePoint, it wouldn't be able to disable `on_new_module(&block)`, at most have a flag.
My personal take is: As far as Zeitwerk is concerned, I'd study some API if core believes we should not use ...
fxn (Xavier Noria)
05:36 AM Feature #17881: Add a Module#const_added callback
Another gotcha I see is that we cannot assume `const_added` is exclusive to Zeitwerk. Users could have their own. So we would need to prepend our own, to make sure it is not rewritten. And on reload, we would need to keep track of which ... fxn (Xavier Noria)
08:16 AM Feature #17853: Add Thread#thread_id
`native_id` sounds better to me. I agree with it.
As for `m:n thread model`, in my opinion, either volatile value or `nil` (this can happen when it's waiting an event in `select/epoll/kqueue` without assigning any thread?) sounds good...
komamitsu (Mitsunori Komatsu)
07:10 AM Bug #17736: Destructive methods inconsistently handle `receiver frozen state` in given block
ruby_3_0 44b87adc07621b6a8eddfcf4aaff34ce634179d4 merged revision(s) e019dd24df4ed7063ad80d4c2e4070141793f598,7954bb056be30e86c419fe3792064d28990a4999,7d3fdfb27dac456827b004d9e66a44b15f8cd762. nagachika (Tomoyuki Chikanaga)
07:09 AM Bug #17467: What makes strip() and lstrip() not stripping \u0000 from beginning of the string?
ruby_3_0 5af5ea7f860ed64062796e54e73274e7a56c7280 merged revision(s) cfd162d535c7a4f8b1f95255cc6be696a8b75557. nagachika (Tomoyuki Chikanaga)
07:09 AM Revision 5af5ea7f (git): merge revision(s) cfd162d535c7a4f8b1f95255cc6be696a8b75557: [Backport #17467]
Make String#{strip,lstrip}{,!} strip leading NUL bytes
The documentation already specifies that they strip whitespace
and defines whitespace to include null.
This wraps the new behavior in the appropriate guards...
nagachika (Tomoyuki Chikanaga)
06:51 AM Revision 44b87adc (git): merge revision(s) e019dd24df4ed7063ad80d4c2e4070141793f598,7954bb056be30e86c419fe3792064d28990a4999,7d3fdfb27dac456827b004d9e66a44b15f8cd762: [Backport #17736]
Ensure the receiver is modifiable before shrinking [Bug #17736]
* Ensure the receiver is modifiable before shinking [Bug #17736]
* Assert the receivers are not modified
---
array.c | 1 ...
nagachika (Tomoyuki Chikanaga)
06:05 AM Revision 86f7e55d (git): merge revision(s) 10e63f3f56cc0f559816d921f3e771dea02f3eb9:
[ruby/rdoc] Vertical-bar is disallowed in path names on Windows
No risk of remote code execution, when the file cannot be created.
https://github.com/ruby/rdoc/runs/2565343916?check_suite_focus=true#step:5:58
``...
nagachika (Tomoyuki Chikanaga)
06:04 AM Bug #17827: Monitor is not fiber safe
@nagachika thank you so much for your effort. ioquatix (Samuel Williams)
06:01 AM Bug #17827: Monitor is not fiber safe
ruby_3_0 f9196de1dee6f5ab8b6fe115070b92775a3500fe merged revision(s) 3a3b19b2bba49e5d6f1cf13764eb6dd701397be9. nagachika (Tomoyuki Chikanaga)
06:02 AM Bug #17625: OpenSSL::Timestamp::Response#failure_info does not work as documented
ruby_3_0 fc73fc79cbaee6674256589b7cfe53d20b638a05 merged revision(s) 1ad222477344597038d7ec08885a41f547c2a3b4. nagachika (Tomoyuki Chikanaga)
06:01 AM Bug #17780: Backport for super_method aliases in ruby 2.7.3 causes Segfault
ruby_3_0 410216c9db033a72f4dd119c366bc58dd54383ec merged revision(s) d8a13e504992a45d52063f7c925408d7aad3595a. nagachika (Tomoyuki Chikanaga)
05:59 AM Revision 410216c9 (git): merge revision(s) d8a13e504992a45d52063f7c925408d7aad3595a: [Backport #17780]
[Bug #17780] Fix Method#super_method for module alias
Method#super_method crashes for aliased module methods because they are
not defined on a class. This bug was introduced in
c60aaed1856b2b6f90de0992c3477183001...
nagachika (Tomoyuki Chikanaga)
05:40 AM Revision fc73fc79 (git): merge revision(s) 1ad222477344597038d7ec08885a41f547c2a3b4: [Backport #17625]
[ruby/openssl] Fixed the results of
OpenSSL::Timestamp::Response#failure_info
Made stored values `Symbol`s instead of `ID`s.
Fixes https://bugs.ruby-lang.org/issues/17625
Co-Authored-By: xtkoba (Tee KO...
nagachika (Tomoyuki Chikanaga)
05:36 AM Revision f9196de1 (git): merge revision(s) 3a3b19b2bba49e5d6f1cf13764eb6dd701397be9: [Backport #17827]
Fix Monitor to lock per Fiber, like Mutex [Bug #17827]
---
ext/monitor/monitor.c | 10 +++++-----
test/monitor/test_monitor.rb | 7 +++++++
2 files changed, 12 insertions(+), 5 deletions(-)
nagachika (Tomoyuki Chikanaga)
12:52 AM Bug #17584 (Assigned): Segmentation fault with Ruby 3.0
k0kubun (Takashi Kokubun)
12:08 AM Bug #17584: Segmentation fault with Ruby 3.0
mjit_compile.c:525 of Ruby 3.0.0 is the only hint about this error, but it seems like a race condition with GC of child ISeqs. I guess this could happen because mjit_mark only marks `compiling_iseq`. We probably need to mark children as ... k0kubun (Takashi Kokubun)
12:51 AM Feature #15425 (Feedback): Store MJIT header into Ruby versioned directory.
k0kubun (Takashi Kokubun)
12:40 AM Bug #17880: [BUG] We are killing the stack canary set by `opt_setinlinecache`
It's unfortunate that `rb_ractor_sharable_p` may call arbitrary methods, but maintaining leafness of opt_setinlinecache is probably not as important as opt_getinlinecache's. We could just set `attr bool leaf = false;` for fixing this. We... k0kubun (Takashi Kokubun)

05/22/2021

08:00 PM Bug #13876: Tempfile's finalizer can be interrupted by a Timeout exception which can cause the process to hang
Option 1 would be useful, might avoid delaying finalizers if the main thread is for a while in native code, and it is already what JRuby (IIRC) and TruffleRuby currently do. There is potentially some incompatibility, but it seems pretty ... Eregon (Benoit Daloze)
07:55 PM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
mame (Yusuke Endoh) wrote in #note-14:
> Just FYI. According to @ko1, masking all exceptions in an ensure clause is possible in pure Ruby, as long as you use MRI.
It does not seem to be the case: https://gist.github.com/eregon/9022f5...
Eregon (Benoit Daloze)
05:29 PM Feature #17881: Add a Module#const_added callback
> If I'm not mistaken, such usage could cause the TracePoint to stay active at runtime, which isn't a huge deal, but will still trigger every time a singleton_class or anonymous class is created, which isn't a good practice at runtime, b... fxn (Xavier Noria)
05:16 PM Feature #17881: Add a Module#const_added callback
> If the TP is not needed ever, it is not even enabled. If at some point you needed it, but no longer, Zeitwerk disables it.
True, but what worries me would be gems using Zeitwerk and not fully eagerloading, there's even an explicit A...
byroot (Jean Boussier)
05:01 PM Feature #17881: Add a Module#const_added callback
Let me also add something for context. @byroot knows it and probably @Eregon too, just for anybody else following.
Something the TP on the :class event allows you to do is to enable only if you need it. Allows you to be precise.
If...
fxn (Xavier Noria)
01:31 PM Feature #17881: Add a Module#const_added callback
Thanks a lot for working on this Jean.
If we add this, Zeitwerk would be using a somewhat more "normal" API. TracePoint is correct, but seems a bit off to me conceptually (I do not know if I should revise that perception, maybe should I...
fxn (Xavier Noria)
12:39 PM Feature #17881: Add a Module#const_added callback
Honestly I shouldn't have mentioned current performance at all in the first place, it's really not the main reason we'd like this new API.
However you do have a point that this new API should be at least as performant, otherwise it wi...
byroot (Jean Boussier)
12:36 PM Feature #17881: Add a Module#const_added callback
One potential overhead of the :class TracePoint is that it allows accessing the binding through TracePoint#binding:
```
$ ruby -e 'TracePoint.new(:class) { |tp| p tp; p tp.self; p tp.binding.local_variables }.enable; a=1; class C; b=2;...
Eregon (Benoit Daloze)
12:18 PM Feature #17881: Add a Module#const_added callback
Ugh, Redmine doesn't handle posting a comment concurrently and now incorrectly reverted the description changes even though I didn't touch the description.
@byroot Could you re-apply your changes?
Eregon (Benoit Daloze)
12:16 PM Feature #17881: Add a Module#const_added callback
> A JIT that strip tracing code, and simply de-optimize when tracing is enabled doesn't seem that far fetched to me.
Yes, and I think it makes a lot of sense to deoptimize/recompile for e.g., :line and :call events (those have a huge ...
Eregon (Benoit Daloze)
12:09 PM Feature #17881: Add a Module#const_added callback
> This would trigger for all constants
Indeed, as it seemed the most consistent API to me. But I'm open to an alternative that would only trigger for `class` / `module`. Not sure how it could be named though.
> ...
I haven't measur...
byroot (Jean Boussier)
12:00 PM Feature #17881: Add a Module#const_added callback
This would trigger for all constants, which might affect startup quite a bit by having all those extra calls (I already see it as a problem for `method_added`, but maybe we can optimize for the common case that it's not redefined).
Mayb...
Eregon (Benoit Daloze)
11:43 AM Feature #17881 (Closed): Add a Module#const_added callback
### Use case
Autoloaders like `zeitwerk` need a callback when a new class or module is registered in the constant table.
Currently this is implemented with TracePoint's `:class` event. It works, but it is a bit unfortunate to have ...
byroot (Jean Boussier)
04:03 PM Bug #17882 (Assigned): bootstraptest/test_ractor.rb:224 segfaults on Cygwin
The attached test code is excerpted from `bootstraptest/test_ractor.rb:224`. This code causes a segmentation fault every time when run on `x86_64-cygwin`. There are at least 3 types of dying messages, as shown below.
I have no idea wh...
xtkoba (Tee KOBAYASHI)
11:37 AM Bug #17878: bootstraptest/test_ractor.rb:224 a random failing test with "The outgoing-port is already closed (Ractor::ClosedError)"
I am trying to skip the assertion on Travis CI arm64 cases by https://github.com/ruby/ruby/pull/4518 6th commit.
jaruga (Jun Aruga)
08:09 AM Bug #17854: Crash with certain "case" expressions on FreeBSD
ruby_3_0 31816356eee6313fe968eecd4cd3ad9ac4848819 merged revision(s) 2bc293e899c9d32dcd794a73de8925c49ecf8f15,d0e6c6e682b9ba2b0309a5177933a0628e8ef316,cc0dc67bbbe1951ff90004bc987f78545625d772,e1eff837cf12a8e813de9d4ff2db50c9b68b86b5,0ab0... nagachika (Tomoyuki Chikanaga)
08:09 AM Revision 31816356 (git): merge revision(s) 2bc293e899c9d32dcd794a73de8925c49ecf8f15,d0e6c6e682b9ba2b0309a5177933a0628e8ef316,cc0dc67bbbe1951ff90004bc987f78545625d772,e1eff837cf12a8e813de9d4ff2db50c9b68b86b5,0ab0b86c8491d639b9ff1335ddf35e341ecd867e,6911b4bc82889860ff7da4ecf975504cdc3e5314: [Backport #17854]
cdhash_cmp: can take rational literals
Rational literals are those integers suffixed with `r`. They tend to
be a part of more complex expressions like `123/456r`, but in theory
they can live alone. When such "b...
nagachika (Tomoyuki Chikanaga)
07:51 AM Bug #17880 (Closed): [BUG] We are killing the stack canary set by `opt_setinlinecache`
I commented out the faulty assertions in https://bugs.ruby-lang.org/issues/17879 to see if some other bug is lurking. See: https://github.com/Shopify/ruby/commit/f698294cc419e696f1cabd8d05e7576c3e490a7a (directly after current master)
...
byroot (Jean Boussier)
07:47 AM Bug #17861: Also `\U` after control/meta should be invalid as well as `\u`
ruby_3_0 af9de56c6fde7f9adb81d6ed0ef3067af81f90e5 merged revision(s) 110f242ef9b495037f59e4972ee102a8b8b372d5. nagachika (Tomoyuki Chikanaga)
07:47 AM Revision af9de56c (git): merge revision(s) 110f242ef9b495037f59e4972ee102a8b8b372d5: [Backport #17861]
Also `\U` after control/meta is invalid [Bug #17861]
As well as `\u`, `\U` should be invalid there too.
And highlight including `u`/`U` not only the backslash before it.
---
parse.y | 12 ...
nagachika (Tomoyuki Chikanaga)
07:28 AM Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
ruby_3_0 5e21726cda22e3cb34127751aec7e9babb4308b3 merged revision(s) 799ea1d1540aca03542ee31647052343507a4b41. nagachika (Tomoyuki Chikanaga)
07:27 AM Revision 5e21726c (git): merge revision(s) 799ea1d1540aca03542ee31647052343507a4b41: [Backport #16651]
mkmf.rb: convert also arch_hdrdir [Bug #16651]
---
lib/mkmf.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
nagachika (Tomoyuki Chikanaga)
06:56 AM Bug #17021: "arm64" and "arm" are mixed in RbConfig on Apple silicon
43a9a974e276dc49b03ec81ccace0adb534a3d20 is included in ruby_3_0 branch. nagachika (Tomoyuki Chikanaga)
06:54 AM Bug #17879: [BUG] id == 0 but not shareable in `rb_ractor_confirm_belonging`
Ah right, I missed it in the output, here you go:
```
<OBJ_INFO:rb_ractor_confirm_belonging@ractor_core.h:327> 0x00007fe2577028f8 [0 U] T_STRING (String)63
```
byroot (Jean Boussier)
02:01 AM Bug #17879: [BUG] id == 0 but not shareable in `rb_ractor_confirm_belonging`
That message is here:
```C
if (UNLIKELY(!rb_ractor_shareable_p(obj))) {
rp(obj);
rb_bug("id == 0 but not shareable");
}
```
What was dumped before the message?
nobu (Nobuyoshi Nakada)
06:51 AM Bug #17868: Strange result of Coverage for while-in-while
ruby_3_0 ddd720f8dcd98de6a250a152fa40c3c044d62383 merged revision(s) 5026f9a5d5012248729a0052cd6cec811748291b. nagachika (Tomoyuki Chikanaga)
06:51 AM Revision ddd720f8 (git): merge revision(s) 5026f9a5d5012248729a0052cd6cec811748291b: [Backport #17868]
compile.c: stop the jump-jump optimization if the second has any
event
Fixes [Bug #17868]
---
compile.c | 3 ++-
test/ruby/test_settracefunc.rb | 15 +++++++++++++++
...
nagachika (Tomoyuki Chikanaga)
06:36 AM Revision fb4195b9 (git): Show a backtrace when tool/extlibs.rb fails
I'd like to retry this kind of error, but showing no backtrace is hard
to deal with.
https://github.com/ruby/ruby/runs/2644908002
k0kubun (Takashi Kokubun)
06:27 AM Revision 141861a2 (git): Update a comment about what 'inline' attr means
k0kubun (Takashi Kokubun)
06:20 AM Bug #17781: Resolv::DNS RequestID table allocations are never freed, causing DNS lookups to eventually hang
ruby_3_0 9c0df2e81c22e6e35f3c5d69a070c2a3cf67e320 merged revision(s) 9edc162583a4f685332239f6249745ad9b518cbe. nagachika (Tomoyuki Chikanaga)
06:20 AM Revision 9c0df2e8 (git): merge revision(s) 9edc162583a4f685332239f6249745ad9b518cbe: [Backport #17781]
[ruby/resolv] Fix confusion of received response message
This is a follow up for commit 33fb966197f1 ("Remove sender/message_id
pair after response received in resolv", 2020-09-11).
As the @senders instance vari...
nagachika (Tomoyuki Chikanaga)
05:59 AM Bug #17876: Backport dfe21ef7a15a30fc33f3a5cc089e15d09e905eb4 to Ruby 3.0
ruby_3_0 e175917f66f0b51638d9d9e143918d4109d489f4 merged revision(s) dfe21ef7a15a30fc33f3a5cc089e15d09e905eb4. nagachika (Tomoyuki Chikanaga)
05:59 AM Bug #17874: Backport dfe21ef7a15a30fc33f3a5cc089e15d09e905eb4 into ruby_3_0
ruby_3_0 e175917f66f0b51638d9d9e143918d4109d489f4 merged revision(s) dfe21ef7a15a30fc33f3a5cc089e15d09e905eb4. nagachika (Tomoyuki Chikanaga)
05:59 AM Revision e175917f (git): merge revision(s) dfe21ef7a15a30fc33f3a5cc089e15d09e905eb4: [Backport #17874] [Backport #17876]
Do not block JIT with pending_stale_p
Because we want to flush pending stale units before unloading units, the
pending_stale_p check is implemented in this waiting loop.
However, once all methods are called more...
nagachika (Tomoyuki Chikanaga)
05:57 AM Bug #17877: Backport a fix of RDoc for CVE-2021-31799
I backported this with some other revisions about lib/rdoc/ and test/rdoc/ to synchronize rdoc bundled in ruby_3_0 branch with upstream repo's v6.3.1.
https://github.com/ruby/ruby/commit/2a70d2148453aeb39443f4c84147ace722d53a9a
nagachika (Tomoyuki Chikanaga)
05:51 AM Revision 2a70d214 (git): merge revision(s) b1c73f239fe9af97de837331849f55d67c27561e,bb570ce6d80d28cfc7131dcb72885eed2f989b30,b88d1e6b44164bca0c2b85ea6639469813e1e1d8,127f735c1e5e0771076caf2a74390757a42fb177,f3f1a666c77f8c528b0adc9ccf78e4b9910bd6e0,fa048a0f8523cefde5428805dd334691486319e6,d5d1c41728d65acfb8aa2cf95f2d8ac88f271cd1,52ebaf718e6a78297ceb0dff49815eeed28eae45,7fe22152fc28084f4395fece84ff6e5eb2d6b288,19e6d271266eca5925e66fc8ec39b251a2fa6bcd,05898c5b9001c0b1e8bd7bf0d12b42a8e7c388b8,3651f678a719ae3a35825bcb4e0dabbc7c60d8df,10b082064e6ab0943cce4ef43e567d8044c7096d,de8e6218a3257fe19b46ff0aa157e66f452ac8b7,971a0cd246db6578e1ea8760a903e1a23e3681f3,61a29a41e1d0d11a9963315aa86d25ed690124c0,ff9a00887161840eb8a34d53749a7d7962181cfe,fad3412d475b57055f426cf4e86eafeab516672b,54aa11efa8b1be2c5d20402890d6d2fa90aa19a8,e84d275fe6d0c14ba58ce73b13323879c060b7ae,61e1cf23ac0d122fba3ad4cbaa402c7c94ad54d3,a6948329f8f89fb390215086fe4a888915fd589e,64b991b0cd98ee8f23266b8cbea0fa34bdaab1ec,b1c73f239fe9af97de837331849f55d67c27561e,0ee24b4fab1a1faef600a42c29863e1c3edd8c61: [Backport #17877]
Synchronize rdoc with upstream version v6.3.1.
[ruby/rdoc] Use File.open to fix the OS Command Injection
vulnerability in CVE-2021-31799
https://github.com/ruby/rdoc/commit/a7f5d6ab88
---
lib/r...
nagachika (Tomoyuki Chikanaga)
05:34 AM Revision c4162a4c (git): Refined portability of test for [Bug #17739]
The order of arguments to callback of qsort is not defined.
That means `a` may not be 3 at all.
nobu (Nobuyoshi Nakada)
01:34 AM Bug #17739 (Closed): Array#sort! changes the order even if the receiver raises FrozenError in given block
Applied in changeset commit:git|8b00bfb7c2c33827490c78a16c44b102cb0d724b.
----------
Do not allow array modifications after freeze inside sort!
If freezing an array inside sort!, previously the array could be
modified after the freeze....
jeremyevans (Jeremy Evans)
01:33 AM Revision 8b00bfb7 (git): Do not allow array modifications after freeze inside sort!
If freezing an array inside sort!, previously the array could be
modified after the freeze. This checks whether the receiver is
frozen after every yield and potential call to #> or #<,
preventing modifications if the receiver is frozen ...
jeremyevans (Jeremy Evans)

05/21/2021

09:28 PM Bug #17879: [BUG] id == 0 but not shareable in `rb_ractor_confirm_belonging`
Ractor setup is invoked even if it is never used, so it is not weird.
I guess this is a false alarm due to incorrect debugging assertions. It should be fixed of course.
xtkoba (Tee KOBAYASHI)
09:04 PM Bug #17879 (Third Party's Issue): [BUG] id == 0 but not shareable in `rb_ractor_confirm_belonging`
I recently re-enabled our ruby-head CI with `-DRUBY_DEBUG`, and we're hitting this bug consistently, and early in the test suite.
What's very weird is that we're not using Ractors at all.
```
/app/lib/active_support/cache/versione...
byroot (Jean Boussier)
09:23 PM Feature #17795: Around `Process.fork` callbacks API
I still believe neither of these proposals (fork callbacks or Kernel.fork delegation) should be accepted. In general, the proposals are for the same feature (wrapping behavior on fork), so in my opinion there is not much difference betwe... jeremyevans0 (Jeremy Evans)
05:44 PM Feature #17795: Around `Process.fork` callbacks API
@matz and some committers discussed this ticket for about an hour in today's dev-meeting, but we didn't reach any conclusion again.
Mainly, @akr -san still agrees with @jeremyevans0 and feels a bad smell about the proposed hook API. I...
mame (Yusuke Endoh)
07:11 PM Bug #16983: RubyVM::AbstractSyntaxTree.of(method) returns meaningless node if the method is defined in eval
Because I know how busy @ko1 is, I thought I'd save him some work and tried to implement this myself: https://github.com/ruby/ruby/pull/4519 jeremyevans0 (Jeremy Evans)
06:53 PM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
> (2) Some applications can run their program body in ensure clauses.
@ko1 first, thank you for looking at this issue. I agree this is a problem, it is the pathological case to what I was describing by the inability to detect a halti...
schneems (Richard Schneeman)
06:19 PM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
Just FYI. According to @ko1, masking all exceptions in an ensure clause is possible in pure Ruby, as long as you use MRI.
```
begin
...
ensure
Thread.handle_interrupt(Object => :never) do
..
end
end
```
No interru...
mame (Yusuke Endoh)
06:11 AM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
I doubt if there's a clear solution.
* `Timeout` uses asynchronous exceptions and it **is** difficult to handle correctly.
* for example, if some calls `Timeout.timeout` from within `ensure` clause directly/indirectly
* or what if t...
matz (Yukihiro Matsumoto)
06:41 PM Misc #17818: Reviving Travis CI
I sent the PR to revive Travis. The i686 case on GitHub Actions would be another PR later.
https://github.com/ruby/ruby/pull/4518
jaruga (Jun Aruga)
06:00 PM Feature #17837: Add support for Regexp timeouts
We discussed this issue in today's dev-meeting. We agreed that, if we can find a good enough threshold, `Regexp#backtrack_limit=` is better than `Regexp#timeout=`. For example,
* the threshold should stop almost all practical Regexps ...
mame (Yusuke Endoh)
04:13 PM Revision b2fc592c (git): Build CDHASH properly when loading iseq from binary
Before this change, CDHASH operands were built as plain hashes when
loaded from binary. Without setting up the hash with the correct
st_table type, the hash can sometimes be an ar_table. When the hash is
an ar_table, lookups can call the...
alanwu (Alan Wu)
04:12 PM Bug #17822 (Closed): Inconsistent visibility behavior with refinements
Applied in changeset commit:git|636d4f7eb9f3fcb088e1a44af4181c4aa36789b4.
----------
Avoid setting the visibility of refinement method entries
Since refinement search is always performed, these entries should always
be public. The meth...
alanwu (Alan Wu)
04:12 PM Bug #17869 (Closed): `Ripper.sexp`'s S-expression when using endless method definition
Applied in changeset commit:git|50a534a1526e2b9f4ea41e44b802bd73f9cebbeb.
----------
ripper: wrap endless method in bodystmt [Bug #17869]
nobu (Nobuyoshi Nakada)
04:12 PM Revision 0772f1b5 (git): * 2021-05-22 [ci skip]
git[bot]
04:12 PM Revision 636d4f7e (git): Avoid setting the visibility of refinement method entries
Since refinement search is always performed, these entries should always
be public. The method entry that the refinement search returns decides
the visibility.
Fixes [Bug #17822]
alanwu (Alan Wu)
02:36 PM Bug #17875: Segfault when reusing a closed Fiber scheduler inside a Thread
Oh, thanks! I installed 3.1.0-dev and it worked fine for me, too. (That is, it failed with a nice error message and backtrace.) I thought I was on the latest version, but I guess I overlooked the `-dev` version.
I can't figure out how ...
rmosolgo (Robert Mosolgo)
03:49 AM Bug #17875: Segfault when reusing a closed Fiber scheduler inside a Thread
Seems already fixed?
```
$ ruby scheduler_bug.rb
#<Thread:0x00007f933e4f7760 scheduler_bug.rb:240 run> terminated with exception (report_on_exception is true):
scheduler_bug.rb:241:in `block in <main>': undefined method `run' for n...
xtkoba (Tee KOBAYASHI)
02:25 PM Bug #17878 (Assigned): bootstraptest/test_ractor.rb:224 a random failing test with "The outgoing-port is already closed (Ractor::ClosedError)"
I was running Travis several times I am trying to revive based on the master commit: `50a534a1526e2b9f4ea41e44b802bd73f9cebbeb`.
Then I got the following failure on Travis arm64 Ubuntu focal environment. The failure happened for the fir...
jaruga (Jun Aruga)
12:58 PM Feature #17763: Implement cache for cvars
> FWIW, ActiveRecord::Base.logger no longer uses class variables since https://github.com/rails/rails/commit/dcc2530af74cf6355a9206bb1d0b084a734fae3e
Yes, we've talked about changing it since, it's not really related to this ticket. I...
byroot (Jean Boussier)
11:35 AM Feature #17763: Implement cache for cvars
FWIW, `ActiveRecord::Base.logger` no longer uses class variables since
https://github.com/rails/rails/commit/dcc2530af74cf6355a9206bb1d0b084a734fae3e (nice!)
Maybe we should really just deprecate class variables since their semantics...
Eregon (Benoit Daloze)
12:45 PM Revision c264d302 (git): Use YAML.safe_load to use the permitted_classes option
aycabta (aycabta .)
10:12 AM Feature #17873: Update of default gems in Ruby 3.1
I don't see a good reason to remove the syslog library from ruby.
It is so small, simple, and almost maintenance-free because the syslog facility is unlikely to change anymore.
Syslog has long been a standard logging facility in Unix...
knu (Akinori MUSHA)
09:24 AM Feature #17873: Update of default gems in Ruby 3.1
I added dbm and gdbm to removal list with other commiter's opinion. hsbt (Hiroshi SHIBATA)
09:05 AM Feature #17873: Update of default gems in Ruby 3.1
>I'm not sure about ostruct.
Thanks, I'm also aware this. So, I removed `ostruct` from this proposal.
hsbt (Hiroshi SHIBATA)
05:39 AM Feature #17873: Update of default gems in Ruby 3.1
I agree about net/ftp and net/imap.
shugo (Shugo Maeda)
04:34 AM Feature #17873: Update of default gems in Ruby 3.1
Thanks, I agree about `prime`.
I imagine `matrix` users are limited and will be ok. I'm not sure about `ostruct`.
Could we consider to bundle them in next major version but with some warning? If you "update" the gem then the conver...
marcandre (Marc-Andre Lafortune)
04:06 AM Feature #17873 (Assigned): Update of default gems in Ruby 3.1
>I would like prime library to remain in the default gems or the bundled gems.
Thanks. I moved prime to the bundled gems list.
And I removed fcntl from this proposal. It's also widely used in other gems.
hsbt (Hiroshi SHIBATA)
09:44 AM Feature #17853: Add Thread#thread_id
Two concerns.
(1) name should include `native`, `os` or something to represent it is platform value. Maybe `native_id` same as Python's API is enough. Ruby can set internal ID for threads.
(2) In future the thread model can be change...
ko1 (Koichi Sasada)
08:38 AM Feature #17853: Add Thread#thread_id
+1 This would be useful for Datadog's [ddtrace](https://rubygems.org/gems/ddtrace) gem as well: currently we need to do quite a bit of [hackery and monkey-patching](https://github.com/DataDog/dd-trace-rb/blob/master/lib/ddtrace/profiling... ivoanjo (Ivo Anjo)
09:28 AM Revision 50a534a1 (git): ripper: wrap endless method in bodystmt [Bug #17869]
nobu (Nobuyoshi Nakada)
09:28 AM Revision 050bb06e (git): ripper: assertions for rescue/ensure in method body
nobu (Nobuyoshi Nakada)
09:26 AM Revision e9974a46 (git): Get rid of sporadic WSAEACCES on Windows [ruby-dev:42661]
nobu (Nobuyoshi Nakada)
09:12 AM Revision 817764bd (git): simple rescue+while+break should not use `throw`
609de71f043e8ba34f22b9993e444e2e5bb05709 fixes the issue by using
`throw` insn if `ensure` is used. However, that patch introduce
additional `throw` even if it is not needed. This patch solves
the issue.
This issue is pointed by @mame.
ko1 (Koichi Sasada)
09:02 AM Bug #17864: [BUG] try to mark T_NONE object (in Ractors)
user:NuriYuri #note-5 seems to be a distinct bug, as Ractor is not used during a build process (I believe). Can you create a separate ticket about that? xtkoba (Tee KOBAYASHI)
06:58 AM Bug #17864: [BUG] try to mark T_NONE object (in Ractors)
Hi, I tried to build Ruby with last version of master. I got this result during build (with nmake):
```
<OBJ_INFO:gc_mark_ptr@gc.c:6576> 0x0099df40 [2 M ] T_NONE
./tool/generic_erb.rb:7: [BUG] try to mark T_NONE object
ruby 3.1.0de...
NuriYuri (Youri Nouri)
08:21 AM Bug #17866: Incompatible changes with Psych 4.0.0
Since I want Ruby 3.1 to keep as much as compatibility for Ruby 3.0 to ensure application/library developer adopt Ruby 3, I’m negative to go Ruby 3.1 with Psych 4.0.0. naruse (Yui NARUSE)
07:07 AM Bug #17739: Array#sort! changes the order even if the receiver raises FrozenError in given block
Accepted. I have small concerns about performance (in microbenchmarks). But I don't think I have another choice.
Matz.
matz (Yukihiro Matsumoto)
07:07 AM Bug #17631 (Rejected): `Numeric#real?` incorrectly returns true for `NaN` and `INFINITY`
Traditionally, `real` just means being floating-point numbers in Computer Science. Other languages treat infinity and `NaN` in similar manner.
Matz.
matz (Yukihiro Matsumoto)
06:53 AM Revision 59b327aa (git): [ruby/rdoc] Drop support for Ruby 2.4
https://github.com/ruby/rdoc/commit/f480b970cc nobu (Nobuyoshi Nakada)
06:53 AM Revision f18a0b76 (git): [ruby/rdoc] Follow-up rubygems
Use test-unit assertions instead of minitest.
https://github.com/ruby/rdoc/commit/d6a6209d7f
nobu (Nobuyoshi Nakada)
06:53 AM Revision 10e63f3f (git): [ruby/rdoc] Vertical-bar is disallowed in path names on Windows
No risk of remote code execution, when the file cannot be created.
https://github.com/ruby/rdoc/runs/2565343916?check_suite_focus=true#step:5:58
```
Error: test_remove_unparseable_CVE_2021_31799(TestRDocRDoc): Errno::EINVAL: Invalid arg...
nobu (Nobuyoshi Nakada)
06:53 AM Revision a298bdf8 (git): [ruby/rdoc] Dir.children is 2.5+
RDoc seems still supporting outdated 2.4.
https://github.com/ruby/rdoc/runs/2565344070?check_suite_focus=true#step:5:64
```
Error: test_remove_unparseable_CVE_2021_31799(TestRDocRDoc): NoMethodError: undefined method `children' for Dir:...
nobu (Nobuyoshi Nakada)
06:51 AM Revision 21d24767 (git): [ruby/rdoc] Update rdoc.gemspec by adding lib/rdoc/markup/table.rb
Fixes ruby/rdoc#808
https://github.com/ruby/rdoc/commit/80766fd389
mame (Yusuke Endoh)
06:48 AM Bug #17876: Backport dfe21ef7a15a30fc33f3a5cc089e15d09e905eb4 to Ruby 3.0
You beat me :) Thanks! k0kubun (Takashi Kokubun)
04:39 AM Bug #17876 (Closed): Backport dfe21ef7a15a30fc33f3a5cc089e15d09e905eb4 to Ruby 3.0
I will close this ticket to trigger backport request notice.
To tell the truth, I already file a backport ticket for the changests ;) https://bugs.ruby-lang.org/issues/17874
Anyway Thank you for your clarify.
nagachika (Tomoyuki Chikanaga)
04:29 AM Bug #17876 (Closed): Backport dfe21ef7a15a30fc33f3a5cc089e15d09e905eb4 to Ruby 3.0
Please consider backporting commit:dfe21ef7a15a30fc33f3a5cc089e15d09e905eb4 to ruby_3_0. This is a fix for a bug introduced in Ruby 3.0. k0kubun (Takashi Kokubun)
05:38 AM Bug #13876: Tempfile's finalizer can be interrupted by a Timeout exception which can cause the process to hang
I'm neutral for this proposal, but just like to add two comments.
1. The proposed change will break a program that uses `Timeout.timeout` in a finalizer. Such a program may get stuck. I don't think that it is a good program, though.
...
mame (Yusuke Endoh)
04:46 AM Bug #17877: Backport a fix of RDoc for CVE-2021-31799
In the Ruby repository: https://github.com/ruby/ruby/commit/b1c73f239fe9af97de837331849f55d67c27561e aycabta (aycabta .)
04:45 AM Bug #17877 (Closed): Backport a fix of RDoc for CVE-2021-31799
usa (Usaku NAKAMURA)
04:38 AM Bug #17877 (Closed): Backport a fix of RDoc for CVE-2021-31799
https://github.com/ruby/rdoc/commit/a7f5d6ab88632b3b482fe10611382ff73d14eed7.diff aycabta (aycabta .)
04:42 AM Revision 0ee24b4f (git): [ruby/rdoc] Version 6.3.1
https://github.com/ruby/rdoc/commit/9307f932b7 aycabta (aycabta .)
04:42 AM Revision b1c73f23 (git): [ruby/rdoc] Use File.open to fix the OS Command Injection vulnerability in CVE-2021-31799
https://github.com/ruby/rdoc/commit/a7f5d6ab88 aycabta (aycabta .)
01:40 AM Bug #17870 (Closed): `make --output-sync=line install` breaks installation
Applied in changeset commit:git|9edad0df74c6ad39281852cca9793fc7dba5c81f.
----------
Remove short options with argument [Bug #17870]
Remove GNU make `-O` and `-W` options which are short but followed
by an argument, so that `$mflags.se...
nobu (Nobuyoshi Nakada)
01:34 AM Revision 9edad0df (git): Remove short options with argument [Bug #17870]
Remove GNU make `-O` and `-W` options which are short but followed
by an argument, so that `$mflags.set?(?n)` does not return `true`
wrongly.
nobu (Nobuyoshi Nakada)
12:01 AM Revision a35d137a (git): [DOC] Moved `File.fnmatch?` to dir.rb
So that no longer disturbed by C comment delimiters. nobu (Nobuyoshi Nakada)

05/20/2021

11:00 PM Bug #17530: irb handles << incorrectly with variable as identifier
This issue comes from Ripper, and is due to the fact that in irb, ripper is being called line-by-line and not all at once. When ripper parses the `s2 <<s1` line, it doesn't know that `s2` is a local variable, so it treats `<<s1` as a he... jeremyevans0 (Jeremy Evans)
08:46 PM Bug #17875: Segfault when reusing a closed Fiber scheduler inside a Thread
Ah, yes, thanks for linking back to that. It sure looks like the same thing. I searched for "fiber scheduler segfault" and didn't find it, but I see it calls it "segv" instead.
Please feel free to close this one if it's not useful (I...
rmosolgo (Robert Mosolgo)
08:40 PM Bug #17875: Segfault when reusing a closed Fiber scheduler inside a Thread
The symptom seems similar to that of #17618. xtkoba (Tee KOBAYASHI)
08:12 PM Bug #17875 (Closed): Segfault when reusing a closed Fiber scheduler inside a Thread
Hi! I've been trying to learn the new `Fiber.scheduler` API. I ran into this segfault when I was misusing scheduler instances in Minitest. I was able to reproduce the bug in isolation and I thought I'd share it here in case it's helpful ... rmosolgo (Robert Mosolgo)
07:25 PM Misc #17872 (Closed): Remove extra word from Here Documents syntax doc
Applied in changeset commit:git|2e919e4a643814735c68cf6724972cf7aa0cd91e.
----------
Remove extra word in heredoc documentation
From Thibault Jouan
Fixes [Misc #17872]
jeremyevans (Jeremy Evans)
05:28 AM Misc #17872 (Closed): Remove extra word from Here Documents syntax doc
When reading the documentation for here documents literal, for example
when executing `ri ruby:syntax/literals`, or directly the file at
`doc/syntax/literals.rdoc', then looking at "Here Documents" section
there is a sentence that see...
tj (Thibault Jouan)
07:25 PM Revision a7fae2af (git): * 2021-05-21 [ci skip]
git[bot]
07:24 PM Revision 2e919e4a (git): Remove extra word in heredoc documentation
From Thibault Jouan
Fixes [Misc #17872]
jeremyevans (Jeremy Evans)
07:06 PM Bug #17871: TestGCCompact#test_ast_compacts test failing again
user:mame wrote in #note-4:
> I'm unsure why the fix addressed the issue of #17306.
This is because after #17306 was fixed the commit commit:32b7dcfb56a417c1d1c354102351fc1825d653bf changed the behavior of `{,un}lock_page_body` so th...
xtkoba (Tee KOBAYASHI)
05:51 PM Bug #17871: TestGCCompact#test_ast_compacts test failing again
Running the each test in test/ruby/test_gc_compact.rb on the above environment, here is the result. The failed test is not only the test_ast_compacts test.
* test_enable_autocompact : ok
* test_disable_autocompact : ok
* test_major_...
jaruga (Jun Aruga)
12:15 AM Bug #17871: TestGCCompact#test_ast_compacts test failing again
xtkoba (Tee KOBAYASHI) wrote in #note-1:
> Possibly `sysconf(3)` does not report the correct page size?
I think it reports 64k correctly.
```
$ ruby -retc -e'p Etc.sysconf(Etc::SC_PAGE_SIZE)'
65536
```
The fix for #17306 dis...
mame (Yusuke Endoh)
03:17 PM Feature #17873: Update of default gems in Ruby 3.1
I would like `prime` library to remain in the default gems or the bundled gems.
I do competitive programming as a hobby, and I sometimes use it and find it useful.
Since external libraries are usually not available for competitive prog...
universato (Yoshimine Sato)
12:33 PM Feature #17873: Update of default gems in Ruby 3.1
>In my opinion mutex_m is widely used. Even Rails uses it: https://github.com/rails/rails/search?q=mutex_m
Thanks for your information. I agreed your opinion and removed mutex_m from this proposal.
hsbt (Hiroshi SHIBATA)
12:24 PM Feature #17873: Update of default gems in Ruby 3.1
> They are no longer actively maintained and not widely used today.
> ...
In my opinion `mutex_m` is widely used. Even Rails uses it: https://github.com/rails/rails/search?q=mutex_m
byroot (Jean Boussier)
11:18 AM Feature #17873: Update of default gems in Ruby 3.1
>So I guess you mean no longer including them with Ruby, `and gem install` NAME would be needed to use them?
Yes. I meant to remove them ruby repository and release.
hsbt (Hiroshi SHIBATA)
11:01 AM Feature #17873: Update of default gems in Ruby 3.1
> And I also propose to extract the following libraries from the default gems.
Those are already default gems.
So I guess you mean no longer including them with Ruby, and `gem install NAME` would be needed to use them?
Seems fine ...
Eregon (Benoit Daloze)
10:45 AM Feature #17873 (Closed): Update of default gems in Ruby 3.1
I promoted many standard libraries to the default gems. You can see them at https://stdgems.org/#default-gems-ruby-301
I propose the following libraries to promote the bundled gems from the default gems.
```
matrix
prime
net/ftp...
hsbt (Hiroshi SHIBATA)
12:56 PM Revision c7110935 (git): Get rid of sporadic WSAEACCES on Windows [ruby-dev:42661]
nobu (Nobuyoshi Nakada)
12:18 PM Bug #17874 (Closed): Backport dfe21ef7a15a30fc33f3a5cc089e15d09e905eb4 into ruby_3_0
This is a ticket for backport management.
dfe21ef7a15a30fc33f3a5cc089e15d09e905eb4 should be backported into ruby_3_0.
nagachika (Tomoyuki Chikanaga)
11:57 AM Bug #17870: `make --output-sync=line install` breaks installation
I noticed `-Onone` is also troublesome. Other `-O[type]`'s (type being `target` and `recurse`) seem safe to use.
Proposed patch:
```diff
--- a/tool/rbinstall.rb
+++ b/tool/rbinstall.rb
@@ -113,6 +113,7 @@
$make, *rest = Shellw...
xtkoba (Tee KOBAYASHI)
10:47 AM Misc #17811: DevelopersMeeting20210521Japan
* [Feature #17873] Update of default gems in Ruby 3.1
* Does anyone have any objections?
hsbt (Hiroshi SHIBATA)
10:33 AM Revision dfe21ef7 (git): Do not block JIT with pending_stale_p
Because we want to flush pending stale units before unloading units, the
pending_stale_p check is implemented in this waiting loop.
However, once all methods are called more than --jit-min-calls,
mjit_worker_wakeup will not be signaled ...
k0kubun (Takashi Kokubun)
10:14 AM Bug #17868 (Closed): Strange result of Coverage for while-in-while
Applied in changeset commit:git|5026f9a5d5012248729a0052cd6cec811748291b.
----------
compile.c: stop the jump-jump optimization if the second has any event
Fixes [Bug #17868]
mame (Yusuke Endoh)
02:00 AM Bug #17868: Strange result of Coverage for while-in-while
Thank you for the quick response!
I have confirmed that the original code can be measured with this patch.
universato (Yoshimine Sato)
01:15 AM Bug #17868 (Assigned): Strange result of Coverage for while-in-while
@ko1 agreed with my patch. I'll commit it soon. mame (Yusuke Endoh)
10:13 AM Revision 5026f9a5 (git): compile.c: stop the jump-jump optimization if the second has any event
Fixes [Bug #17868] mame (Yusuke Endoh)
08:56 AM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
I think (2) is rare, and IMHO such programs should be fixed.
What would happen is then those programs can't be interrupted (only by killing the process), but then that also becomes a clear motivation to fix those programs so they can be...
Eregon (Benoit Daloze)
08:44 AM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
There are two issues on masking interrupts in `ensure` clauses:
(1) performance: manipulating masks in each `ensure` clauses introduces overhead
(2) Some applications can run their program body in `ensure` clauses.
Before we discussed ...
ko1 (Koichi Sasada)
07:55 AM Bug #17631: `Numeric#real?` incorrectly returns true for `NaN` and `INFINITY`
FYI:
```ruby
p Float::INFINITY.real #=> Infinity
p Float::INFINITY.imag #=> 0
p Float::NAN.real #=> NaN
p Float::NAN.imag #=> 0
```
Python and Octave have same behavior. Probably MATLAB does too.
If we change the behavior of `r...
universato (Yoshimine Sato)
05:24 AM Bug #17631: `Numeric#real?` incorrectly returns true for `NaN` and `INFINITY`
FYI: numpy also says inf is a real.
```
>>> import numpy
> ...
True
```
mame (Yusuke Endoh)
07:52 AM Bug #17767: `Cloned ENV` inconsistently returns `ENV` or `self`
Cloned `ENV` accesses/modifies the process global environment variables, as well as `ENV` itself, however the codes we found expect these are different.
So I propose `ENV.clone` and `ENV.dup` should raise an exception.
nobu (Nobuyoshi Nakada)
07:42 AM Bug #17781 (Closed): Resolv::DNS RequestID table allocations are never freed, causing DNS lookups to eventually hang
Fixed by commit:9edc162583a4f685332239f6249745ad9b518cbe. mame (Yusuke Endoh)
07:42 AM Bug #17783 (Closed): Running sidekiq with ruby 3.0 (possible thread deadlock on resolv request_id allocation and free)
Fixed by commit:9edc162583a4f685332239f6249745ad9b518cbe. mame (Yusuke Endoh)
07:05 AM Bug #17822: Inconsistent visibility behavior with refinements
Thank you the patch. It seems good. Could you commit with a test? ko1 (Koichi Sasada)
06:46 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
> Your example always allocates a new instance first, then deduplicates it.
Yes, for more complex cases that's kind of the only way. What I'm after here is mostly memory retention, not so much allocations.
> ...
Yes, I used this in...
byroot (Jean Boussier)
06:34 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
Your example always allocates a new instance first, then deduplicates it.
Why not:
```ruby
def new(x, y, z)
REGISTRY[-"#{self}-#{x},#{y},#{z}"] ||= super
end
```
This would work even in 2.7 too.
nobu (Nobuyoshi Nakada)
05:35 AM Revision 821e3c12 (git): * 2021-05-20 [ci skip]
git[bot]
05:31 AM Revision 63663bb4 (git): Rename nucomp_false s nucomp_real_p_m
nobu (Nobuyoshi Nakada)

05/19/2021

10:12 PM Feature #17210: More readable and useful `Set#inspect`
+1
I second the proposal.
```ruby
p [1, 2, 3] #=> [1, 2, 3]
p "hello" #=> "hello"
p 1.0 #=> 1.0
p({"x"=>1}) #=> {"x"=>1}
p 1..2 #=> 1..2
p nil #=> nil
p true #=> true
p :name #=> :name
p Array #=> Array
...
universato (Yoshimine Sato)
08:09 PM Bug #17871: TestGCCompact#test_ast_compacts test failing again
I had a resistance to upload the full log check.log, because the file size is big. However I would upload the log file now.
```
$ du -sh check.log
1.2M check.log
$ wc -l check.log
22963 check.log
```
jaruga (Jun Aruga)
06:21 PM Bug #17871: TestGCCompact#test_ast_compacts test failing again
Some googling told me that the page size defaults to 64k on powerpc64le for some Linux distros. Possibly `sysconf(3)` does not report the correct page size? xtkoba (Tee KOBAYASHI)
05:46 PM Bug #17871 (Closed): TestGCCompact#test_ast_compacts test failing again
This issue was found by @mame yesterday on our new Power 9 server. I would like to open the ticket.
The test failure was reported and fixed on the #17306 6 months ago.
However on the latest master `adcbae8d49ec04d365ce13274783b1495c3...
jaruga (Jun Aruga)
07:34 PM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
@byroot For the blocking C extension code without an unblocking function case, I think there is no other way to unstuck it than to kill the entire process.
That's probably a good last measure to have, but obviously it's very costly so s...
Eregon (Benoit Daloze)
06:13 PM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
> Assignee set to matz (Yukihiro Matsumoto)
Maybe we want to tag in Koichi. Last I talked to Matz (EuRuKo in 2019) I believe he suggested having Koichi take a look at the issue. I'm not familiar with the interface here I don't know if...
schneems (Richard Schneeman)
06:10 PM Bug #1287: $? not set after Open3::popen3
FWIW the work around is to capture the status and re-exec with an exit. It works, but the downside is that shell invocations are not cheap:
``` ruby
irb(main):042:0> a, b, c = Open3.capture3("ls /does/not/exist")
irb(main):043:0> `e...
schneems (Richard Schneeman)
05:41 PM Bug #17870 (Closed): `make --output-sync=line install` breaks installation
It is reported in https://bugs.gentoo.org/show_bug.cgi?id=790272 that `make --output-sync=line install` installs nearly nothing, and I can confirm this for Ruby 3.0.1p64.
The argument `-Oline` seems to be somehow troublesome in `--mfl...
xtkoba (Tee KOBAYASHI)
04:32 PM Bug #17869 (Closed): `Ripper.sexp`'s S-expression when using endless method definition
## Summary
The result of `Ripper.sexp` differs between normal method definition and endless method definition.
### Normal method definition
```ruby
% ruby -rripper -e "pp Ripper.sexp('def m(a) foo end')"
[:program,
[[:def,
...
koic (Koichi ITO)
04:01 PM Bug #17868: Strange result of Coverage for while-in-while
Thank you for your report. This is caused by the peephole optimization.
```
% ruby --dump=i while_in_while.rb
...
0010 jump 23 ( 3)[Li]
...
0033 getlocal_WC_0 ...
mame (Yusuke Endoh)
02:21 PM Bug #17868 (Closed): Strange result of Coverage for while-in-while
```ruby
n = 3
while n > 0
n -= 1 while n > 0
end
```
This `while_in_while.rb` is the file to be measured.
```ruby
require "coverage"
Coverage.start
load "while_in_while.rb"
pp Coverage.result
# {"while_in_while.rb"=>[1, ...
universato (Yoshimine Sato)
02:30 PM Bug #16475: [Installation process - compiling ruby 2.7.0 from source} "make install" step oddity for ruby 2.7.0 on linux mint (debian base)
This seems to be fixed by backporting commit:ea8f7d4 + `lib/rubygems/openssl.rb` (created in commit:69fa0d6 and changed in commit:4aca77e). xtkoba (Tee KOBAYASHI)
10:23 AM Bug #16475: [Installation process - compiling ruby 2.7.0 from source} "make install" step oddity for ruby 2.7.0 on linux mint (debian base)
This is reproducible for me with Ruby 2.7.3p183 when passing `--with-baseruby=no` to `./configure`, with OpenSSL header files removed (`mv /usr/include/openssl{,.bak}`).
And this seems to be not reproducible with Ruby 3.0.1p64. Probab...
xtkoba (Tee KOBAYASHI)
05:24 AM Revision adcbae8d (git): Removed minitest/mock
hsbt (Hiroshi SHIBATA)
01:16 AM Revision 1d170fdc (git): ext/json/parser/parser.h: Add fallback MAYBE_UNUSED
https://github.com/flori/json/commit/e2ad91fc2094d3cc2f76adc6c55d420cd06f34d8 nobu (Nobuyoshi Nakada)
12:21 AM Bug #17781: Resolv::DNS RequestID table allocations are never freed, causing DNS lookups to eventually hang
update... https://github.com/ruby/resolv/pull/9/files got merged. sam.saffron (Sam Saffron)

05/18/2021

11:52 PM Bug #16475: [Installation process - compiling ruby 2.7.0 from source} "make install" step oddity for ruby 2.7.0 on linux mint (debian base)
@shevegen: Can this be closed? Looks like nobody else has the same problem. duerst (Martin Dürst)
09:53 PM Revision 637683c9 (git): * 2021-05-19 [ci skip]
git[bot]
09:53 PM Revision e4e41638 (git): Revert any references that are on the machine stack after compacting
Since compaction can be concurrent, the machine stack is allowed to
change while compaction is happening. When compaction finishes, there
may be references on the machine stack that need to be reverted so that
we can remove the read bar...
tenderlovemaking (Aaron Patterson)
07:46 PM Bug #17866: Incompatible changes with Psych 4.0.0
byroot (Jean Boussier) wrote in #note-8:
> > I'm ok with enabling aliases by default.
> ...
Ya, that's what I was considering. `safe_load` shouldn't change behavior whatsoever.
tenderlovemaking (Aaron Patterson)
05:42 PM Bug #17866: Incompatible changes with Psych 4.0.0
> I'm ok with enabling aliases by default.
Just to clarify: `load` would have them on by default, but `safe_load` wouldn't, right?
byroot (Jean Boussier)
03:21 PM Bug #17866: Incompatible changes with Psych 4.0.0
Eregon (Benoit Daloze) wrote in #note-4:
> byroot (Jean Boussier) wrote in #note-3:
> ...
No, you can definitely make recursive data structures:
```ruby
irb(main):006:0> x = []
=> []
irb(main):007:0> x << x
=> [[...]]
irb(main)...
tenderlovemaking (Aaron Patterson)
11:45 AM Bug #17866: Incompatible changes with Psych 4.0.0
So indeed I was wrong about the circular reference.
As for Rails I fixed it this morning: https://github.com/rails/rails/commit/179d0a1f474ada02e0030ac3bd062fc653765dbe, but yes, if `load` would allow aliases by default it would make ...
byroot (Jean Boussier)
09:49 AM Bug #17866: Incompatible changes with Psych 4.0.0
> It kinda is, as aliases allow for circular references which can cause some programs to end up in infinite loop.
I thought of the same thing and I tested what Eregon wrote before writing the comment. So, unless you know of a YAML that ...
k0kubun (Takashi Kokubun)
08:17 AM Bug #17866: Incompatible changes with Psych 4.0.0
byroot (Jean Boussier) wrote in #note-3:
> It kinda is, as aliases allow for circular references which can cause some programs to end up in infinite loop.
Doesn't the YAML implementation handle/avoid such recursive/circular reference...
Eregon (Benoit Daloze)
07:35 AM Bug #17866: Incompatible changes with Psych 4.0.0
> and disabling aliases wasn't really important.
It kinda is, as aliases allow for circular references which can cause some programs to end up in infinite loop.
> ...
Maybe we should have `YAML.load_file` use a more relaxed default...
byroot (Jean Boussier)
01:23 AM Bug #17866: Incompatible changes with Psych 4.0.0
I noticed `Psych.unsafe_load` uses `aliases: false` by default. This means that default `config/database.yml` of Rails will stop working if you use Psych 4.0.0.
https://github.com/rails/rails/blob/v6.1.3.2/railties/lib/rails/generators/...
k0kubun (Takashi Kokubun)
03:51 PM Bug #17864 (Feedback): [BUG] try to mark T_NONE object (in Ractors)
NuriYuri (Youri Nouri) wrote in #note-3:
> I've run this `ruby -e"200.times { system('ruby src/IODigester.ytest_copy.rb') }"` to check the probability, 88% success rate with `ruby 3.0.1p64`.
> ...
Can you test with the master branch an...
jeremyevans0 (Jeremy Evans)
03:16 PM Misc #17818: Reviving Travis CI
Sorry for my typo.
> So, I plan to not use only free builds without credits on Travis.
So, I plan to use only free builds without credits on Travis.
jaruga (Jun Aruga)
02:59 PM Misc #17818: Reviving Travis CI
Let me share the current status and the plan for ruby/ruby's Travis.
> As a side note from my experience, the concept of the credits might be not considered on travis-ci.org.
The travis-ci.org shut down will occur on May 31, 2021....
jaruga (Jun Aruga)
02:26 PM Revision 7c716b68 (git): ext/json/parser/prereq.mk: fix warnings for code generated by ragel
* type-limits when plain-char is unsigned
* unused-const-variable for NFA constants
nobu (Nobuyoshi Nakada)
01:16 PM Revision 6b32f1f3 (git): Object whats here (#4503)
What's Here section for class Object. burdettelamar (Burdette Lamar)
10:21 AM Revision 6d6391bf (git): Update bundled_gems
mame (Yusuke Endoh)
10:06 AM Revision ceea1ea8 (git): test/rubygems/test_gem_commands_open_command.rb: prevent a warning
http://rubyci.s3.amazonaws.com/debian9/ruby-master/log/20210518T093002Z.log.html.gz
```
[ 9396/21186] TestGemCommandsOpenCommand#test_execute-e:1: warning: possibly useless use of a literal in void context
= 0.06 s
```
mame (Yusuke Endoh)
10:01 AM Revision 837cbea6 (git): test/psych/test_coder.rb: Suppress non-parenthesis warnings
http://rubyci.s3.amazonaws.com/debian9/ruby-master/log/20210518T093002Z.log.html.gz
```
/home/chkbuild/chkbuild/tmp/build/20210518T093002Z/ruby/test/psych/test_coder.rb:277: warning: ambiguity between regexp and two divisions: wrap regex...
mame (Yusuke Endoh)
09:51 AM Revision 6674dd61 (git): Remove ubuntu-16.04 (already commented out)
https://github.blog/changelog/2021-04-29-github-actions-ubuntu-16-04-lts-virtual-environment-will-be-removed-on-september-20-2021 znz (Kazuhiro NISHIYAMA)
08:31 AM Revision 9bd79c2c (git): Removed minitest/benchmark
hsbt (Hiroshi SHIBATA)
08:31 AM Revision 5a0b89de (git): Removed minitest/autorun
hsbt (Hiroshi SHIBATA)
08:31 AM Revision 8ab2afb2 (git): Use Test::Unit instead of Minitest::Unit
hsbt (Hiroshi SHIBATA)
08:12 AM Bug #17867 (Rejected): split.rb:30: [BUG] Segmentation fault
Unfortunately, Ruby 2.0.0 is EOL today. hsbt (Hiroshi SHIBATA)
08:04 AM Bug #17867: split.rb:30: [BUG] Segmentation fault
I think the ruby 2.0.0p648 is the ruby installed as a RPM package on the CentOS 7 by default.
If you do not have any reason to continue to use it, I would recommend a newer ruby installed by Software Collections or one built from the so...
jaruga (Jun Aruga)
07:43 AM Bug #17867: split.rb:30: [BUG] Segmentation fault
A quick workaround would be not to use such an old version as 2.0.0p648. xtkoba (Tee KOBAYASHI)
07:21 AM Bug #17867 (Rejected): split.rb:30: [BUG] Segmentation fault
Hello,
We hit a "Segmentation fault" of a small ruby script (split.rb).
OS is CentOS7.7 and ruby 2.0.0p648 is used.
# ruby --version
ruby 2.0.0p648 (2015-12-16) [x86_64-linux]
I'd like to know is this is a known issue of ruby ...
rsudo (Sudo Ryu)
08:00 AM Revision 0d343bf8 (git): Update bundled_gems
mame (Yusuke Endoh)
07:04 AM Revision 34bc8210 (git): test/irb/test_raise_no_backtrace_exception.rb: fix test file path
Create a file for test under the temporary directory. nobu (Nobuyoshi Nakada)
03:48 AM Revision 79717f81 (git): [ruby/fiddle] windows: link to ws2_32 for WSAGetLastError()
https://github.com/ruby/fiddle/commit/e9955d74ae Sutou Kouhei
03:48 AM Revision 71d4a493 (git): [ruby/fiddle] windows: add Fiddle.win32_last_socket_error{,=}
GitHub: fix GH-72
Users can't use WSAGetLastError() with Ruby 3.0 or later because
rb_funcall() resets the last socket error internally.
Users can get the last socket error by Fiddle.win32_last_socket_error.
Reported by Kentaro Hayash...
Sutou Kouhei
03:48 AM Revision 2579593a (git): [ruby/fiddle] Do not use a libdir for glibc, it breaks Linux PPC64 (#70)
Fixes [Bug #12666]
https://github.com/ruby/fiddle/commit/a267a40be7
jeremyevans (Jeremy Evans)
03:48 AM Revision ab5212b3 (git): [ruby/fiddle] Add support for "const" in type
GitHub: fix #68
Reported by kojix2. Thanks!!!
https://github.com/ruby/fiddle/commit/d7322c234a
Sutou Kouhei
03:48 AM Revision 4d1bb460 (git): [ruby/fiddle] Add --enable-debug-build option to extconf.rb
https://github.com/ruby/fiddle/commit/e0498e60ea Sutou Kouhei
03:48 AM Revision 791e8eec (git): [ruby/fiddle] win32types: sort
https://github.com/ruby/fiddle/commit/35dec6c5a5 Sutou Kouhei
03:48 AM Revision 8758b07b (git): [ruby/fiddle] Fix more Win32Types definitions
https://docs.microsoft.com/en-us/windows/win32/winprog/windows-data-types
https://github.com/ruby/fiddle/commit/805c1a595a
Sutou Kouhei
03:48 AM Revision 25e56fe3 (git): [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
orgads (Orgad Shaneh)
03:48 AM Revision 8d63b1dc (git): [ruby/fiddle] Bump version
https://github.com/ruby/fiddle/commit/0cbd370fd6 Sutou Kouhei
03:48 AM Revision 881b2dc8 (git): [ruby/fiddle] closure: add support for const char *
GitHub: fix GH-62
Reported by Cody Krieger. Thanks!!!
https://github.com/ruby/fiddle/commit/284b820f2d
Sutou Kouhei
03:48 AM Revision b2de5999 (git): [ruby/fiddle] closure: accept symbol as type
https://github.com/ruby/fiddle/commit/dc2da6633e Sutou Kouhei
03:48 AM Revision 212d836c (git): [ruby/fiddle] Remove wrong comment
https://github.com/ruby/fiddle/commit/831522e768 Sutou Kouhei
03:48 AM Revision 7bd3d6d2 (git): [ruby/fiddle] Bump version
https://github.com/ruby/fiddle/commit/63e5f98412 Kenta Murata
 

Also available in: Atom