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> -
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> -
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-... -
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 ... -
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`... -
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.
-
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 ... - 04:39 PM Revision 82ae9b09 (git): [rubygems/rubygems] Fix url
- https://github.com/rubygems/rubygems/commit/6a5a80eff7
-
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] -
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
-
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... - 03:22 PM Revision f1ca64ed (git): * 2021-11-06 [ci skip]
-
03:22 PM Revision e83c02a7 (git): Delegate keywords from Enumerable#to_a to #each
- Fixes [Bug #18289]
-
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.
-
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... -
02:20 PM Revision 907aa475 (git): [rubygems/rubygems] Fix `ruby setup.rb` command when `--prefix` is passed
- https://github.com/rubygems/rubygems/commit/8d04092f6e
-
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 -
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 -
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 -
02:20 PM Revision 87a8b224 (git): [rubygems/rubygems] Simplify `--destdir` test
- https://github.com/rubygems/rubygems/commit/0571fd1ec6
-
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 -
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 -
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... -
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 ... -
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.
-
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. -
01:32 AM Revision bfc0a71a (git): Suppress unused-function warnings
-
01:20 AM Revision f62f020f (git): Add the test of `Dir.glob` when `sort: true` is given explicitly
-
12:58 AM Revision 1ce3706c (git): [DOC] Fix indent as single paragraph [ci skip]
-
12:58 AM Revision f3812e6c (git): [DOC] Needs `call-seq` directives [ci skip]
-
12:58 AM Revision 53e2bba0 (git): [DOC] Markup the literal false, and constant [ci skip]
-
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
11/04/2021
-
10:35 PM Revision 16331d9a (git): [rubygems/rubygems] Explicitly ignored empty value for DESTDIR
- https://github.com/rubygems/rubygems/commit/69dcc02553
-
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
-
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... -
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 -
10:23 PM Revision 5e855be8 (git): [rubygems/rubygems] More refactoring of `--destdir` handling
- https://github.com/rubygems/rubygems/commit/f42c2025ed
-
10:23 PM Revision 70cbca48 (git): [rubygems/rubygems] Refactor `--destdir` handling
- https://github.com/rubygems/rubygems/commit/8aab3d11b0
-
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... -
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... -
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 --... - 03:54 PM Revision 85b4cf16 (git): * 2021-11-05 [ci skip]
-
03:54 PM Revision 0c69f240 (git): test/ruby/test_gc_compact.rb: Backpatch the URL to the PR
-
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... -
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
#... -
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 ... -
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 ... -
09:17 AM Feature #18287: Support nil value for sort in Dir.glob
- `nil` means the default behavior, that is `sort: true`.
-
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,*}",... -
02:06 PM Revision 539c42ed (git): [rubygems/rubygems] Fix typos
- https://github.com/rubygems/rubygems/commit/f328ef6f77
-
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... -
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?
-
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... -
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... -
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`. -
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?
* ... -
11:51 AM Revision 3d8e1ee4 (git): [ruby/net-http] Warn deprecated old constants
- https://github.com/ruby/net-http/commit/2a97b4729b
-
11:51 AM Revision b49dbe02 (git): [ruby/net-http] Fix the typo in a constant name
- https://github.com/ruby/net-http/commit/dada6007bf
-
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 ... -
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 :)
-
03:58 AM Revision a53aab12 (git): Fix typos [ci skip]
-
03:08 AM Revision ee9f7fc2 (git): fix typo in ChangeLog-1.9.3
11/03/2021
-
11:58 PM Revision e1ae889c (git): [ruby/racc] Fix a private method name
- https://github.com/ruby/racc/commit/1f52571225
-
11:58 PM Revision acf5ccd1 (git): [ruby/racc] Fix typo in a local variable name
- https://github.com/ruby/racc/commit/03d0b86b90
-
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 ... - 11:56 PM Revision 481aa61c (git): * 2021-11-04 [ci skip]
-
11:56 PM Revision f6330a45 (git): [ruby/rdoc] Fix typos in test method names [ci skip]
- https://github.com/ruby/rdoc/commit/8386333323
-
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 ... -
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... -
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... -
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: `...
-
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.
-
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... -
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 ... -
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... -
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 ... -
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... -
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_... -
02:43 PM Revision 5b8d22eb (git): [ruby/openssl] Fix typos [ci skip]
- https://github.com/ruby/openssl/commit/708ebf2f7a
-
10:55 AM Revision b5d9c442 (git): [ruby/optparse] Fix typo [ci skip]
- https://github.com/ruby/optparse/commit/0aa18752cf
-
10:11 AM Revision e9a13332 (git): Fix typos [ci skip]
-
08:42 AM Revision c5224c71 (git): [rubygems/rubygems] Fix `gem install` vs `gem fetch` inconsistency
- https://github.com/rubygems/rubygems/commit/b3e985799e
-
05:00 AM Revision 9fc7ea64 (git): configure.ac: don't use shutdown on emscripten
- ... to absorb a change on Ubuntu 21.10
11/02/2021
-
06:52 PM Revision 4b248e79 (git): string.c: Follow up to ae2359f602bb467ca755eef02d73d361d35eaed7
- * Mention `\0`
* Make the example of hash replacement meaningful -
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... -
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... -
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...
-
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 ... -
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/...
- 06:05 PM Revision a4f834c4 (git): * 2021-11-03 [ci skip]
-
06:04 PM Revision ae2359f6 (git): Enhanced RDoc for String (#5060)
- Treated:
#slice!
#sub
#sub!
#gsub
#gsub! -
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.
-
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... -
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":... -
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 ... -
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
-
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` -
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.
-
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... -
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/... -
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... -
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... -
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 ... -
10:17 AM Revision e0915ba6 (git): Fix typos in ChangeLog files [ci skip]
-
10:17 AM Revision a2024081 (git): Fix typos
- 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... -
09:34 AM Revision 83704a28 (git): remove the repeat 'the'
-
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... -
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... -
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...
-
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. ... - 01:24 AM Revision 38785aa3 (git): Update licenses= documentation
- 01:24 AM Revision 17f8fd65 (git): Allow custom LicenseRef
-
01:22 AM Revision b74385e7 (git): Remove SimpleCov at all.
-
01:19 AM Revision 4a391672 (git): Removed the related code of `gem server`
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... -
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... -
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.
-
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?
-
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)
-
01:39 PM Feature #18280 (Feedback): Allow rb_utf8_str_new_cstr(NULL)
-
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...
-
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... -
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... -
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.
-
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... -
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... -
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... -
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... - 03:28 PM Revision 1d88eec8 (git): * 2021-11-02 [ci skip]
-
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 -
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 ... -
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... -
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... -
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?
- 07:07 AM Revision f0226f9a (git): Update bundled_gems at 2021-11-01
-
03:50 AM Revision b93a5f96 (git): bundled_gems: Pull before new commit [ci skip]
-
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...
10/31/2021
- 05:01 PM Revision 266c90ea (git): * 2021-11-01 [ci skip]
-
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... -
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] -
09:27 AM Revision 13a9597c (git): Argument forwarding definition without parentheses [Bug #18267]
- 06:16 AM Revision 7da6e9b3 (git): * 2021-10-31 [ci skip]
-
04:55 AM Revision b7f7117b (git): Rename `in_kwarg` as `in_argdef` as unrelated to keywords
-
04:49 AM Revision 1b59ad57 (git): Reduce parser stack usage at pattern matching
-
04:29 AM Revision b1696c87 (git): test_gc.rb: relax criterion
-
03:53 AM Feature #18272 (Third Party's Issue): Please replace unsafe SHA1 with another digest algorithm
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. -
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]
-
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... -
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... -
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... -
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. -
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 ... -
11:54 AM Revision 5afb947d (git): Bump patchlevel.
-
11:53 AM Revision 519e3bde (git): [ruby/drb] Bump up drb version to 2.0.5
- https://github.com/ruby/drb/commit/7edf67654c
-
11:53 AM Revision f96517ec (git): [ruby/fcntl] Bump up fcntl version to 1.0.1
- https://github.com/ruby/fcntl/commit/0bcc0c4518
-
11:53 AM Revision e5babb16 (git): Bump up zlib version to 2.0.0
-
11:23 AM Revision c9bc91bf (git): Bump patchlevel.
- 11:22 AM Revision 7388a4b7 (git): * 2021-10-30 [ci skip]
-
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... -
10:24 AM Revision a46c2203 (git): Add `rb_mod_exc_raise` function and replace duplicate code
-
03:26 AM Revision 99dad28b (git): Apply the timeout scale to also separated workers
-
01:23 AM Revision 1d0ce1a3 (git): [DOC] Fix `TracePoint.trace` format [ci skip]
- Signed-off-by: Ulysse Buonomo <buonomo.ulysse@gmail.com>
-
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. -
01:18 AM Revision 8590d61e (git): Select including thread impl file at config time
-
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 -
01:16 AM Revision 6c812c6f (git): add missing http response code in doc
-
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... -
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] -
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.