Project

General

Profile

Activity

From 10/30/2021 to 11/05/2021

11/05/2021

09:01 PM Revision fbd6cc58 (git): YJIT: Support iseq sends with mixed kwargs (#5082)
* YJIT: Support iseq sends with mixed kwargs
Co-authored-by: Kevin Newton <kddnewton@gmail.com>
* Add additional comments to iseq sends
Co-authored-by: Kevin Newton <kddnewton@gmail.com>
jhawthorn (John Hawthorn)
08:54 PM Revision 9cc2c74b (git): YJIT: Implement checkkeyword (#5083)
Co-authored-by: John Crepezzi <john.crepezzi@gmail.com>
Co-authored-by: John Crepezzi <john.crepezzi@gmail.com>
jhawthorn (John Hawthorn)
07:44 PM Revision 91a90626 (git): YJIT: use shorter encoding for mov(r64,imm) when unambiguous (#5081)
* YJIT: use shorter encoding for mov(r64,imm) when unambiguous
Previously, for small constants such as `mov(RAX, imm_opnd(Qundef))`,
we emit an instruction with an 8-byte immediate. This form commonly
gets the `movabs` mnemonic.
In 64-...
alanwu (Alan Wu)
07:06 PM Feature #18287: Support nil value for sort in Dir.glob
Eregon (Benoit Daloze) wrote in #note-5:
> @jeremyevans0 Do you know any other core method with this behavior?
I don't, but I didn't do an audit.
> ...
That changes the behavior if the option is not passed, which is very much not ...
jeremyevans0 (Jeremy Evans)
06:38 PM Feature #18287: Support nil value for sort in Dir.glob
@jeremyevans0 Do you know any other core method with this behavior?
I am sure they are many dozens that meet my criteria above (in fact, all core methods except this one AFAIK).
And BTW I think the code is better without the `== false`...
Eregon (Benoit Daloze)
06:42 PM Misc #18266: DevelopersMeeting20211118Japan
* [Feature #18287] Support nil value for sort in Dir.glob (eregon)
* Let's be consistent for core methods and treat `nil` as `false`, or raise if not boolean.
Eregon (Benoit Daloze)
08:55 AM Misc #18266: DevelopersMeeting20211118Japan
- [Feature #18273] `Class#subclasses`
- Something we forgot to discuss as part of [Feature #14394].
- There are cases where you only want direct subclasses, not the whole tree.
- Can either be `Class#subclasses` like in Active ...
byroot (Jean Boussier)
04:39 PM Revision 82ae9b09 (git): [rubygems/rubygems] Fix url
https://github.com/rubygems/rubygems/commit/6a5a80eff7 haruuzion
03:22 PM Bug #18289 (Closed): Enumerable#to_a should delegate keyword arguments to #each
Applied in changeset commit:git|e83c02a768af61cd0890a75e90bcae1119d8bd93.
----------
Delegate keywords from Enumerable#to_a to #each
Fixes [Bug #18289]
jeremyevans (Jeremy Evans)
02:10 PM Bug #18289: Enumerable#to_a should delegate keyword arguments to #each
I've submitted a pull request to fix this: https://github.com/ruby/ruby/pull/5086 jeremyevans0 (Jeremy Evans)
11:11 AM Bug #18289 (Closed): Enumerable#to_a should delegate keyword arguments to #each
`Enumerable#to_a` has always delegated its arguments to `#each`, but it does not handle keyword arguments. This seems like an oversight.
My project uses keyword arguments to an #each method, and this has broken Enumerable#to_a as of r...
Ethan (Ethan -)
03:22 PM Revision f1ca64ed (git): * 2021-11-06 [ci skip]
git[bot]
03:22 PM Revision e83c02a7 (git): Delegate keywords from Enumerable#to_a to #each
Fixes [Bug #18289] jeremyevans (Jeremy Evans)
03:21 PM Feature #18291: When use =~ with named group, if regex is on the right side, variable not defined.
`regexp.rdoc` documents that the literal regexp must be on the left hand side in order to assign to local variables, so this is not a bug. Switching to feature request. jeremyevans0 (Jeremy Evans)
03:12 PM Feature #18291 (Open): When use =~ with named group, if regex is on the right side, variable not defined.
Following code not work.
```rb
if "Billy Zheng" =~ /(?<first_name>\w+)\s+(?<last_name>\w+)/
p first_name
p last_name
end
# NameError: undefined local variable or method `first_name' for main:Object
```
But, if we switch...
zw963 (Wei Zheng)
02:20 PM Revision 907aa475 (git): [rubygems/rubygems] Fix `ruby setup.rb` command when `--prefix` is passed
https://github.com/rubygems/rubygems/commit/8d04092f6e deivid (David Rodríguez)
02:20 PM Revision d47831d5 (git): [rubygems/rubygems] Bin dir should fall inside destdir
Since that's what happens in real life when `--destdir` is passed.
https://github.com/rubygems/rubygems/commit/55637bdc8a
deivid (David Rodríguez)
02:20 PM Revision ef6752c6 (git): [rubygems/rubygems] Remove unnecessary test setup
The method being unit tested here doesn't use
`RbConfig::CONFIG["bindir"]`.
https://github.com/rubygems/rubygems/commit/d3f092ad14
deivid (David Rodríguez)
02:20 PM Revision f5a4fdae (git): [rubygems/rubygems] Remove unnecessarily changing GEM_HOME
At this point gem paths are already loaded and memoize. Changing
`GEM_HOME` has no effect.
https://github.com/rubygems/rubygems/commit/a1f62f0939
deivid (David Rodríguez)
02:20 PM Revision 87a8b224 (git): [rubygems/rubygems] Simplify `--destdir` test
https://github.com/rubygems/rubygems/commit/0571fd1ec6 deivid (David Rodríguez)
02:20 PM Revision e60c1f75 (git): [rubygems/rubygems] Refactor setup tests to not always pass `--prefix`
Standard usage should be tested by default. I will add a test for
`--prefix` once I fix that option since it's not working correctly at
the moment.
https://github.com/rubygems/rubygems/commit/50a7e34586
deivid (David Rodríguez)
02:20 PM Revision 5b941ec9 (git): [rubygems/rubygems] Remove unnecessary loop
Rubygems installs a single executable. Make that explicit.
https://github.com/rubygems/rubygems/commit/2839d15521
deivid (David Rodríguez)
02:01 PM Feature #18290 (Closed): Deprecate rb_gc_force_recycle
# GitHub PR: https://github.com/ruby/ruby/pull/4363
I'm proposing to deprecate `rb_gc_force_recycle` and make it a no-op function because it is a burden to maintain and makes changes to the GC difficult. It is also easy to incorrectly...
peterzhu2118 (Peter Zhu)
11:03 AM Revision 56119c52 (git): Skip TestIRB::TestInit#test_recovery_sigint on Solaris
The test randomly gets stuck on Solaris:
http://rubyci.s3.amazonaws.com/solaris11-sunc/ruby-master/log/20211105T060014Z.fail.html.gz
```
1) Error:
TestIRB::TestInit#test_recovery_sigint:
Timeout::Error: execution of assert_in_out_err ...
mame (Yusuke Endoh)
07:00 AM Bug #18288 (Third Party's Issue): Getting error while installing Pod
I think this is the same issue as #17862, #17922, #17988, and #18071. See also https://github.com/typhoeus/ethon/issues/193. mame (Yusuke Endoh)
06:34 AM Bug #18288 (Third Party's Issue): Getting error while installing Pod
Getting below error while installing Pod.
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
Ritesh8313 (Ritesh Deopa)
01:32 AM Revision bfc0a71a (git): Suppress unused-function warnings
nobu (Nobuyoshi Nakada)
01:20 AM Revision f62f020f (git): Add the test of `Dir.glob` when `sort: true` is given explicitly
nobu (Nobuyoshi Nakada)
12:58 AM Revision 1ce3706c (git): [DOC] Fix indent as single paragraph [ci skip]
nobu (Nobuyoshi Nakada)
12:58 AM Revision f3812e6c (git): [DOC] Needs `call-seq` directives [ci skip]
nobu (Nobuyoshi Nakada)
12:58 AM Revision 53e2bba0 (git): [DOC] Markup the literal false, and constant [ci skip]
nobu (Nobuyoshi Nakada)
12:34 AM Revision 30886be9 (git): Skip bundled gem with an extension library under with-static-linked-ext
.. mainly to fix emscripten CI
http://rubyci.s3.amazonaws.com/crossruby/crossruby-master-wasm64_emscripten/log/20211104T024621Z.fail.html.gz
mame (Yusuke Endoh)

11/04/2021

10:35 PM Revision 16331d9a (git): [rubygems/rubygems] Explicitly ignored empty value for DESTDIR
https://github.com/rubygems/rubygems/commit/69dcc02553 hsbt (Hiroshi SHIBATA)
10:35 PM Revision 33d01b73 (git): [rubygems/rubygems] Skip to set DESTDIR option when it's not provided for mswin platform
https://github.com/rubygems/rubygems/commit/b93546c8d8 hsbt (Hiroshi SHIBATA)
10:23 PM Revision 1506c822 (git): [rubygems/rubygems] Don't apply `--destdir` twice when running `setup.rb`
Prior to this patch, if I ran:
ruby setup.rb --destdir /foo
Then Bundler files would be written into /foo/foo, because destdir was
being prepended, even though `bundler_spec.bin_dir` already included
destdir.
https://github.com/ru...
qyliss (Alyssa Ross)
10:23 PM Revision 9503dd91 (git): [rubygems/rubygems] Fix `--destdir` handling on Windows
Driver letters were not accounted for in one place.
https://github.com/rubygems/rubygems/commit/fbe42460d7
deivid (David Rodríguez)
10:23 PM Revision 5e855be8 (git): [rubygems/rubygems] More refactoring of `--destdir` handling
https://github.com/rubygems/rubygems/commit/f42c2025ed deivid (David Rodríguez)
10:23 PM Revision 70cbca48 (git): [rubygems/rubygems] Refactor `--destdir` handling
https://github.com/rubygems/rubygems/commit/8aab3d11b0 deivid (David Rodríguez)
08:05 PM Revision 2421527d (git): YJIT code pages refactoring for code GC (#5073)
* New code page allocation logic
* Fix leaked globals
* Fix leaked symbols, yjit asm tests
* Make COUNTED_EXIT take a jit argument, so we can eliminate global ocb
* Remove extra whitespace
* Change block start_pos/end_pos to be poin...
maximecb (Maxime Chevalier-Boisvert)
04:22 PM Bug #17106: Build ruby 2.6.6 from git source
> I still see this build error on the latest ruby_2_6 branch (commit: 95ba9053e20ad8d113af37b3f1f4cbfff1f6a8f1).
```
$ ruby -v
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]
$ which ruby
/usr/local/ruby-3.0.2/bin...
jaruga (Jun Aruga)
03:33 PM Bug #17106: Build ruby 2.6.6 from git source
I still see this build error on the latest ruby_2_6 branch (commit: `95ba9053e20ad8d113af37b3f1f4cbfff1f6a8f1`).
I needed to apply the commit `47720e2255f34ecad49763c66a7ea02a55a3f60a` to pass the `make` on Fedora 34.
```
$ bison --...
jaruga (Jun Aruga)
03:54 PM Revision 85b4cf16 (git): * 2021-11-05 [ci skip]
git[bot]
03:54 PM Revision 0c69f240 (git): test/ruby/test_gc_compact.rb: Backpatch the URL to the PR
mame (Yusuke Endoh)
03:54 PM Revision 8821a0de (git): test/ruby/test_gc_compact.rb: Do not run on s390x
The compaction tests get stuck randomly on s390x for unknown reason.
http://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20211104T030003Z.fail.html.gz
```
[13715/21145] TestGCCompact#test_gc_compact_statstimeout: output interval exceed...
mame (Yusuke Endoh)
02:36 PM Feature #18287: Support nil value for sort in Dir.glob
Eregon (Benoit Daloze) wrote in #note-3:
> This is inconsistent with basically every Ruby method out there.
I disagree. It's not uncommon for me to do:
```ruby
def m(opts={})
do_something unless opts[:something] == false
#...
jeremyevans0 (Jeremy Evans)
11:32 AM Feature #18287: Support nil value for sort in Dir.glob
This is inconsistent with basically every +core+ Ruby method out there +taking a boolean/boolean-like argument+.
For all core methods, either:
* the value is converted to a boolean, and then nil/false mean the same
* the value can only ...
Eregon (Benoit Daloze)
09:22 AM Feature #18287: Support nil value for sort in Dir.glob
This is intentional and documented as:
```ruby
# The results which matched single wildcard or character set are sorted in
# binary ascending order, unless false is given as the optional +sort+
# keyword argument. The order of ...
nobu (Nobuyoshi Nakada)
09:17 AM Feature #18287: Support nil value for sort in Dir.glob
`nil` means the default behavior, that is `sort: true`. nobu (Nobuyoshi Nakada)
08:47 AM Feature #18287 (Closed): Support nil value for sort in Dir.glob
Good day, everyone.
I would like to suggest (or question) the support of a `nil` value for `sort` argument in `Dir.glob`.
I find this behaviour a bit surprising, here is an example:
```
irb(main):001:0> Dir.glob("brace/a{.js,*}",...
Strech (Sergey Fedorov)
02:06 PM Revision 539c42ed (git): [rubygems/rubygems] Fix typos
https://github.com/rubygems/rubygems/commit/f328ef6f77 nobu (Nobuyoshi Nakada)
02:00 PM Bug #18286: Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
nobu (Nobuyoshi Nakada) wrote in #note-1:
> Could you try with the master, and show more backtraces?
Sure. Similar error, though this time running the universal `ruby` on Apple Silicon just results in a `Killed: 9` message. I'm unabl...
ccaviness (Clay Caviness)
07:14 AM Bug #18286: Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
Could you try with the master, and show more backtraces? nobu (Nobuyoshi Nakada)
01:19 PM Feature #18276: `Proc#bind_call(obj)` same as `obj.instance_exec(..., &proc_obj)`
Ah, maybe Koichi meant that `bind_call` doesn't change the default definee like `instance_exec` does?
i.e., does
```ruby
class C
-> {
def foo
end
}.bind_call(Object.new)
end
```
define `foo` on that object's singlet...
Eregon (Benoit Daloze)
01:13 PM Feature #18276: `Proc#bind_call(obj)` same as `obj.instance_exec(..., &proc_obj)`
byroot (Jean Boussier) wrote in #note-8:
> Assuming I correctly understand how it would work, then yes it would be great to have it to replace lots of costly `instance_exec`.
I don't think it would change anything performance-wise. T...
Eregon (Benoit Daloze)
11:39 AM Feature #18276: `Proc#bind_call(obj)` same as `obj.instance_exec(..., &proc_obj)`
> only as a replacement for instance_exec(&proc).
Assuming I correctly understand how it would work, then yes it would be great to have it to replace lots of costly `instance_exec`.
byroot (Jean Boussier)
01:16 PM Misc #18266: DevelopersMeeting20211118Japan
* [Misc #18285] NoMethodError#message uses a lot of CPU/is really expensive to call (eregon)
* OK to do https://bugs.ruby-lang.org/issues/18285#note-11 and no longer call custom #inspect for NoMethodError?
* Same for NameError?
* ...
Eregon (Benoit Daloze)
11:51 AM Revision 3d8e1ee4 (git): [ruby/net-http] Warn deprecated old constants
https://github.com/ruby/net-http/commit/2a97b4729b nobu (Nobuyoshi Nakada)
11:51 AM Revision b49dbe02 (git): [ruby/net-http] Fix the typo in a constant name
https://github.com/ruby/net-http/commit/dada6007bf nobu (Nobuyoshi Nakada)
11:44 AM Revision 5f2c4e34 (git): [ruby/net-http] Reset keep_alive timer on new connection
The last_communicated timestamp is for HTTP persistent connection, to
decide whether the current TCP connection may be reused for the
subsequent requests or not. Naturally, the timer must be reset if the
connection is recreated since it ...
rhenium (Kazuki Yamaguchi)
09:34 AM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
Thanks Benoit for stating in very clear and exact terms what I was trying to express :) ivoanjo (Ivo Anjo)
03:58 AM Revision a53aab12 (git): Fix typos [ci skip]
znz (Kazuhiro NISHIYAMA)
03:08 AM Revision ee9f7fc2 (git): fix typo in ChangeLog-1.9.3
180909 (佳华 王)

11/03/2021

11:58 PM Revision e1ae889c (git): [ruby/racc] Fix a private method name
https://github.com/ruby/racc/commit/1f52571225 nobu (Nobuyoshi Nakada)
11:58 PM Revision acf5ccd1 (git): [ruby/racc] Fix typo in a local variable name
https://github.com/ruby/racc/commit/03d0b86b90 nobu (Nobuyoshi Nakada)
11:57 PM Bug #18243: Ractor.make_shareable does not freeze the receiver of a Proc but allows accessing ivars of it
From #18276,
I think the best solution by far is `Ractor.make_shareable(proc.bind(nil))` (concise, clear, clean as it does not pass unshared object to other Ractor), and raise on `Ractor.make_shareable(proc)` if the Proc's `self` is not ...
Eregon (Benoit Daloze)
11:56 PM Revision 481aa61c (git): * 2021-11-04 [ci skip]
git[bot]
11:56 PM Revision f6330a45 (git): [ruby/rdoc] Fix typos in test method names [ci skip]
https://github.com/ruby/rdoc/commit/8386333323 nobu (Nobuyoshi Nakada)
11:54 PM Feature #18276: `Proc#bind_call(obj)` same as `obj.instance_exec(..., &proc_obj)`
Dan0042 (Daniel DeLorme) wrote in #note-6:
> Why not `proc.bind(obj).call` ? It seems a more "proper" API, more composable. You can bind once and then call multiple times. Maybe `Ractor.make_shareable(proc.bind(nil))`. I understand the ...
Eregon (Benoit Daloze)
11:46 PM Feature #12745: String#(g)sub(!) should pass a MatchData to the block, not a String
The fix for #12689 seems clear, such variables need to be Thread-local (or even Fiber-local).
That's already what TruffleRuby does (mentioned in that issue) and it seems JRuby is doing the same (https://github.com/jruby/jruby/issues/303...
Eregon (Benoit Daloze)
02:03 PM Feature #12745: String#(g)sub(!) should pass a MatchData to the block, not a String
I would love to see this resurrected.
If you want the MatchData in a gsub block, at first it looks like you can just use `Regexp.last_match`.
But I think this, along with variables like `$1`, may not be thread-safe? See for insta...
jrochkind (jonathan rochkind)
11:39 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
Re special casing, true/false/nil are typically already special-cased for exception messages (because `#<TrueClass:0x0000000000000014>` is too confusing, everyone expects `true` or `true:TrueClass`, which is BTW the current formatting: `... Eregon (Benoit Daloze)
04:33 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
My suggestion is indeed to only include the class + perhaps the pointer id or the object id for regular user classes, and then special case true/false/nil and perhaps String and symbols. ivoanjo (Ivo Anjo)
04:16 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
> I was trying to use that to make a case that perhaps the default should not be to use #inspect, not to use the inspect always :)
Not sure if I got you right, but in my opinion the old behavior of only using it if it was smaller than...
byroot (Jean Boussier)
12:06 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
> Well I for one complained about that limit, hence why I opened the ticket.
Right! Thanks for pointing it out.
> ...
Good point. What I meant was that for a long time it seemed OK to not get the `#inspect` information some of the ...
ivoanjo (Ivo Anjo)
11:22 AM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
> I'm actually talking about NoMethodError, not NameError, so I don't think this issue is caused by the did you mean gem behavior
No the confusion is mine, I assumed it was a `did_you_mean` perf issue without fully digging into your r...
byroot (Jean Boussier)
09:15 AM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
#### Important note! I'm actually talking about **`NoMethodError`**, not **`NameError`**, so I don't think this issue is caused by the did you mean gem behavior (which I really like).
This may have been confusing because both of them ...
ivoanjo (Ivo Anjo)
09:52 PM Bug #18284: Macosx M1
I'm not sure it's related, but a `pod` related error came up on the #ruby IRC channel today, and the user solved their problem by using this command:
```
sudo arch -x86_64 gem install ffi
```
Which they found here: https://stacko...
adam12 (Adam Daniels)
04:21 PM Bug #18286 (Closed): Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
A universal arm64/x86_84 ruby binary for macOS built on a x86_64 machine segfaults/is killed when executed on an arm64 machine.
To reproduce:
* On an Intel Mac: `git clone https://github.com/ruby/ruby && cd ruby && git checkout v3_0_...
ccaviness (Clay Caviness)
02:43 PM Revision 5b8d22eb (git): [ruby/openssl] Fix typos [ci skip]
https://github.com/ruby/openssl/commit/708ebf2f7a nobu (Nobuyoshi Nakada)
10:55 AM Revision b5d9c442 (git): [ruby/optparse] Fix typo [ci skip]
https://github.com/ruby/optparse/commit/0aa18752cf nobu (Nobuyoshi Nakada)
10:11 AM Revision e9a13332 (git): Fix typos [ci skip]
nobu (Nobuyoshi Nakada)
08:42 AM Revision c5224c71 (git): [rubygems/rubygems] Fix `gem install` vs `gem fetch` inconsistency
https://github.com/rubygems/rubygems/commit/b3e985799e deivid (David Rodríguez)
05:00 AM Revision 9fc7ea64 (git): configure.ac: don't use shutdown on emscripten
... to absorb a change on Ubuntu 21.10 mame (Yusuke Endoh)

11/02/2021

06:52 PM Revision 4b248e79 (git): string.c: Follow up to ae2359f602bb467ca755eef02d73d361d35eaed7
* Mention `\0`
* Make the example of hash replacement meaningful
mame (Yusuke Endoh)
06:20 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
> we ran into this issue on one of our internal testing applications.
Let me confirm: you are facing this issue when *testing* dd-trace-rb, not in production, right? I cannot imagine how `NameError#message` is called so many times in p...
mame (Yusuke Endoh)
03:53 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
If applicable, I suggest to do what we do in Rails: https://github.com/rails/rails/blob/f95c0b7e96eb36bc3efc0c5beffbb9e84ea664e4/activesupport/lib/active_support/core_ext/name_error.rb#L13-L18
When dealing with `NameError` and its sub...
byroot (Jean Boussier)
02:32 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
Yeah, I think it's useful to include the object class and possibly its id, but with the default `#inspect` behavior of "print the object and all of its instance variables, and do it recursively", it's a rather sharp edge to have it being... ivoanjo (Ivo Anjo)
12:50 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
I think we've had this report multiple times, it's a trade-off between efficiency and useful information being shown.
Ideally `#inspect` wouldn't be so expensive.
NoMethodError is typically because the method isn't defined on the class ...
Eregon (Benoit Daloze)
12:08 PM Feature #18285 (Closed): NoMethodError#message uses a lot of CPU/is really expensive to call
Hello there! I'm working at Datadog on the ddtrace gem -- https://github.com/DataDog/dd-trace-rb and we ran into this issue on one of our internal testing applications. I also blogged about this issue in <https://ivoanjo.me/blog/2021/11/... ivoanjo (Ivo Anjo)
06:05 PM Revision a4f834c4 (git): * 2021-11-03 [ci skip]
git[bot]
06:04 PM Revision ae2359f6 (git): Enhanced RDoc for String (#5060)
Treated:
#slice!
#sub
#sub!
#gsub
#gsub!
burdettelamar (Burdette Lamar)
02:41 PM Revision 8413749e (git): ext/socket/extconf.rb: Fix the chech if if_indextoname is available
The check had not work because "headers" were not passed. mame (Yusuke Endoh)
12:46 PM Bug #18284: Macosx M1
Although we have received several reports that `pod` did crash on M1 Mac (see e.g. #17922, #17988, #18043), I cannot figure out whether they are related to (or the same as) this issue.
BTW, the presented log seems to be formatted in J...
xtkoba (Tee KOBAYASHI)
09:32 AM Bug #18284 (Rejected): Macosx M1
crash at pod update
`{"app_name":"ruby","timestamp":"2021-11-02 10:17:47.00 +0100","app_version":"","slice_uuid":"72ddeba3-1e94-3bb4-a5f7-da590f21374c","bu
│ ild_version":"","platform":1,"share_with_app_devs":0,"is_first_party":...
docygrumpy (Bobby Brown)
10:59 AM Bug #18282: Rails CI raises Segmentation fault with ruby 3.1.0dev supporting `Class#descendants`
@mame ah you beat me to it, I use a different approach but I don't know if it's any better than yours: https://github.com/ruby/ruby/pull/5071
Mine checks the descendants with `rb_objspace_garbage_object_p()`, and it seems to fix your ...
byroot (Jean Boussier)
10:30 AM Bug #18282: Rails CI raises Segmentation fault with ruby 3.1.0dev supporting `Class#descendants`
I've created a PR: https://github.com/ruby/ruby/pull/5070 mame (Yusuke Endoh)
08:46 AM Bug #18282: Rails CI raises Segmentation fault with ruby 3.1.0dev supporting `Class#descendants`
Okay I cloud create a small repro case:
```
class C
end
100000.times { Class.new(C) }
p C.descendants
```
This bug is triggered when GC occurs during the subclass iteration of `Class#descendants`
mame (Yusuke Endoh)
07:46 AM Bug #18282: Rails CI raises Segmentation fault with ruby 3.1.0dev supporting `Class#descendants`
Thanks for working this issue. Glad to hear that it reproduces. yahonda (Yasuo Honda)
07:39 AM Bug #18282: Rails CI raises Segmentation fault with ruby 3.1.0dev supporting `Class#descendants`
Argh, the message seems just a warning. I could run `bundle exec rake test` and reproduce the issue. Sorry for the noise.
Here is GDB backtrace:
```
$ RUBY_ON_BUG="sudo gdb -x ~/work/ruby/.gdbinit -p" bundle exec rake test
...
E...
mame (Yusuke Endoh)
07:25 AM Bug #18282: Rails CI raises Segmentation fault with ruby 3.1.0dev supporting `Class#descendants`
Thank you for the information, but neither works. How did you setup ruby and bundler? I just did:
```
git clone https://github.com/ruby/ruby.git
cd ruby
./autogen.sh
./configure --prefix=$PWD/local
make install
export PATH=$PWD/...
mame (Yusuke Endoh)
06:21 AM Bug #18282: Rails CI raises Segmentation fault with ruby 3.1.0dev supporting `Class#descendants`
Thanks for taking care of it. In my environment `bundle install` just works fine.
then, how about using `bundle update` or removing Gemfile.lock then run `bundle install` as follows?
```
git clone https://github.com/rails/rails
cd rail...
yahonda (Yasuo Honda)
05:26 AM Bug #18282: Rails CI raises Segmentation fault with ruby 3.1.0dev supporting `Class#descendants`
Thanks for the detailed report. Maybe this is a newbie question of bundler, but `bundle install` failed as follows on my machine.
```
Your lockfile doesn't include a valid resolution.
You can fix this by regenerating your lockfile o...
mame (Yusuke Endoh)
03:26 AM Bug #18282 (Closed): Rails CI raises Segmentation fault with ruby 3.1.0dev supporting `Class#descendants`
This report was originally reported at Rails https://github.com/rails/rails/issues/43574
then moved to bugs.ruby-lang.org .
## Steps to reproduce
- This is a "minimum" test case so far. I have attempt to find which test file raises ...
yahonda (Yasuo Honda)
10:17 AM Revision e0915ba6 (git): Fix typos in ChangeLog files [ci skip]
nobu (Nobuyoshi Nakada)
10:17 AM Revision a2024081 (git): Fix typos
nobu (Nobuyoshi Nakada)
10:12 AM Revision c2dcaa73 (git): [rubygems/rubygems] Use OpenSSL constants for error codes.
This fixes the following test error testing against OpenSSL 3.x:
~~~
2) Failure:
TestGemRequest#test_verify_certificate_extra_message [/builddir/build/BUILD/ruby-3.0.2/test/rubygems/test_gem_request.rb:358]:
<"ERROR: SSL verification...
Vít Ondruch
09:34 AM Revision 83704a28 (git): remove the repeat 'the'
180909 (佳华 王)
09:13 AM Bug #18283 (Rejected): Creating a subclass in Ractor dumps core
```
$ ruby -e 'class C;end; (1..10).map { Ractor.new { 100000.times { Class.new(C) } } }.each {|r| r.take }'
<internal:ractor>:267: warning: Ractor is experimental, and the behavior may change in future versions of Ruby! Also there are...
mame (Yusuke Endoh)
08:28 AM Revision 905b6aaa (git): test/readline/test_readline.rb: Use TERM=vt100 to run the tests
Readline seems to emit an escape sequence `"\e[?1034h` at an
unpredictable timing when `TERM=xterm` or something.
This leads to a noisy random test failure.
http://rubyci.s3.amazonaws.com/amazon2/ruby-master/log/20211102T063005Z.fail.ht...
mame (Yusuke Endoh)
02:05 AM Feature #18280: Allow rb_utf8_str_new_cstr(NULL)
Hmm, looking at the source code there are those functions that thoughtlessly pass their arguments to `strlen()` without checking anything (e.g. `rb_interned_str_cstr()`), and those which politely call `must_not_null` before dereferencing... shyouhei (Shyouhei Urabe)
12:59 AM Feature #18280: Allow rb_utf8_str_new_cstr(NULL)
Hello, I'm the one who wrote the comment in string.h.
- OK to remove `__attribute__((__nonnull__))` to revive `must_not_null()`. Runtime check is a nice-to-have feature.
- But that just raises ruby level exception instead of SEGV. ...
shyouhei (Shyouhei Urabe)
01:24 AM Revision 38785aa3 (git): Update licenses= documentation
Carlos Palhares
01:24 AM Revision 17f8fd65 (git): Allow custom LicenseRef
Carlos Palhares
01:22 AM Revision b74385e7 (git): Remove SimpleCov at all.
retro (Josef Šimánek)
01:19 AM Revision 4a391672 (git): Removed the related code of `gem server`
hsbt (Hiroshi SHIBATA)

11/01/2021

11:08 PM Bug #18281: Ruby 3.1.0: gem uninstall -aIx fails to uninstall debug
Oh also, interesting.. if I `gem install debug` and re-run `gem uninstall -aIx` it works!
```
gem uninstall -aIx
Successfully uninstalled debug-1.3.4
Successfully uninstalled debug-1.1.0
```
But now it's failing to uninstall `m...
zzak (zzak _)
11:05 PM Bug #18281 (Closed): Ruby 3.1.0: gem uninstall -aIx fails to uninstall debug
👋 So I'm not sure this is a bug with `debug` or rubygems, but thought I'd start here.
When running `gem uninstall -aIx` on Ruby 3.1.0 I get the following error:
```
ERROR: While executing gem ... (Gem::InstallError)
debug i...
zzak (zzak _)
05:14 PM Feature #18280: Allow rb_utf8_str_new_cstr(NULL)
IMHO the gem should be fixed so it doesn't call `rb_utf8_str_new_cstr()` with NULL. Eregon (Benoit Daloze)
04:02 PM Feature #18280: Allow rb_utf8_str_new_cstr(NULL)
ukolovda (Dmitry Ukolov) wrote in #note-4:
> I'm afraid, we got many errors with other gems, which use clang and give NULL parameters. This will have very bad results...
I guess the compiler warned that NULL may be passed, didn't it?
nobu (Nobuyoshi Nakada)
03:04 PM Feature #18280: Allow rb_utf8_str_new_cstr(NULL)
That documentation was recently added: https://github.com/ruby/ruby/pull/4815 (hasn't been part of a release yet AFAICT) dentarg (Patrik Ragnarsson)
01:39 PM Feature #18280 (Feedback): Allow rb_utf8_str_new_cstr(NULL)
peterzhu2118 (Peter Zhu)
01:10 PM Feature #18280: Allow rb_utf8_str_new_cstr(NULL)
It is documented that the parameter for `rb_utf8_str_new_cstr` (and also for its friends) [must not be a null pointer](https://bugs.ruby-lang.org/projects/ruby-master/repository/git/revisions/091faca99ca92cb1146b3c4d8ebba67f4822561c/entr... xtkoba (Tee KOBAYASHI)
01:08 PM Feature #18280: Allow rb_utf8_str_new_cstr(NULL)
Thank you!
I've got this error when test gem `addressable` + `idn-ruby`.
See https://github.com/ukolovda/addressable/runs/4060648877?check_suite_focus=true
I guess, it's CI use default settings for compiler.
I'm afraid, we got m...
ukolovda (Dmitry Ukolov)
12:58 PM Feature #18280: Allow rb_utf8_str_new_cstr(NULL)
Compiling with `-fno-delete-null-pointer-checks` prevents this check from being optimised away. Using the test script above and the following compile options
```
set -lx debugflags '-g'
set -lx optflags '-Oz -fno-delete-null-poi...
eightbitraptor (Matt V-H)
12:41 PM Feature #18280: Allow rb_utf8_str_new_cstr(NULL)
`rb_str_new_cstr` seems to be attributed as `nonnull` since commit:091faca99ca92cb1146b3c4d8ebba67f4822561c. Thus it is absolutely legal for a compiler to optimize away the `must_not_null` check. xtkoba (Tee KOBAYASHI)
10:44 AM Feature #18280: Allow rb_utf8_str_new_cstr(NULL)
The SEGV reproduces for me with the following test case:
```ruby
require "fiddle"
include Fiddle
h = dlopen(nil)
f = Function.new(h['rb_str_new_cstr'], [TYPE_VOIDP], TYPE_LONG)
f.call(NULL)
```
Ruby version:
```
$ rub...
xtkoba (Tee KOBAYASHI)
07:06 AM Feature #18280 (Feedback): Allow rb_utf8_str_new_cstr(NULL)
Ruby process crushed.
`
Addressable::URI when parsed from 'http://example.com/%E8'
/home/ukolovda/RubymineProjects/external/addressable/lib/addressable/idna/native.rb:34: [BUG] Segmentation fault at 0x0000000000000000
ruby 3.1.0dev...
ukolovda (Dmitry Ukolov)
03:59 PM Bug #18243: Ractor.make_shareable does not freeze the receiver of a Proc but allows accessing ivars of it
Dan0042 (Daniel DeLorme) wrote in #note-7:
> It's not uncommon for a proc to have behavior that is independent of `self`.
Yes, but it's not so trivial to assert it is the case for any non-trivial block/Proc.
Changing the self is bre...
Eregon (Benoit Daloze)
02:14 AM Bug #18243: Ractor.make_shareable does not freeze the receiver of a Proc but allows accessing ivars of it
It's not uncommon for a proc to have behavior that is independent of `self`. Let's say:
Ractor.make_shareable(-> x { x + 1 })
In this case it's irrelevant if `self` is shareable or not, because it's never used in the proc. The...
Dan0042 (Daniel DeLorme)
03:28 PM Revision 1d88eec8 (git): * 2021-11-02 [ci skip]
git[bot]
03:28 PM Revision ed0f326e (git): [rubygems/rubygems] Leave ":" after MANPATH when not set
So that system man pages still work after a gem with man pages overrides
it.
https://github.com/rubygems/rubygems/commit/1031879b87
deivid (David Rodríguez)
02:54 PM Revision 2fa51c70 (git): YJIT: Support kwargs sends with all defaults (#5067)
* YJIT: Support kwargs sends with all defaults
Previously keyword argument methods were only compiled by YJIT when all
keywords were specified in the caller.
This adds support for calling methods with keyword arguments when no
keyword ...
jhawthorn (John Hawthorn)
08:48 AM Revision b474049c (git): [ruby/openssl] x509name: improve docs for X509::Name
Add docs for X509::Name.parse_openssl and X509::Name.parse_rfc2253,
which are currently undocumented despite being widely used.
Small changes are also made to #to_s and the class description to
recommend using RFC 2253-based methods.
F...
rhenium (Kazuki Yamaguchi)
08:48 AM Revision 1ac7f23b (git): [ruby/openssl] ssl: disallow reading/writing to unstarted SSL socket
OpenSSL::SSL::SSLSocket allowed #read and #write to be called before an
SSL/TLS handshake is completed. They passed unencrypted data to the
underlying socket.
This behavior is very odd to have in this library. A verbose mode
warning "SS...
rhenium (Kazuki Yamaguchi)
07:32 AM Feature #15667: Introduce malloc_trim(0) in full gc cycles
Wouldn't that be a good feature in combination with GC auto_compaction? First run the auto_compaction against memory fragmentation and then call malloc_trim to give back the memory? bruno.escherl@xing.com (Bruno Escherl)
07:07 AM Revision f0226f9a (git): Update bundled_gems at 2021-11-01
git[bot]
03:50 AM Revision b93a5f96 (git): bundled_gems: Pull before new commit [ci skip]
nobu (Nobuyoshi Nakada)
02:44 AM Feature #18276: `Proc#bind_call(obj)` same as `obj.instance_exec(..., &proc_obj)`
Why not `proc.bind(obj).call` ? It seems a more "proper" API, more composable. You can bind once and then call multiple times. Maybe `Ractor.make_shareable(proc.bind(nil))`. I understand the performance benefit of `bind_call` but in #159... Dan0042 (Daniel DeLorme)

10/31/2021

05:01 PM Revision 266c90ea (git): * 2021-11-01 [ci skip]
git[bot]
05:01 PM Revision 4e7e0576 (git): [rubygems/rubygems] Memoize materialized specs when requiring `bundler/setup`
Calling `Bundler.definition.specs` will memoize materialized specs.
However, requiring `bundler/setup` will end up materializing the same
set of specs, but not memoize them.
This change makes things consistent.
https://github.com/rubyg...
deivid (David Rodríguez)
09:28 AM Bug #18267 (Closed): Argument forwarding requires parenthesis on method definitions
Applied in changeset commit:git|13a9597c7ca83fced5738e9345660ae6aef87eb7.
----------
Argument forwarding definition without parentheses [Bug #18267]
nobu (Nobuyoshi Nakada)
09:27 AM Revision 13a9597c (git): Argument forwarding definition without parentheses [Bug #18267]
nobu (Nobuyoshi Nakada)
06:16 AM Revision 7da6e9b3 (git): * 2021-10-31 [ci skip]
git[bot]
04:55 AM Revision b7f7117b (git): Rename `in_kwarg` as `in_argdef` as unrelated to keywords
nobu (Nobuyoshi Nakada)
04:49 AM Revision 1b59ad57 (git): Reduce parser stack usage at pattern matching
nobu (Nobuyoshi Nakada)
04:29 AM Revision b1696c87 (git): test_gc.rb: relax criterion
nagachika (Tomoyuki Chikanaga)
03:53 AM Feature #18272 (Third Party's Issue): Please replace unsafe SHA1 with another digest algorithm
nobu (Nobuyoshi Nakada)

10/30/2021

10:13 PM Bug #18277: buffer error (Zlib::BufError) in Zlib::Deflate#deflate when using MJIT
Indeed, it looks related, thanks.
I did a quick google search before but didn't find it.
The advantage of this repro is it happens every time.
Eregon (Benoit Daloze)
07:54 PM Bug #18277: buffer error (Zlib::BufError) in Zlib::Deflate#deflate when using MJIT
I believe it's a duplicate of [Bug #18058] byroot (Jean Boussier)
01:28 PM Bug #18277: buffer error (Zlib::BufError) in Zlib::Deflate#deflate when using MJIT
I also tried with latest master as of today:
`ruby 3.1.0dev (2021-10-30T10:24:41Z master a46c220320) +JIT [x86_64-linux]`.
It also crashes:
```
$ ruby --jit -I./harness benchmarks/hexapdf/benchmark.rb
...
Bundle complete! 1 Gemfile...
Eregon (Benoit Daloze)
01:25 PM Bug #18277 (Closed): buffer error (Zlib::BufError) in Zlib::Deflate#deflate when using MJIT
To repro:
```
$ git clone https://github.com/Shopify/yjit-bench.git
$ cd yjit-bench
$ ruby --jit -I./harness benchmarks/hexapdf/benchmark.rb
...
Bundle complete! 1 Gemfile dependency, 4 gems now installed.
Use `bundle info [gemnam...
Eregon (Benoit Daloze)
05:00 PM Feature #18279 (Closed): ENV.merge! support multiple arguments as Hash.merge!
I give a useful example for this.
```rb
require 'yaml'
env_files = ['config.yml', 'config.local']
envs = env_files.filter_map {|file| YAML.load_file(file)['env'] if File.file?(file) }
ENV.merge!(*envs) # Raise wrong number of argu...
zw963 (Wei Zheng)
04:44 PM Bug #18278 (Third Party's Issue): SegFault on exit from gtk3 app
According to the log, it is very likely to be a problem with gtk3. Could you contact on the author of the gem?
I guess the gem wrongly assumes the order in which finalizers are called.
mame (Yusuke Endoh)
04:14 PM Bug #18278 (Third Party's Issue): SegFault on exit from gtk3 app
I try to implement my gtk3-based app to organize my books/music/etc.
After adding the autocompletion feature the app hits segmentation fault occasionly. I've described the way to reproduce it in the BUG-REPRODUCE.md file.
Because it ...
sergzhum (Sergey Zhumatiy)
11:54 AM Revision 5afb947d (git): Bump patchlevel.
nagachika (Tomoyuki Chikanaga)
11:53 AM Revision 519e3bde (git): [ruby/drb] Bump up drb version to 2.0.5
https://github.com/ruby/drb/commit/7edf67654c hsbt (Hiroshi SHIBATA)
11:53 AM Revision f96517ec (git): [ruby/fcntl] Bump up fcntl version to 1.0.1
https://github.com/ruby/fcntl/commit/0bcc0c4518 hsbt (Hiroshi SHIBATA)
11:53 AM Revision e5babb16 (git): Bump up zlib version to 2.0.0
hsbt (Hiroshi SHIBATA)
11:23 AM Revision c9bc91bf (git): Bump patchlevel.
nagachika (Tomoyuki Chikanaga)
11:22 AM Revision 7388a4b7 (git): * 2021-10-30 [ci skip]
git[bot]
11:22 AM Revision 00e89fe3 (git): openssl: import v2.2.1
Bring the local copy of ruby/openssl in sync with the upstream gem
release v2.2.1. The commits happened in the upstream repository can be
found at:
https://github.com/ruby/openssl/compare/v2.2.0...v2.2.1
Note that many of these...
rhenium (Kazuki Yamaguchi)
10:24 AM Revision a46c2203 (git): Add `rb_mod_exc_raise` function and replace duplicate code
S_H_ (Shun Hiraoka)
03:26 AM Revision 99dad28b (git): Apply the timeout scale to also separated workers
nobu (Nobuyoshi Nakada)
01:23 AM Revision 1d0ce1a3 (git): [DOC] Fix `TracePoint.trace` format [ci skip]
Signed-off-by: Ulysse Buonomo <buonomo.ulysse@gmail.com> ulysse (Ulysse Buonomo)
01:18 AM Revision 4e0747a8 (git): Allow the thread-model to be switched by configure option
This change adds --with-thread=IMPL option to the configure. If not
supplied, default implementation for each platform will be used.
katei (Yuta Saito)
01:18 AM Revision 8590d61e (git): Select including thread impl file at config time
katei (Yuta Saito)
01:18 AM Revision ccda26ef (git): Split thread-model config into another ac file
This is a first step to allow the thread-model implementation to be
switched by configure's option
katei (Yuta Saito)
01:16 AM Revision 6c812c6f (git): add missing http response code in doc
180909 (佳华 王)
01:16 AM Bug #14743 (Closed): Some links broken in README
Applied in changeset commit:git|2898805535104c330e1e5c64c8065a108f1f2895.
----------
Use rdoc-ref to fix a few links in the README
This may break linking on GitHub, but it's more important for the
links to work in the documentation gen...
jeremyevans (Jeremy Evans)
01:15 AM Revision 28988055 (git): Use rdoc-ref to fix a few links in the README
This may break linking on GitHub, but it's more important for the
links to work in the documentation generated by rdoc.
Fixes [Bug #14743]
jeremyevans (Jeremy Evans)
12:59 AM Revision 09bdb435 (git): Clarify docs about magic comments placement
Magic comments like `frozen_string_literal` may appear everywhere
within the first comment section while `encoding` have to be the first
line, or second line after shebang.
splattael (Peter Leitzen)
 

Also available in: Atom