Project

General

Profile

Activity

From 02/21/2023 to 02/27/2023

02/27/2023

11:25 PM Bug #19313: Leaked file descriptors while running test-all
This does not happen on Ubuntu 22.04 for me.
`$ ldd --version`
`ldd (Ubuntu GLIBC 2.35-0ubuntu3.1) 2.35`
luke-gru (Luke Gruber)
11:17 PM Bug #17998: ractor: process hanging (with ractors initialized, but not being used)
Is this still an issue with current ruby @xtkoba? I checkout out your branch and with a few modifications for Ractor::IsolationErrors, it worked for me.
It worked on: 3.3.0-dev and 3.2.0 (2022-12-25 revision a528908271)
luke-gru (Luke Gruber)
10:36 PM Misc #19431: DevMeeting at RubyKaigi 2023
I'll attend. peterzhu2118 (Peter Zhu)
09:36 PM Bug #18572: Performance regression when invoking refined methods
Yes, the perf regression is unfortunate.
The current per-call-site cache (`CC`) in the interpreter is keyed on
`[recever_class, call_target_method_entry_validity]` -- the lexical scope that
is used to resolve refinement definition for e...
alanwu (Alan Wu)
03:51 PM Bug #18572: Performance regression when invoking refined methods
Potential fix: https://github.com/ruby/ruby/pull/4323 Eregon (Benoit Daloze)
09:34 PM Revision ba55706f (git): fix test/rubygems/test_gem_package_task.rb when in -j mode
This test skipped sometimes due to failure to load 'rake/packagetask'.
This is due to manipulation of $LOAD_PATH by other rubygems tests. If
rake is loaded before any rubygems tests run, then it works fine.
To reproduce the skipping beh...
luke-gru (Luke Gruber)
08:53 PM Revision 283c71ee (git): Skip a spec failing on master
https://github.com/ruby/ruby/actions/runs/4286361460/jobs/7466545010
http://ci.rvm.jp/results/trunk_gcc9@ruby-sp2-docker/4462424
http://ci.rvm.jp/results/trunk_clang_13@ruby-sp2-docker/4462422
k0kubun (Takashi Kokubun)
08:02 PM Revision 18b4def4 (git): Update to ruby/spec@e7dc804
Eregon (Benoit Daloze)
08:02 PM Revision de601390 (git): Update to ruby/mspec@dc2eb26
Eregon (Benoit Daloze)
06:34 PM Bug #18731: Parallel test-all sometimes does not run at all some tests
I've been working a bit on the parallel runner and I've noticed this problem too.
```
Raise if the check Test::Unit::TestCase.test_suites-suites (which is the bug) returns an empty Array. It won't catch all issues though when e.g. 2nd t...
luke-gru (Luke Gruber)
06:11 PM Revision f38c6552 (git): Remove intern/gc.h from Make deps
eightbitraptor (Matt V-H)
06:11 PM Revision 98e4bdf3 (git): Update YJIT-bindgen
eightbitraptor (Matt V-H)
06:11 PM Revision ae5e62ee (git): Merge internal/intern/gc.h into internal/gc.h
eightbitraptor (Matt V-H)
05:56 PM Revision 2f7270c6 (git): Fix spelling (#7389)
John Bampton
05:29 PM Feature #19465 (Assigned): [PATCH] reuse open(2) from rb_file_load_ok on POSIX-like system
Since there has been no action since @hsbt reported it, I temporarily reverted the commit at commit:526111290b2e01e798f436dfe4acc3bf10c6bbd1. Please have a look at the failure and re-push it once the issue is resolved. Thank you! k0kubun (Takashi Kokubun)
03:23 PM Feature #19465 (Closed): [PATCH] reuse open(2) from rb_file_load_ok on POSIX-like system
byroot (Jean Boussier)
05:24 PM Revision 52611129 (git): Revert "reuse open(2) from rb_file_load_ok on POSIX-like system"
This reverts commit 35136e1e9c232ad7a03407b992b2e86b6df43f63.
test-spec has been failing since this revision.
.github/workflows/compilers.yml:82
https://github.com/ruby/ruby/actions/runs/4276884159/jobs/7445299562
```
env:
# Minimal...
k0kubun (Takashi Kokubun)
04:45 PM Bug #18119: Ractor crashes when instantiating classes
I can't reproduce this on 3.2.0 or 3.3.0-dev (Ubuntu 22.04 x86-64), even with GC.stress = true luke-gru (Luke Gruber)
04:12 PM Bug #19464 (Closed): YJIT miscompiles `BasicObject#__send__` to alias methods of `send`
Applied in changeset commit:git|0eb634ae73cb327ede833b72492f912792a4a9d5.
----------
YJIT: Detect and reject `send(:alias_for_send, :foo)`
Previously, YJIT failed to put the stack into the correct shape when
`BasicObject#send` calls an...
alanwu (Alan Wu)
04:12 PM Revision 0eb634ae (git): YJIT: Detect and reject `send(:alias_for_send, :foo)`
Previously, YJIT failed to put the stack into the correct shape when
`BasicObject#send` calls an alias method for the send method itself.
This can manifest as strange `NoMethodError`s in the final non-send
receiver, as [seen][1] with the...
alanwu (Alan Wu)
04:12 PM Revision 55a24f9b (git): YJIT: Reject __send__ with splat to cfunc for now
`make test-spec` revealed this issue after applying an unrelated bug
fix. A crashing case is included, though I suspect there are other
scenarios where it misbehaves. Don't compile for now.
Note that this is *not* an issue on the 3.2.x ...
alanwu (Alan Wu)
03:30 PM Feature #19377: Rename Fiber#storage to Fiber.storage
zverok (Victor Shepelev) wrote in #note-5:
> Does `Fiber[foo]` not feel weird? (For me it actually does, seems like something "global", not local to the current fiber at all)
For me no, it's actually a nice way to communicate you can...
Eregon (Benoit Daloze)
03:23 PM Revision ea830ab2 (git): [ruby/irb] Add a comment about Rails' patch on
Workspace#filter_backtrace
(https://github.com/ruby/irb/pull/526)
* Add a comment about Rails' patch on Workspace#filter_backtrace
* Update lib/irb/workspace.rb
Co-authored-by: Sorah Fukumori <sora134@gmail.com>
---------
https://gi...
st0012 (Stan Lo)
12:33 PM Feature #19458: Expose HEREDOC identifier
I have no particularly strong opinion either way.
But I wanted to comment on zverok's statement:
> [...] use the possibility to "tag" strings, and if Ruby
> ...
I agree somwhat with that opinion too.
For instance, I also suggested to ...
rubyFeedback (robert heiler)
11:07 AM Revision 0aa50a03 (git): [ruby/irb] Provide more useful message when
`IRB::Inspector#inspect_value` errors
(https://github.com/ruby/irb/pull/511)
**Before**
```
irb(main):001:0> c = Cat.new "foo"
(Object doesn't support #inspect)
=>
```
**After**
```
irb(main):001:0> c = Cat.new "foo"
An error occurre...
st0012 (Stan Lo)
10:21 AM Revision 4f611df3 (git): [ruby/reline] Fix wrong indent number in prompt. whole_lines has
duplicated line.
(https://github.com/ruby/reline/pull/460)
* whole_lines should consider prev_line_index, and must not duplicate last_line
* Add test for lines passed to dynamic prompt proc
* Refactor whole_lines parameters used in te...
tompng (tomoya ishida)
10:09 AM Revision 2cbe1f3e (git): [StepSecurity] ci: Harden GitHub Actions
Signed-off-by: StepSecurity Bot <bot@stepsecurity.io> StepSecurity Bot
09:49 AM Revision 10a80d9d (git): Ignore test case for Kernel and IO methods
hsbt (Hiroshi SHIBATA)
09:49 AM Revision db0a4c89 (git): Prefer to use File.foreach instead of IO.foreach
hsbt (Hiroshi SHIBATA)
09:49 AM Revision d063ed12 (git): Prefer to use File.binwrite instead of IO.binwrite
hsbt (Hiroshi SHIBATA)
09:49 AM Revision 6dfdc7b2 (git): Prefer to use File.binread instead of IO.binread
hsbt (Hiroshi SHIBATA)
09:49 AM Revision d3d8cd30 (git): Prefer to use File.readlines instead of IO.readlines
hsbt (Hiroshi SHIBATA)
08:57 AM Revision ae4d8e99 (git): Rename job and workflow names
hsbt (Hiroshi SHIBATA)
08:57 AM Revision f21f5191 (git): Use matrix strategies each language
hsbt (Hiroshi SHIBATA)
08:57 AM Revision b5a1c57c (git): Merge codeql-config into codeql-analysis
hsbt (Hiroshi SHIBATA)
08:44 AM Revision 92ed8e6f (git): [ruby/reline] Fix the cause of test_yamatanooroti randomly failing
(https://github.com/ruby/reline/pull/474)
* Add repeated input-delete test that fails on HEAD
* Use raw mode while readmultiline
tompng (tomoya ishida)
07:01 AM Revision 494c274b (git): Update bundled gems list at 2023-02-27
git[bot]
03:52 AM Revision d686a45c (git): Bump github/codeql-action from 2.2.4 to 2.2.5
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.2.4 to 2.2.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
...
dependabot[bot]
02:29 AM Revision cc8329e8 (git): [ruby/tempfile] Fix inconsistency in doc of Tempfile.create
https://github.com/ruby/tempfile/commit/3f96b2ed29 Sven Schwyn
02:20 AM Revision b6704201 (git): Add all-ruby-quine as a sample code
This sample code works on all release versions of Ruby, from Ruby 0.49. mame (Yusuke Endoh)
12:26 AM Revision 2535b181 (git): Symbol#end_with? accepts Strings only
Regular expressions are not supported (same as String#end_with?). adam12 (Adam Daniels)

02/26/2023

10:05 PM Feature #19458: Expose HEREDOC identifier
My thinking (the proposal I considered submitting but didn't fully form yet) was rather that HEREdocs might create some subclass, like `TaggedString` or something (which might also be able to create by other means, say, literally `Tagged... zverok (Victor Shepelev)
05:10 PM Feature #19458: Expose HEREDOC identifier
Exposing the identifier for only heredocs seems inconsistent. However, for consistency, we could expose the identifier for all literal Ruby strings:
```ruby
'foo'.identifier # => "'"
"foo".identifier # => "\""
%[foo].identifier # ...
jeremyevans0 (Jeremy Evans)
01:36 PM Feature #19458: Expose HEREDOC identifier
> So what are you supposed to do if you wanted to include ERB in the string when you have to use ERB as the identifier?
This is a valid concern, and it doesn't have any good answer to it.
On the other hand,
1. the possibility ...
zverok (Victor Shepelev)
02:00 AM Feature #19458: Expose HEREDOC identifier
@zverok So what are you supposed to do if you wanted to include `ERB` in the string when you have to use `ERB` as the identifier? Did you fully read my comment? By the way, your first point is exactly what I mentioned. sawa (Tsuyoshi Sawada)
09:03 PM Feature #19465: [PATCH] reuse open(2) from rb_file_load_ok on POSIX-like system
"nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@ml.ruby-lang.org> wrote:
> Issue #19465 has been updated by nobu (Nobuyoshi Nakada).
> https://bugs.ruby-lang.org/issues/19465#change-102042
>
> Seems fine.<THUMBS UP SIGN>

```...
Anonymous
08:39 PM Revision 35136e1e (git): reuse open(2) from rb_file_load_ok on POSIX-like system
When loading Ruby source files, we can save the result of
successful opens as open(2)/openat(2) are a fairly expensive
syscalls. This also avoids a time-of-check-to-time-of-use
(TOCTTOU) problem.
This reduces open(2) syscalls during `r...
Eric Wong
01:37 PM Revision 6e6992e5 (git): [ruby/net-http] [DOC] Enhanced RDoc for Net::HTTP
(https://github.com/ruby/net-http/pull/127)
https://github.com/ruby/net-http/commit/07b2b88ef5
burdettelamar (Burdette Lamar)
01:17 PM Revision c8bafc3b (git): Fix autoconf RUBY_STACK_GROW_DIRECTION on ARM devices
benhamilton (Ben Hamilton)
11:17 AM Bug #19230: The openssl backend of securerandom is no longer needed
Here's actually an user running into the above bug: https://github.com/stefansundin/rssbox/issues/67, https://github.com/sinatra/sinatra/pull/1888
but removing this code would address the issue too as Sinatra has some sort of fallback...
dentarg (Patrik Ragnarsson)
04:20 AM Revision ef00c6da (git): Adjust `else` style to be consistent in each files [ci skip]
nobu (Nobuyoshi Nakada)

02/25/2023

05:54 PM Feature #19377: Rename Fiber#storage to Fiber.storage
@Eregon My argument was not about `#storage` taken alone, but about `#storage` vs `::[]` inconsistency. The inconsistency can be fixed either way (e.g. if "it may evolve", then why don't we do `Fiber.current['name']` from the very beginn... zverok (Victor Shepelev)
05:50 PM Feature #19458: Expose HEREDOC identifier
I came to the same idea as this ticket independently in a [half-joke discussion](https://bugs.ruby-lang.org/issues/19015#note-5), and I find it tempting, too. Even planned to submit my own proposal once I'll have it clearly formed in my ... zverok (Victor Shepelev)
04:50 PM Revision 672b81b0 (git): [ruby/irb] Remove unused Struct
(https://github.com/ruby/irb/pull/522)
https://github.com/ruby/irb/commit/97dae166ae
ima1zumi (Mari Imaizumi)
12:53 PM Bug #18572: Performance regression when invoking refined methods
palkan (Vladimir Dementyev) wrote in #note-4:
> As far as I understand, this line is responsible for "the 13 seconds" boot time overhead: https://github.com/ruby/ruby/blob/master/eval.c#L1342 (I was able to achieve similar results by ad...
Eregon (Benoit Daloze)
12:41 PM Feature #19450: Is there an official way to set a class name without setting a constant?
ioquatix (Samuel Williams) wrote in #note-18:
> > One requirement for that is the given name should not be a valid constant name then (not start with a uppercase letter).
> ...
It's a requirement for humans to always be able to tell th...
Eregon (Benoit Daloze)
12:07 PM Feature #19450: Is there an official way to set a class name without setting a constant?
I wondered about whether your point of class name consistent was valid, but I found cases like this:
```
irb(main):005:0> k = Class.new
=> #<Class:0x000000010488b9b8>
irb(main):006:0> K = k
=> K
irb(main):007:0> k.name
=> "K"
i...
ioquatix (Samuel Williams)
12:02 PM Feature #19450: Is there an official way to set a class name without setting a constant?
Here are some of the places in my own code I'd like to use such a feature:
- https://github.com/ioquatix/bake/blob/a571f0c47cc202a4b46a836b87b7383d84f74fa0/lib/bake/scope.rb#L30 - "Scope<path/to/file.rb>"
- https://github.com/ioquatix/...
ioquatix (Samuel Williams)
11:50 AM Feature #19450: Is there an official way to set a class name without setting a constant?
ioquatix (Samuel Williams) wrote in #note-16:
> It's already the case that `Module#name` can return a string which is not how you access that module (or class). Rails already does that for ActiveRecord models. Anyone can override that m...
Eregon (Benoit Daloze)
11:34 AM Feature #19450: Is there an official way to set a class name without setting a constant?
> The fundamental thing here is Module#name must return a String which is how to access that module, unless some part is anonymous and then of course it cannot be accessed via a constant path.
> ...
It's already the case that `Module#na...
ioquatix (Samuel Williams)
11:28 AM Feature #19450: Is there an official way to set a class name without setting a constant?
> I'm also pretty sure assigning to a constant is incompatible with Ractor in some cases..
No, modules and classes are always shared between Ractors. Assigning to a constant needs to be in the main Ractor but so does loading any code ...
Eregon (Benoit Daloze)
11:22 AM Feature #19450: Is there an official way to set a class name without setting a constant?
ioquatix (Samuel Williams) wrote in #note-13:
> An example of this is web frameworks which load files into anonymous modules, those modules can be named by path or mounted location in the web application.
Which web framework? Who wan...
Eregon (Benoit Daloze)
11:12 AM Feature #19450: Is there an official way to set a class name without setting a constant?
The use case is explained in https://bugs.ruby-lang.org/issues/19450#note-6 - to make it more descriptive when class names are printed which have anonymous ancestors. An example of this is web frameworks which load files into anonymous m... ioquatix (Samuel Williams)
11:09 AM Feature #19450: Is there an official way to set a class name without setting a constant?
What is the use-case here?
To name otherwise-anonymous test classes/modules?
Why not simply assigning them to a real constant, so their `name` is truthful and not a lie?
Having a filename in Module#name like in https://bugs.ruby-lan...
Eregon (Benoit Daloze)
10:04 AM Revision d0031db9 (git): Prefer RB_NUM2LONG for string length. (#7379)
Samuel Williams
09:34 AM Bug #19467 (Assigned): Some linear_time regexp does not match in linear time
hsbt (Hiroshi SHIBATA)
05:24 AM Bug #19467 (Closed): Some linear_time regexp does not match in linear time
`Regexp.linear_time?(/\A.*a.*x\z/) #=> true` but it does not match in linear time
~~~ruby
Regexp.linear_time? /\A(.*a.*)x\z/ #=> true
/\A(.*a.*)x\z/ =~ 'a'*100000+'y' #=> nil, processing time: 0.016995s
Regexp.linear_time? /\A.*a...
tompng (tomoya ishida)
09:04 AM Feature #19465: [PATCH] reuse open(2) from rb_file_load_ok on POSIX-like system
Seems fine.👍 nobu (Nobuyoshi Nakada)
01:48 AM Feature #19465 (Assigned): [PATCH] reuse open(2) from rb_file_load_ok on POSIX-like system
```
When loading Ruby source files, we can save the result of
successful opens as open(2)/openat(2) are a fairly expensive
syscalls. This also avoids a time-of-check-to-time-of-use
(TOCTTOU) problem.
This reduces open(2) syscalls...
normalperson (Eric Wong)
08:38 AM Revision d3ee9e59 (git): [ruby/stringio] Remove (newly unneeded) remarks about aliases
https://github.com/ruby/stringio/commit/60bb320477 burdettelamar (Burdette Lamar)
06:27 AM Revision f94e83fa (git): Assigning `nil` to fiber storage deletes the association. (#7378)
Also avoid allocations when looking up `Fiber#storage` if not needed. Samuel Williams
05:40 AM Revision 57bc3f2f (git): Add `IO::Buffer.string` for efficient string creation. (#7364)
Samuel Williams
04:25 AM Bug #19461 (Closed): Time.local performance tanks in forked process (on macOS only?)
I don't think we can do anything about this, so closing. ioquatix (Samuel Williams)
04:16 AM Bug #19461: Time.local performance tanks in forked process (on macOS only?)
I've submitted a bug report to Apple:
![](clipboard-202302251716-rh6ma.png)
ioquatix (Samuel Williams)
03:14 AM Feature #19466 (Closed): Class.new takes a block, why doesn't Module.new take a block?
Okay, I confirmed it's working by my own hand, haha. I must work too hard this week, my brain is not functioning correctly.
I updated the PR to take advantage of that. In fact, it was right in front of me the whole time.
https://github...
ioquatix (Samuel Williams)
03:08 AM Feature #19466: Class.new takes a block, why doesn't Module.new take a block?
Ahh, I tried this but I must have made a mistake. So why does `EnvUtil` not use this? Maybe it's legacy? ioquatix (Samuel Williams)
02:58 AM Feature #19466: Class.new takes a block, why doesn't Module.new take a block?
It does.
```ruby
A = Module.new do
def foo; "foo" end
end
class B; include A end
B.new.foo # => "foo"
```
Cf. https://ruby-doc.org/3.2.1/Module.html#method-c-new
sawa (Tsuyoshi Sawada)
02:37 AM Feature #19466 (Closed): Class.new takes a block, why doesn't Module.new take a block?
```ruby
Class.new do
#... equivalent to class_eval
end
```
So, why don't we introduce:
```ruby
Module.new do
#... equivalent to class_eval
end
```
ioquatix (Samuel Williams)
03:02 AM Misc #19429: DevMeeting-2023-03-09
- [Feature #19450] Is there an official way to set a class name without setting a constant?
- Do we accept `Class.new(superclass, name)` and `Module.new(name)` syntax?
- [Feature #19451] Extract path and line number from `SyntaxError`?...
ioquatix (Samuel Williams)
02:55 AM Feature #19440: Deprecate ThreadGroup
I don't think I have ever seen `ThreadGroup` used in practice, nor do I personally know why I'd want to use it. Therefore, I'd be okay with deprecating it. ioquatix (Samuel Williams)

02/24/2023

11:59 PM Bug #19464 (Closed): YJIT miscompiles `BasicObject#__send__` to alias methods of `send`
Symptoms first experienced and [reported] by users of the `kt-paperclip` gem.
Reproducer:
```ruby
klass = Class.new do
class << self
alias_method :my_send, :send
def bar = :ok
def foo = bar
end
end
with_...
alanwu (Alan Wu)
10:52 PM Feature #19450: Is there an official way to set a class name without setting a constant?
What do you all think of https://github.com/ruby/ruby/pull/7376 ?? ioquatix (Samuel Williams)
05:32 PM Feature #19450: Is there an official way to set a class name without setting a constant?
matheusrich (Matheus Richard) wrote in #note-9:
> Semi-related (maybe it should be a separate issue?) but assigning a class to a constant via rightward assignment results in `NameError`
> ...
Not a bug. "Rightward assignment" is not a...
jeremyevans0 (Jeremy Evans)
05:14 PM Feature #19450: Is there an official way to set a class name without setting a constant?
Semi-related (maybe it should be a separate issue?) but assigning a class to a constant via rightward assignment results in `NameError`
``` ruby
Class.new => Klass
# uninitialized constant Klass (NameError)
```
matheusrich (Matheus Richard)
10:23 PM Bug #19461: Time.local performance tanks in forked process (on macOS only?)
Wow, it's like 300x slower.
According to the stack overflow discussion, some how this does not affect Python, so maybe it's something about the function we are using in the C standard library. 100% agree it's Darwin's problem but indire...
ioquatix (Samuel Williams)
02:52 PM Bug #19461: Time.local performance tanks in forked process (on macOS only?)
Rewritten.
```
$ clang localtime_test.c && ./a.out
Measuring in parent
localtime_r = 0.002384000
localtime = 0.001939000
Measuring in child
localtime_r = 0.576143000
localtime = 0.591077000
```
nobu (Nobuyoshi Nakada)
02:34 PM Bug #19461: Time.local performance tanks in forked process (on macOS only?)
Seems unrelated to Ruby.
```
$ sw_vers
ProductName: macOS
ProductVersion: 13.2.1
BuildVersion: 22D68
$ clang localtime_test.c && ./a.out && ./a.out r
Measuring localtime
In parent
monotonic = 0.002226000
cputime = 0...
nobu (Nobuyoshi Nakada)
04:04 AM Bug #19461: Time.local performance tanks in forked process (on macOS only?)
Thanks, that's quite an epic Q/A. ioquatix (Samuel Williams)
03:42 AM Bug #19461: Time.local performance tanks in forked process (on macOS only?)
In Dec 2016, someone investigated a related question and posted here:
https://stackoverflow.com/questions/41353532/41371753#41371753
This person's findings may be helpful.
PvpDJgHP (William Thomas NELSON)
09:25 PM Feature #19453 (Closed): Move `Fiber.current` into core.
Awesome, thanks for the details! ioquatix (Samuel Williams)
05:38 PM Feature #19453: Move `Fiber.current` into core.
This seems already the case for 3.1 and 3.2:
```
$ ruby -v --disable-gems -e 'puts $"; p Fiber.current'
ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-linux]
enumerator.so
thread.rb
fiber.so
rational.so
complex.so
ruby2...
Eregon (Benoit Daloze)
09:19 PM Bug #19463 (Closed): YJIT `[BUG] Stack consistency error` under certain invalidation scenarios
Applied in changeset commit:git|132934b82baad97107fe754d60f9a68a1db7ecda.
----------
YJIT: Generate Block::entry_exit with block entry PC
Previously, when Block::entry_exit is requested from any instruction
that is not the first one in...
alanwu (Alan Wu)
08:10 PM Bug #19463 (Closed): YJIT `[BUG] Stack consistency error` under certain invalidation scenarios
> test.rb:19: [BUG] Stack consistency error (sp: 15, bp: 16)
With the following:
```ruby
klass = Class.new do
def self.lookup(hash, key) = hash[key]
def self.foo(a, b) = []

def self.test(hash, key)
[lookup(hash...
alanwu (Alan Wu)
09:18 PM Revision 132934b8 (git): YJIT: Generate Block::entry_exit with block entry PC
Previously, when Block::entry_exit is requested from any instruction
that is not the first one in the block, we generated the exit with an
incorrect PC. We should always be using the PC for the entry of the
block for Block::entry_exit.
...
alanwu (Alan Wu)
09:15 PM Bug #18572: Performance regression when invoking refined methods
Eregon (Benoit Daloze) wrote in #note-3:
> Interesting, maybe this is partly the cause for the `13 seconds` mentioned in https://shopify.engineering/the-case-against-monkey-patching.
As far as I understand, this line is responsible f...
palkan (Vladimir Dementyev)
07:30 PM Bug #18572: Performance regression when invoking refined methods
Interesting, maybe this is partly the cause for the `13 seconds` mentioned in https://shopify.engineering/the-case-against-monkey-patching.
Maybe we should deprecate refinements: my main concern about them is it's a ton of complexity ...
Eregon (Benoit Daloze)
05:31 PM Bug #18572: Performance regression when invoking refined methods
Checked Ruby 3.2—better than Ruby 3.1 but still noticeable:
```sh
Comparison:
#symbolize_keys original: 4362026.0 i/s
#symbolize_keys refined: 3999755.6 i/s - 1.09x slower

Comparison:
no-op original: 80...
palkan (Vladimir Dementyev)
09:11 PM Bug #19456 (Closed): Incorrect line numbers in GC hook
Applied in changeset commit:git|3e098224077e8c43a1d8c2070b26ffdfda422780.
----------
Fix incorrect line numbers in GC hook
If the previous instruction is not a leaf instruction, then the PC was
incremented before the instruction was ra...
peterzhu2118 (Peter Zhu)
09:10 PM Revision fa1eb31f (git): [ci skip] Add note in gc.c about ambiguous case
peterzhu2118 (Peter Zhu)
07:10 PM Revision 3e098224 (git): Fix incorrect line numbers in GC hook
If the previous instruction is not a leaf instruction, then the PC was
incremented before the instruction was ran (meaning the currently
executing instruction is actually the previous instruction), so we
should not increment the PC other...
peterzhu2118 (Peter Zhu)
07:10 PM Revision d2631c42 (git): Fix RubyVM::CExpr#inspect
@__LINE__ can be nil which causes the inspect method to fail. peterzhu2118 (Peter Zhu)
07:09 PM Revision 05f016cd (git): [ruby/net-http] [DOC] Enhanced RDoc for Net::HTTP
(https://github.com/ruby/net-http/pull/126)
https://github.com/ruby/net-http/commit/4700d0660b
burdettelamar (Burdette Lamar)
05:25 PM Bug #18286: Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
I also reproduced the `SIGSEGV` from the original bug using a build with debug symbols:
```
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x8)
* frame #0: 0x00000001002444b4 ruby`ruby_...
benhamilton (Ben Hamilton)
02:03 PM Revision f471f461 (git): YJIT: Use enum for expressing type diff (#7370)
k0kubun (Takashi Kokubun)
02:01 PM Revision d8d152e6 (git): YJIT: Compress TempMapping (#7368)
k0kubun (Takashi Kokubun)
01:34 PM Revision 07403de5 (git): [ruby/irb] Cleanup completion tests
(https://github.com/ruby/irb/pull/520)
* Remove redundant completion test
The test case was introduced to guard an old implementation, which relied
on `Module#name`. Commit:
https://github.com/ruby/irb/commit/8827d182746396dbf4499c2c1...
st0012 (Stan Lo)
11:48 AM Revision 5d5ff6e5 (git): [ruby/set] Set#merge does not take keyword arguments as a Hash
https://github.com/ruby/set/commit/ca1c9532a9 Akinori MUSHA
11:48 AM Revision 454ac4cb (git): [ruby/set] Set#merge takes many enumerable objects like Hash#merge! does
https://github.com/ruby/set/commit/becaca994d Akinori MUSHA
10:44 AM Revision aff41a36 (git): Add information about runirb in make help
kaiquekandykoga (Kaíque Koga)
02:22 AM Bug #19378: Windows: Use less syscalls for faster require of big gems
joshc (Josh C) wrote in #note-3:
> I've attached a revert patch.
I think the only way we would revert commit:79a4484a072e9769b603e7b4fbdb15b1d7eccb15 is if someone can come up with an alternative approach to fixing Bug #17885.
> ...
jeremyevans0 (Jeremy Evans)
01:43 AM Bug #19378: Windows: Use less syscalls for faster require of big gems
I've also noticed a significant increase in file IO events (as reported by procmon) due to https://github.com/ruby/ruby/commit/79a4484a072e9769b603e7b4fbdb15b1d7eccb15 introduced in Ruby 3.1.0. The code tries to prevent the same file fro... joshc (Josh C)
01:22 AM Feature #19443: Cache `Process.pid`
"ko1 (Koichi Sasada) via ruby-core" <ruby-core@ml.ruby-lang.org> wrote:
> As I understand `getpid()` system call is well tuned so I surprised that there is an impact on the app.

It's not whether or not a system call is expensive or ...
Anonymous
12:14 AM Bug #19462 (Assigned): MJIT not enabled with universal macOS x86_64 + arm64 build
k0kubun (Takashi Kokubun)

02/23/2023

10:13 PM Bug #18286: Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
Sent PR https://github.com/ruby/ruby/pull/7367 with a fix.
benhamilton (Ben Hamilton)
09:13 PM Bug #18286: Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
I think I know what the problem is.
During the build, Ruby has special logic to serialize its own `builtin` module to disk using the binary `iseq` format during the build (I assume for speed so it doesn't have to parse `builtin` every t...
benhamilton (Ben Hamilton)
09:31 PM Bug #13831: error when try to install
We've been carrying a patch for this issue for many years now and I submitted a PR: https://github.com/ruby/ruby/pull/7366 It affects ruby 3.2.1 through 1.9.3. joshc (Josh C)
09:05 PM Bug #19462 (Closed): MJIT not enabled with universal macOS x86_64 + arm64 build
I'm trying to build a universal macOS x86_64 + arm64 ruby from upstream @ ae9e1aee59b0db1e61aa0473556165f9fd719cde on x86_64 macOS Ventura 13.2, Xcode 14.2, Apple clang version 14.0.0 (clang-1400.0.29.202).
When I run `autoconf && ./c...
benhamilton (Ben Hamilton)
08:11 PM Bug #19460: Class not able to be garbage collected
Wow, interesting! Thanks for looking into it, I hadn't heard of harb before, pretty neat. luke-gru (Luke Gruber)
04:10 PM Bug #19460 (Closed): Class not able to be garbage collected
Closing as I don't think it's a bug per say, but happy to re-open if anyone thinks otherwise. byroot (Jean Boussier)
03:50 PM Bug #19460: Class not able to be garbage collected
I just had a look at this.
Modifying your script a bit to dump the heap:
```ruby
require 'objspace'
class A
def do_something
end
end
a = A.send(:new)
a_id = A.object_id
a = nil
Object.send(:remove_const, :A)
# A s...
byroot (Jean Boussier)
04:27 AM Bug #19460: Class not able to be garbage collected
I should also note I don't know if this is a bug or if this is simply not possible to do in Ruby. I know using `load` and `remove_const` (auto-reload feature of Rails, for example) is
possible but that's different.
luke-gru (Luke Gruber)
03:55 AM Bug #19460 (Closed): Class not able to be garbage collected
I'm working on something where I need to remove a class and release all memory related to that class.
I've stumbled upon a limitation where in some instances I cannot get the class to be GC'd. The problem
(I think) is that inline metho...
luke-gru (Luke Gruber)
08:05 PM Feature #18070: `attr` should be removed
There may be backwards compatibility considerations. Personally I never
use attr. I use the longer variants (attr_accessor, attr_writer and
attr_reader), but even these I use less often compared to older code.
I tend to put variables fo...
rubyFeedback (robert heiler)
08:02 PM Feature #18136: take_while_after
I think one big problem with the proposed name such as the three word one is that they
are somewhat rare and difficult to remember. In ruby we often have one word, or two words
for methods.
We may have some three words if I remember...
rubyFeedback (robert heiler)
07:53 PM Feature #17859: Start IRB when running just `ruby`
I don't have a strong opinion on the topic. I am fine either way.
Both seem to have a valid point of view, e. g. the "it is convenient"
approach where newcomers can just type "ruby" and it would enter
"interactive ruby", like "python" ...
rubyFeedback (robert heiler)
06:13 PM Revision 1fdaa066 (git): Fix a warning on typedef
../gc.c:13317:1: warning: ‘typedef’ is not at beginning of declaration [-Wold-style-declaration]
13317 | } typedef weakkeymap_entry_t;
| ^
k0kubun (Takashi Kokubun)
06:08 PM Revision b9f9440e (git): YJIT: Trivial fixes in codegen.rs
k0kubun (Takashi Kokubun)
06:03 PM Revision 5444dde7 (git): YJIT: Skip type checks on splat args and expandarray if possible (#7363)
YJIT: Skip type checks on splat args and expandarray
if possible
k0kubun (Takashi Kokubun)
05:12 PM Revision c3cd1910 (git): YJIT: Add `make yjit-smoke-test` [ci skip]
I have this as a shell command and Maxime told me that she finds it
useful, too. I tested this on a release build and a dev build.
Note I intentional didn't put `$(Q)` in front of everything so `make`
echos the command it runs.
alanwu (Alan Wu)
04:51 PM Revision 7c47c261 (git): [ruby/net-http] [DOC] Enhanced RDoc for Net::HTTP
(https://github.com/ruby/net-http/pull/125)
https://github.com/ruby/net-http/commit/2ea20380fc
burdettelamar (Burdette Lamar)
03:02 PM Feature #18498 (Closed): Introduce a public WeakKeysMap that compares by equality
Applied in changeset commit:git|2a5354e59324cb296a423c73ec15ff9191086964.
----------
Implement ObjectSpace::WeakKeyMap basic allocator
[Feature #18498]
byroot (Jean Boussier)
03:01 PM Revision 2a5354e5 (git): Implement ObjectSpace::WeakKeyMap basic allocator
[Feature #18498] byroot (Jean Boussier)
12:24 PM Bug #19455: Ruby 3.2: wrong Regexp encoding with non-ASCII comments
i don't have a problem with this myself and the matching behavior is not affected as far as i can tell.
notable behavioral differences are:
- `/#ü/x.source == '#ü'` used to be true but is now false
- this might break some tests ...
janosch-x (Janosch Müller)
04:18 AM Bug #19455: Ruby 3.2: wrong Regexp encoding with non-ASCII comments
@janosch-x Do you have any specific problem with this change? For example, a string that used to match no longer matches, or vice versa. mame (Yusuke Endoh)
11:23 AM Bug #19461 (Closed): Time.local performance tanks in forked process (on macOS only?)
The following program demonstrates a performance regression in forked child processes when invoking `Time.local`:
```ruby
require 'benchmark'
require 'time'
def sir_local_alot
result = Benchmark.measure do
10_000.times do...
ioquatix (Samuel Williams)
08:50 AM Revision 9406245d (git): [rubygems/rubygems] lint fix again
https://github.com/rubygems/rubygems/commit/118d28ad27 Mercedes Bernard
08:50 AM Revision 3d766122 (git): [rubygems/rubygems] lint fix
https://github.com/rubygems/rubygems/commit/de3b69f1a7 Mercedes Bernard
08:50 AM Revision 10a393c2 (git): [rubygems/rubygems] add safe_load_marshal for gem::version and gem::spec
https://github.com/rubygems/rubygems/commit/2ea2ead1b3 Mercedes Bernard
08:50 AM Revision e965133f (git): [rubygems/rubygems] test Bundler::Fetcher that error raised when attempting load unexpected class
https://github.com/rubygems/rubygems/commit/795e796a9e Mercedes Bernard
08:50 AM Revision 68995c21 (git): [rubygems/rubygems] test rubygems_integration that error raised when attempting load unexpected class
https://github.com/rubygems/rubygems/commit/9798718b3b Mercedes Bernard
08:50 AM Revision ffc20273 (git): [rubygems/rubygems] add test for private load_marshal method
https://github.com/rubygems/rubygems/commit/3a772125b8 Mercedes Bernard
08:50 AM Revision 583137fe (git): [rubygems/rubygems] make Bundler.load_marshal private
https://github.com/rubygems/rubygems/commit/4909d071d2 Mercedes Bernard
08:50 AM Revision d5994eb4 (git): [rubygems/rubygems] safe marshal gem specs when inflating
https://github.com/rubygems/rubygems/commit/5c5d0c5350 Mercedes Bernard
08:50 AM Revision 3d5ec840 (git): [rubygems/rubygems] safe marshal gem versions when fetching Marshal.specs.4.8.gz
https://github.com/rubygems/rubygems/commit/23880353c1 Mercedes Bernard
06:39 AM Bug #19189: Ruby 3.1.3/3.2.x can no longer find pkg-config if not present at buildtime
ruby_3_1 0602df301cd76a3f1b444c4742b288bc6aed80ac merged revision(s) 613fca01486e47dee9364a2fd86b5f5e77fe23c8. nagachika (Tomoyuki Chikanaga)
06:14 AM Revision 0602df30 (git): merge revision(s) 613fca01486e47dee9364a2fd86b5f5e77fe23c8: [Backport #19189]
[Bug #19189] Fallback to the default "pkg-config"
---
lib/mkmf.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
nagachika (Tomoyuki Chikanaga)
06:11 AM Bug #18629: block args array splatting assigns to higher scope _ var
ruby_3_1 536f5ba0d48c033e63398d1751aebd0a11bcc6ff merged revision(s) 3ddf6ad4d2f6dae4caa00b8c407768c7062099a0. nagachika (Tomoyuki Chikanaga)
06:11 AM Bug #18765: Wrong description introduced by https://github.com/ruby/ruby/pull/4938/files
ruby_3_1 9f072e9ae1bae2d76334c9e97a47280779768859 merged revision(s) 8038d5e40a079d60dfcf7cab1155528959760c28. nagachika (Tomoyuki Chikanaga)
06:10 AM Revision 9f072e9a (git): merge revision(s) 8038d5e40a079d60dfcf7cab1155528959760c28: [Backport #18765]
Revert flawed doc for slice_after, slice_when, and chunk_while
(#5952)
Restores doc for the methods that were cited in https://bugs.ruby-lang.org/issues/18765.
---
enum.c | 162 +++++++++++++++++++++++++...
nagachika (Tomoyuki Chikanaga)
05:40 AM Bug #19459 (Closed): Is `length` of `IO::Buffer#read` required or optional?
Applied in changeset commit:git|3b567eb491e460e00a66fdea8054eeb083b5dafd.
----------
[Bug #19459] Remove unnecessary always-true checks (#7362)
`length` is a required argument for `IO::Buffer#read` and
`IO::Buffer#write` methods, and `...
nobu (Nobuyoshi Nakada)
01:17 AM Bug #19459: Is `length` of `IO::Buffer#read` required or optional?
https://github.com/nobu/ruby/tree/io_buffer-unnecessary-checks
https://github.com/ruby/ruby/pull/7362
nobu (Nobuyoshi Nakada)
01:12 AM Bug #19459 (Closed): Is `length` of `IO::Buffer#read` required or optional?
io_buffer.c has warnings.
http://ci.rvm.jp/logfiles/brlog.trunk-asserts.20230222-105209#L956
```
/tmp/ruby/src/trunk-asserts/io_buffer.c: In function 'io_buffer_read':
/tmp/ruby/src/trunk-asserts/io_buffer.c:2468:12: warning: 'le...
nobu (Nobuyoshi Nakada)
05:40 AM Revision 3b567eb4 (git): [Bug #19459] Remove unnecessary always-true checks (#7362)
`length` is a required argument for `IO::Buffer#read` and
`IO::Buffer#write` methods, and `argc` is already checked with
`rb_check_arity`. Also fix the call-seq of `IO::Buffer#read`.
nobu (Nobuyoshi Nakada)
05:36 AM Revision 536f5ba0 (git): merge revision(s) 3ddf6ad4d2f6dae4caa00b8c407768c7062099a0: [Backport #18629]
Private local variables should shadow outer variables [Bug #18629]
---
parse.y | 3 ++-
test/ruby/test_parse.rb | 4 ++++
2 files changed, 6 insertions(+), 1 deletion(-)
nagachika (Tomoyuki Chikanaga)
03:48 AM Bug #19158: Ruby 3.1.3 installs wrong gemspec for debug gem
Merged the pull request for ruby_3_1 https://github.com/ruby/ruby/pull/7355. nagachika (Tomoyuki Chikanaga)
03:46 AM Revision d485a5dc (git): bump patchlevel
nagachika (Tomoyuki Chikanaga)
03:45 AM Revision 76c61c99 (git): Backport https://github.com/ruby/ruby/pull/7321
hsbt (Hiroshi SHIBATA)
03:43 AM Bug #19153: Since 2.7.7 CGI::Cookie raises ArgumentError when cookie domains is prefixed with a dot
Updated the bundled cgi to 0.3.6 on ruby_3_1 branch. nagachika (Tomoyuki Chikanaga)
03:42 AM Bug #19153: Since 2.7.7 CGI::Cookie raises ArgumentError when cookie domains is prefixed with a dot
ruby_3_1 4141989b2aef2993bb19140a4be355d1c68b8be1 merged revision(s) 656f25987cf2885104d5b13c8d3f5b7d32f1b333,98074a57ca9f3169fe9da9af6c49b636d37db16f,745dcf5326ea2c8e2047a3bddeb0fbb7e7d07649,b335d899fff3cc22b022c9ee2ceb636d714bf1a7. nagachika (Tomoyuki Chikanaga)
03:41 AM Revision 4141989b (git): merge revision(s) 656f25987cf2885104d5b13c8d3f5b7d32f1b333,98074a57ca9f3169fe9da9af6c49b636d37db16f,745dcf5326ea2c8e2047a3bddeb0fbb7e7d07649,b335d899fff3cc22b022c9ee2ceb636d714bf1a7: [Backport #19153]
[ruby/cgi] Fix test_cgi_cookie_new_with_domain to pass on older
rubies
https://github.com/ruby/cgi/commit/05f0c58048
---
test/cgi/test_cgi_cookie.rb | 8 ++++----
1 file changed, 4 insertions(+)...
nagachika (Tomoyuki Chikanaga)
02:25 AM Revision da0e6b99 (git): Move `dump_machine_register` definitions
nobu (Nobuyoshi Nakada)
01:01 AM Feature #19457: Some improvements to test-all suite
Interesting, patches are welcome. nobu (Nobuyoshi Nakada)
12:31 AM Feature #19458: Expose HEREDOC identifier
To my understanding, the reason you can freely choose the heredoc identifier is not to label the language of the content, but to allow any string to appear in it. In your example, if you had a line within your string that is just `ERB` b... sawa (Tsuyoshi Sawada)

02/22/2023

09:22 PM Revision e9e4e1cb (git): YJIT: Introduce Opnd::Stack (#7352)
k0kubun (Takashi Kokubun)
09:09 PM Revision 4f48debd (git): * remove trailing spaces. [ci skip]
git[bot]
09:09 PM Revision 29ec8e15 (git): Make GC faster when RGENGC_CHECK_MODE >= 2
We shouldn't run gc_verify_internal_consistency after every GC step
when RGENGC_CHECK_MODE >= 2, only when GC has finished. Running it
on every GC step makes it too slow.
peterzhu2118 (Peter Zhu)
09:07 PM Feature #19458 (Open): Expose HEREDOC identifier
I’d like to have access to the HEREDOC identifier.
In the ViewComponent framework I help maintain, we added a method to declare a template as such:
```ruby
class Component
erb_template <<~ERB
<h1>Hello, <%= @name %>!</h1>
...
joelhawksley (Joel Hawksley)
08:02 PM Misc #18761: provide an example wasm project
> need more getting started instructions?
I think it may be helpful if there would be something like a "mini-tutorial", in the sense that you could go from a super simple use case (hello world), towards something that is a bit more usef...
rubyFeedback (robert heiler)
07:51 PM Feature #19457 (Closed): Some improvements to test-all suite
Hi, I've been making some improvements to this suite in a branch of my own and came up with a list of changes I think are good but I would like input from developers.
1) Currently test-all with -j option does not show errors/failures ...
luke-gru (Luke Gruber)
07:26 PM Revision 220cdbee (git): [lldb] Add a print_flags command (#7358)
eightbitraptor (Matt V-H)
04:09 PM Bug #19455: Ruby 3.2: wrong Regexp encoding with non-ASCII comments
I'm not sure that this a bug. If all non-comment characters considered in the regexp are in the US-ASCII range, it seems reasonable for US-ASCII to be used as the regexp encoding. I'll add this ticket to the next developer meeting and ... jeremyevans0 (Jeremy Evans)
10:18 AM Bug #19455 (Closed): Ruby 3.2: wrong Regexp encoding with non-ASCII comments
comments and comment groups don't trigger the correct `Regexp#encoding` on Ruby 3.2 anymore:
```ruby
# ruby 3.1
/#a/x.encoding # => #<Encoding:US-ASCII> # OK
/(?#a)/.encoding # => #<Encoding:US-ASCII> # OK
/#ü/x.en...
janosch-x (Janosch Müller)
02:49 PM Bug #19456 (Closed): Incorrect line numbers in GC hook
GitHub PR: https://github.com/ruby/ruby/pull/7357
If the previous instruction is not a leaf instruction, then the PC was incremented before the instruction was ran (meaning the currently executing instruction is actually the previous ...
peterzhu2118 (Peter Zhu)
01:58 PM Revision 4edb2a29 (git): [ruby/net-http] [DOC] Enhanced RDoc for Net:HTTP
(https://github.com/ruby/net-http/pull/124)
https://github.com/ruby/net-http/commit/aaf26b21d6
burdettelamar (Burdette Lamar)
01:14 PM Revision b112ae99 (git): Skip failing test on MSWin
nobu (Nobuyoshi Nakada)
10:00 AM Revision 65ab2c1e (git): Backport [Bug #19158] for Ruby 3.2 (#7356)
Backport https://github.com/ruby/ruby/pull/7321 hsbt (Hiroshi SHIBATA)
09:02 AM Bug #19454: Instruction `send` has nil blockiseq and ARGS_SIMPLE flag
> It seems test-unit turns off specialized_instruction in RubyVM::InstructionSequence.compile_option.
Indeed, thank you. Where can I find the description of each compile flags?
> ...
I support the proprietary gem debugger. And this is ...
dmitry.pogrebnoy (Dmitry Pogrebnoy)
08:42 AM Revision 6232e1b9 (git): [rubygems/rubygems] Skip extension test on jruby
https://github.com/rubygems/rubygems/commit/38ee82c297 segiddins (Samuel Giddins)
08:42 AM Revision 151ae979 (git): [rubygems/rubygems] Better teardown
https://github.com/rubygems/rubygems/commit/5fa0ebf09b segiddins (Samuel Giddins)
08:42 AM Revision a17b1b19 (git): [rubygems/rubygems] Always join with a string
Gem.path_separator can also be a regexp...
https://github.com/rubygems/rubygems/commit/7e6e56a5f3
segiddins (Samuel Giddins)
08:42 AM Revision 0ca3a095 (git): [rubygems/rubygems] Only update env if var exists
Will save on an error if it would be nil from an exception happening during that line
https://github.com/rubygems/rubygems/commit/d6797a04e9
segiddins (Samuel Giddins)
08:42 AM Revision 616a7e1f (git): [rubygems/rubygems] Nil out Gem.configuration after tests
https://github.com/rubygems/rubygems/commit/3135ad91d4 segiddins (Samuel Giddins)
08:42 AM Revision ae5deb1e (git): [rubygems/rubygems] Use assert_raise instead of assert_raises
For ruby-core compat
https://github.com/rubygems/rubygems/commit/c8f85c91a8
segiddins (Samuel Giddins)
08:42 AM Revision 931db212 (git): [rubygems/rubygems] Add tests covering pre-releases for gem exec
https://github.com/rubygems/rubygems/commit/f6877c29b9 segiddins (Samuel Giddins)
08:42 AM Revision 80bfa1b3 (git): [rubygems/rubygems] Fix resetting env in gem exec, and make sure it is set for gem exec gem
https://github.com/rubygems/rubygems/commit/13a6dd4992 segiddins (Samuel Giddins)
08:42 AM Revision 2dd96983 (git): [rubygems/rubygems] Allow gem exec gem
https://github.com/rubygems/rubygems/commit/a767f7b9be segiddins (Samuel Giddins)
08:42 AM Revision 47d4f73e (git): [rubygems/rubygems] Remove platform option for gem exec
Also fix native extensions that load dependencies
https://github.com/rubygems/rubygems/commit/a06f9870c7
segiddins (Samuel Giddins)
08:42 AM Revision 612ebd10 (git): [rubygems/rubygems] Ensure dependencies are updated by default when running gem exec
https://github.com/rubygems/rubygems/commit/664f3e1e5f segiddins (Samuel Giddins)
08:42 AM Revision 3f0f9a79 (git): [rubygems/rubygems] Add gem exec description
https://github.com/rubygems/rubygems/commit/dac1609fd5 segiddins (Samuel Giddins)
08:42 AM Revision d81be060 (git): [rubygems/rubygems] Add specs for gem exec
https://github.com/rubygems/rubygems/commit/3078e5834e segiddins (Samuel Giddins)
08:42 AM Revision cbe14cc8 (git): [rubygems/rubygems] Add gem exec command
https://github.com/rubygems/rubygems/commit/ca69a317f3 segiddins (Samuel Giddins)
08:03 AM Feature #19443: Cache `Process.pid`
> How to read comment #7 results?
It's a flat reduction on our latency (server response time) metrics.
On average, with the pid_cache shim, our server response time is 2 milliseconds faster.
Also to note, we're still seeing quit...
byroot (Jean Boussier)
02:44 AM Feature #19443: Cache `Process.pid`
Thank you.
How to read comment [#7](https://bugs.ruby-lang.org/issues/19443#note-7) results?
ko1 (Koichi Sasada)
07:22 AM Bug #19158 (Closed): Ruby 3.1.3 installs wrong gemspec for debug gem
hsbt (Hiroshi SHIBATA)
07:11 AM Bug #19158: Ruby 3.1.3 installs wrong gemspec for debug gem
I submitted pull-requests for Ruby 3.1 and 3.2.
* [for Ruby 3.1](https://github.com/ruby/ruby/pull/7355)
* [for Ruby 3.2](https://github.com/ruby/ruby/pull/7356)
In my investigation, this issue only happened in-place build with ru...
hsbt (Hiroshi SHIBATA)
05:40 AM Revision 693e4dec (git): Prohibit GIT after setting readonly
nobu (Nobuyoshi Nakada)
04:11 AM Revision 65ef20d2 (git): Add support for LoongArch (#7343)
* vm_dump.c: Dump machine registers on loongarch64 Linux.
* coroutines: Support for native loongarch64 coroutines.
---------
Co-authored-by: zangruochen <zangruochen@loongson.cn>
小MAO钓鱼
02:56 AM Revision 2798b13e (git): Bump actions/cache from 3.2.5 to 3.2.6
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.5 to 3.2.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.co...
dependabot[bot]
01:23 AM Revision d025ff29 (git): Clone bundled gem sources only if GIT is available
nobu (Nobuyoshi Nakada)
01:23 AM Revision ac5a949c (git): Refine exception messages when git failed
nobu (Nobuyoshi Nakada)
01:20 AM Revision 015bf5c4 (git): Removed accidentally commits with ruby/readline-ext
Partly reverted 1ddda4c0d7d2b83658ab149e36e088961ca0b2dc hsbt (Hiroshi SHIBATA)
01:18 AM Revision fc59b587 (git): [ruby/readline-ext] test_readline.rb only needs EnvUtil
https://github.com/ruby/readline-ext/commit/9245965ecd hsbt (Hiroshi SHIBATA)
01:18 AM Revision 08891906 (git): [ruby/readline-ext] Omit some tests with macOS platform
https://github.com/ruby/readline-ext/commit/efe2be6e4c hsbt (Hiroshi SHIBATA)
01:18 AM Revision 1ddda4c0 (git): [ruby/readline-ext] Import EnvUtils and related test libraries
https://github.com/ruby/readline-ext/commit/f034697a48 hsbt (Hiroshi SHIBATA)

02/21/2023

10:07 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
mame (Yusuke Endoh) wrote in #note-38:
> ```
> ...
I think that's quite confusing though without the `main:Object`, because `main` has many other meanings (main script = $0, main function, etc).
So I'd suggest either:
```
undefined ...
Eregon (Benoit Daloze)
09:34 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
Thank you! :) ivoanjo (Ivo Anjo)
09:59 PM Revision ae9e1aee (git): Call rb_ivar_set instead of exiting for many ivars
Previously, when we have a lot of ivars defined, we would exit via
`jit_chain_guard` for megamorphic ivars. Now if we have more than the
max depth of ivars we can call `rb_ivar_set` instead of exiting.
Using the following script:
```ru...
eileencodes (Eileen Uchitelle)
09:41 PM Revision 9f8056a7 (git): YJIT: Fastpath for Module#=== (#7351)
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
Co-authored-by: Jimmy Miller <jimmy.miller@shopify.com>
alanwu (Alan Wu)
09:10 PM Revision 0353277b (git): YJIT: Avoid checking symbol ID twice on send (#7350)
k0kubun (Takashi Kokubun)
07:38 PM Revision 50e77b6a (git): [ruby/irb] Improve RubyLex's tests
(https://github.com/ruby/irb/pull/484)
* Improve assert_indenting helper
Instead of putting assertions inside the `auto_indent` block, we
can just make `auto_indent` return the calculated space count, and use
it for assertion outside o...
st0012 (Stan Lo)
06:21 PM Revision 5baef075 (git): YJIT: Fix clippy issues and remove unused params (#7348)
* YJIT: Fix clippy issues and remove unused params
* Remove an unnecessary whitespace
---------
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
Jimmy Miller
06:00 PM Revision d579f475 (git): Bump SHAPE_MAX_NUM_IVS to 80 (#7344)
k0kubun (Takashi Kokubun)
05:13 PM Bug #19439: Marshal.load doesn't load Regexp instance variables
Thank you! andrykonchin (Andrew Konchin)
12:57 PM Bug #19439 (Closed): Marshal.load doesn't load Regexp instance variables
Applied in changeset commit:git|d2520b7b76759118071a16e6bca22726a5de9fb4.
----------
Marshal.load: restore instance variables on Regexp
[Bug #19439]
The instance variables were restore on the Regexp source,
not the regexp itself.
Unf...
byroot (Jean Boussier)
05:07 PM Revision 37b6d988 (git): Use `Gem::Package#build` instead of the class method for old baseruby
nobu (Nobuyoshi Nakada)
05:07 PM Revision 289080e4 (git): Clone and create dummy gemspec in sequential build
nobu (Nobuyoshi Nakada)
05:07 PM Revision 241c4cfd (git): Move dummy gemspec file creation for extract-gems-sequential
nobu (Nobuyoshi Nakada)
05:07 PM Revision 0a9efe87 (git): Use git directories instead of gemspec files as dependency
Minitest repository does not commit its gemspec file. nobu (Nobuyoshi Nakada)
04:00 PM Bug #19446 (Closed): Remove `compiler_wd` related warnings in `tool/update-deps`
peterzhu2118 (Peter Zhu)
03:57 PM Revision 3c01342e (git): Fix detection of compiler_wd in tool/update-deps
eightbitraptor (Matt V-H)
03:52 PM Bug #19454 (Feedback): Instruction `send` has nil blockiseq and ARGS_SIMPLE flag
It seems test-unit turns off `specialized_instruction` in `RubyVM::InstructionSequence.compile_option`.
> This breaks some of the logic of the dependent program .
What is "the dependent program"?
nobu (Nobuyoshi Nakada)
02:45 PM Bug #19454 (Feedback): Instruction `send` has nil blockiseq and ARGS_SIMPLE flag
### Setup
* OS: MacOS Monterey 12.4
* VM: rbenv
* Gems: test-unit 3.5.3
* Ruby: ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-linux]
### Problem Description
In some cases the instruction `send` has `nil` block arg...
dmitry.pogrebnoy (Dmitry Pogrebnoy)
03:44 PM Feature #19437: Add marking and sweeping time to GC.stat
> You can show your support for this issue by clicking "like" in the top right corner
Aha - I did not notice that before.
> ...
This is a situational question, though, as to what is to be considered "meaningful".
Ultimately it taps int...
rubyFeedback (robert heiler)
01:05 PM Feature #19437 (Closed): Add marking and sweeping time to GC.stat
Applied in changeset commit:git|93ac7405b80cc61930d73da04441fa09af1851e1.
----------
Add marking and sweeping time to GC.stat
There is a `time` key in GC.stat that gives us the total time spent in
GC. However, we don't know what propor...
peterzhu2118 (Peter Zhu)
03:39 PM Revision a26a0af0 (git): Use `BigDecimal::VERSION` instead of `RUBY_VERSION`
nobu (Nobuyoshi Nakada)
03:36 PM Revision ace116fc (git): Update default gems list at 0cde887eb9fd47b9857c9e4a7fbafc [ci skip]
git[bot]
03:35 PM Revision 0cde887e (git): [ruby/bigdecimal] Bump up to 3.1.4
ruby/bigdecimal#187 has changed a behavior and ruby/spec also needed a
follow up at https://github.com/ruby/ruby/commit/0d8ef62fc293.
However, because bigdecimal is a separate gem and can be updated in
older versions of ruby, `RUBY_VERSI...
nobu (Nobuyoshi Nakada)
02:24 PM Revision 7b768e43 (git): [ruby/bigdecimal] Move RB_GC_GUARD() at the end, like in BigMath_s_exp()
https://github.com/ruby/bigdecimal/commit/b66ef9fbb5 Eregon (Benoit Daloze)
02:24 PM Revision 5077cc2b (git): [ruby/bigdecimal] Avoid RB_GC_GUARD(a) = b in bigdecimal
* This is not supported on TruffleRuby, which requires the value to be
set before RB_GC_GUARD() is called.
* See https://github.com/oracle/truffleruby/pull/2879
https://github.com/ruby/bigdecimal/commit/7b2957922f
Eregon (Benoit Daloze)
02:09 PM Misc #19429: DevMeeting-2023-03-09
- [Feature #19437] Add marking and sweeping time to GC.stat (peterzhu2118)
- This feature records GC time in marking and sweeping phases and exposed them via a `marking_time` and `sweeping_time` key in `GC.stat`.
- This feature wil...
peterzhu2118 (Peter Zhu)
01:05 PM Revision 93ac7405 (git): Add marking and sweeping time to GC.stat
There is a `time` key in GC.stat that gives us the total time spent in
GC. However, we don't know what proportion of the time is spent between
marking and sweeping. This makes it difficult to tune the GC as we're
not sure where to focus ...
peterzhu2118 (Peter Zhu)
01:05 PM Revision d7c1ca48 (git): Refactor to separate marking and sweeping phases
This commit separates the marking and sweeping phases so that marking
functions do not directly call sweeping functions.
peterzhu2118 (Peter Zhu)
12:57 PM Revision d2520b7b (git): Marshal.load: restore instance variables on Regexp
[Bug #19439]
The instance variables were restore on the Regexp source,
not the regexp itself.
Unfortunately we have a bit of a chicken and egg problem.
The source holds the encoding, and the encoding need to be set on
the source to be...
byroot (Jean Boussier)
12:13 PM Bug #19442: Remove USE_RINCGC flag
Similarly I think we should remove all the `RGENGC_WB_PROTECTED_*` flags https://github.com/Shopify/ruby/commit/078d46c47cb0e41165e0112cd9669b3256625d8e. byroot (Jean Boussier)
11:00 AM Revision 61709227 (git): Update default gems list at b572f2436c70bef75126fe4e30910a [ci skip]
git[bot]
10:50 AM Revision b572f243 (git): [ruby/openssl] Stub gemspec for JRuby
JRuby has its own implementation of the `openssl` library in
jruby-openssl. The simplest way for us to allow users to set
openssl as a gem dependency is to ship a stub gem that just
depends on jruby-openssl. This patch adds that to the g...
headius (Charles Nutter)
10:32 AM Revision bc101f0f (git): [ruby/rdoc] Fix RDoc::Parser::Ruby not being documented
The calls to require prevent the class from being documented.
https://github.com/ruby/rdoc/commit/76283fc42e
etienne (Étienne Barrié)
10:31 AM Revision 4c772651 (git): [ruby/strscan] Mask out this test on JRuby/Windows
See https://github.com/jruby/jruby/issues/7644 for the root issue,
which will require fixes to JRuby's regular expression engine,
JOni.
https://github.com/ruby/strscan/commit/29a65abff2
headius (Charles Nutter)
10:31 AM Revision 76a4cdfb (git): [ruby/strscan] test: Run test more with fixed anchor mode
(https://github.com/ruby/strscan/pull/60)
fix https://github.com/ruby/strscan/pull/56
Sutou Kouhei
10:31 AM Revision 260bc7cd (git): [ruby/strscan] Add test case to `test_string`
(https://github.com/ruby/strscan/pull/58)
`string` returns the original string after `scan` is called. Current
test doesn't check this behavior and now it's covered.
okuramasafumi (Masafumi OKURA)
10:31 AM Revision 18e840ac (git): [ruby/strscan] Bump version
https://github.com/ruby/strscan/commit/681cde0f27 Sutou Kouhei
10:31 AM Revision a44f5ab0 (git): [ruby/strscan] Mention return value of `rest?` in the doc
(https://github.com/ruby/strscan/pull/49)
The doc of `rest?` was unclear about return value. This commit adds the
return value to the doc.
okuramasafumi (Masafumi OKURA)
10:31 AM Revision a350ef9f (git): [ruby/csv] test: use mailing list ID instead of unavailable URL
https://github.com/ruby/csv/commit/04862ccf87 Sutou Kouhei
10:31 AM Revision 2ac1efc0 (git): [ruby/csv] Use https links instead of http
(https://github.com/ruby/csv/pull/274)
https://github.com/ruby/csv/commit/e2a06929a8
apatniv (Vivek Ak)
10:31 AM Revision 1a05d988 (git): [ruby/csv] Remove unused @double_quote_character from Parser
(https://github.com/ruby/csv/pull/273)
https://github.com/ruby/csv/commit/e5622c53ae
Maumagnaguagno (Mau Magnaguagno)
10:28 AM Revision 38fa8eb4 (git): Merge rubygems/bundler master
Pick from https://github.com/rubygems/rubygems/commit/e9304aed7e43308b99e70c2f7b92028315fee8a5 hsbt (Hiroshi SHIBATA)
10:28 AM Revision a47e1328 (git): [rubygems/rubygems] Give a better message when Gemfile branch does not exist
https://github.com/rubygems/rubygems/commit/cb4fc41cbc deivid (David Rodríguez)
10:28 AM Revision b5eb9ebd (git): [rubygems/rubygems] Fix crash in pub grub involving empty ranges
https://github.com/rubygems/rubygems/commit/0f168516f7 deivid (David Rodríguez)
10:28 AM Revision 4064e3e7 (git): [rubygems/rubygems] Update pub_grub
* Replaces the wording of "is forbidden" with "cannot be used"
* Fixes the method signature of VersionRange::Empty#eql?
https://github.com/rubygems/rubygems/commit/8c6b3f130b
Co-authored-by: Daniel Colson <danieljamescolson@gmail.com>
jhawthorn (John Hawthorn)
10:28 AM Revision 80389915 (git): [rubygems/rubygems] Sync with pub_grub main branch
We became a bit out of sync lately.
https://github.com/rubygems/rubygems/commit/6161a2610a
deivid (David Rodríguez)
10:28 AM Revision e7bf8596 (git): [rubygems/rubygems] Restore better error message when locked ref does not exist
https://github.com/rubygems/rubygems/commit/c8e024359f deivid (David Rodríguez)
10:26 AM Revision 9b6d421f (git): [rubygems/rubygems] [DOC] Update the link to OpenSource.org
The static list in alphabetical order seems no longer provided.
https://github.com/rubygems/rubygems/commit/a37dff7736
nobu (Nobuyoshi Nakada)
10:05 AM Revision ba2bd6d0 (git): [rubygems/rubygems] Bump rb-sys
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.64 to 0.9.65.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.64...v0.9.65)
---
updated-depende...
dependabot[bot]
09:50 AM Revision d13879f8 (git): [ruby/bigdecimal] Read version from bigdecimal.c
The dependency of extconf.h on bigdecimal.gemspec does not make sense
as far as no rule is defined for it. Also, the relationship between
extension library and gemspec file is various in default gems, and
does not work well.
https://gi...
nobu (Nobuyoshi Nakada)
09:40 AM Revision cb40432c (git): Use `ERROR_ARGS_AT`
nobu (Nobuyoshi Nakada)
08:55 AM Feature #19443: Cache `Process.pid`
I deployed a ruby shim of this cache to half of our servers: https://github.com/Shopify/pid_cache
Average latency: -2ms
Median latency: -2ms
p75 latency: -2ms
p99 latency: -10ms
p99.9: -30ms
byroot (Jean Boussier)
04:46 AM Revision 6384f798 (git): Prevent "warning: ambiguity between regexp and two divisions"
http://rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20230221T031004Z.log.html.gz
```
/home/chkbuild/chkbuild/tmp/build/20230221T031004Z/ruby/test/rubygems/test_gem_ext_cargo_builder.rb:90: warning: ambiguity between regexp and two divi...
mame (Yusuke Endoh)
03:43 AM Feature #19451: Extract path and line number from SyntaxError?
@nobu most text editors need a single line and column for each backtrace location.
As it stands, just looking at the backtrack locations is not enough. For `SyntaxError`, the editor needs to know the "first location" which is the poin...
ioquatix (Samuel Williams)
03:23 AM Feature #19451: Extract path and line number from SyntaxError?
`SyntaxError` can contain multiple error locations.
I'm trying https://github.com/nobu/ruby/tree/SyntaxError%23diagnostics.
I can't get what "prepend them to backtrace_locations" means.
nobu (Nobuyoshi Nakada)
 

Also available in: Atom