Project

General

Profile

Activity

From 12/30/2022 to 01/05/2023

01/05/2023

10:21 PM Bug #19275: Bundled gems extensions are not installed with 3.2.0 release tarball
Thanks. The patch in https://bugs.ruby-lang.org/issues/19275 is literally the same as the one I posted here as a workaround, which I know works as expected.
I think this issue can be closed now, maybe as a duplicate of #19271.
xtkoba (Tee KOBAYASHI)
07:41 AM Bug #19275: Bundled gems extensions are not installed with 3.2.0 release tarball
We will fix this issue at https://github.com/ruby/ruby/pull/7066 hsbt (Hiroshi SHIBATA)
05:54 AM Bug #19275: Bundled gems extensions are not installed with 3.2.0 release tarball
I could reproduce this with BASERUBY and fresh install with tarball.
`tool/outdate-bundled-gems.rb` will removing `debug.so` and `rbs_extension.so` while `make install`.
hsbt (Hiroshi SHIBATA)
01:45 AM Bug #19275: Bundled gems extensions are not installed with 3.2.0 release tarball
Ah sorry, that is not correct. The output before `make install` (right after `make` with no target specified) should read:
```
rm -f ./.bundle/specifications/debug-1.7.1.gemspec
rm -f ./.bundle/specifications/rbs-2.8.2.gemspec
rm -...
xtkoba (Tee KOBAYASHI)
09:00 PM Revision 2056c0a7 (git): Add embedded status to dumps of T_OBJECT
This commit adds `"embedded":true` in ObjectSpace.dump for T_OBJECTs
that are embedded.
peterzhu2118 (Peter Zhu)
08:11 PM Bug #18518: NoMemoryError + [FATAL] failed to allocate memory for twice 1 << large
FWIW on JRuby:
```
$ ruby -v
jruby 9.4.1.0-SNAPSHOT (3.1.0) 2022-12-19 6416265092 OpenJDK 64-Bit Server VM 17.0.5+8 on 17.0.5+8 +jit [x86_64-linux]
$ jruby -e 'p(1 << (2**64))'
RangeError: bignum too big to convert into `long'
$ jruby -e...
Eregon (Benoit Daloze)
07:56 PM Bug #18518: NoMemoryError + [FATAL] failed to allocate memory for twice 1 << large
This is still not fixed.
I think CRuby should check if RHS is bigger than 2**31 and if so raise an exception immediately instead of taking a lot of time and run into OOM:
https://github.com/ruby/ruby/commit/5df711844586312891bb466dbc72...
Eregon (Benoit Daloze)
08:07 PM Revision 53938efd (git): Update to ruby/spec@5e48206
Eregon (Benoit Daloze)
07:55 PM Revision 29a5fcd6 (git): Add RBIMPL_ATTR_NORETURN to unknown_directive
Fixes a compiler warning about the function unknown_directive:
pack.c:160:1: warning: function 'unknown_directive' could be declared with attribute 'noreturn' [-Wmissing-noreturn]
peterzhu2118 (Peter Zhu)
07:23 PM Revision ec14861f (git): Update to ruby/spec@7e680fa
Eregon (Benoit Daloze)
06:56 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
> The vast majority of classes out there don't define a custom inspect. So Ruby should do something reasonable for these cases.
That's true.
(I still maintain that it could/should be a good community practice to define better `#in...
zverok (Victor Shepelev)
06:49 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
> Note that in the example provided in the original issue
I just realized my response was confusing. To clarify I meant `ActionController::Base#inspect`. Which resolve to `Object#inspect`. Controllers simply are the root of a very lar...
byroot (Jean Boussier)
06:46 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
> What if #inspect is very inefficient? In this case a) actually, yes, I believe that it is client's code responsibility
Note that in the example provided in the original issue, the slow `#inspect` is simply the default `Object#inspec...
byroot (Jean Boussier)
06:42 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
@byroot I am not denying the problem exists or saying it shouldn't be handled (and I acknowledge my Rails remark was inappropriate).
I am just saying that the way of fixing it by replacing the object representation with class name bre...
zverok (Victor Shepelev)
01:19 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
> As far as I understand, the problem originates in Rails, which (as they do) doesn't try to follow good practices for #inspect (which is honestly frequently irritating)
This absolutely isn't specific to Rails. It can happen with any ...
byroot (Jean Boussier)
10:07 AM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
I understand I am late to the party, but I am extremely concerned with how the discussion in this ticket went.
From my understanding:
1. There are many contexts, especially with designing, experimenting, and prototyping with Ruby, wh...
zverok (Victor Shepelev)
06:55 PM Bug #19313 (Open): Leaked file descriptors while running test-all
```
$ make test-all TESTOPTS="-j8"
Run options:
--seed=25187
"--ruby=./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems"
--excludes-dir=./test/excludes
--name=!/memory_leak/
-j8
...
Eregon (Benoit Daloze)
06:26 PM Bug #19312: SEGV during test_ast.rb: <internal:ast>:76: [BUG] parser_token2id: unknown token -1
I have extra files locally which triggers this and that's why the CI doesn't see it.
Anything with `__END__` dies:
```
$ ruby -e 'RubyVM::AbstractSyntaxTree.parse("p 1\n__END__\nfoobar", keep_tokens: true)'
<internal:ast>:59: [BUG...
Eregon (Benoit Daloze)
06:19 PM Bug #19312 (Closed): SEGV during test_ast.rb: <internal:ast>:76: [BUG] parser_token2id: unknown token -1
```
$ make test-all TESTOPTS="test/ruby/test_ast.rb"
...
# Running tests:
<internal:ast>:76: [BUG] parser_token2id: unknown token -1
ruby 3.3.0dev (2023-01-05T14:24:32Z old 358f325bf8) [x86_64-linux]
-- Control frame informatio...
Eregon (Benoit Daloze)
06:18 PM Revision 1fb02559 (git): Skip reviews for cruby_bindings-only PRs [ci skip] (#7004)
k0kubun (Takashi Kokubun)
06:16 PM Bug #19248: TestGCCompact#test_moving_objects_between_size_pools test failure
I flagged it for backporting so it will be available on Ruby 3.2.1 :) peterzhu2118 (Peter Zhu)
06:14 PM Bug #19248 (Closed): TestGCCompact#test_moving_objects_between_size_pools test failure
Applied in changeset commit:git|273dca3aed7989120d57f80c789733d4bc870ffe.
----------
Fix undefined behavior in shape.c
Under strict aliasing, writing to the memory location of a different
type is not allowed and will result in undefine...
peterzhu2118 (Peter Zhu)
05:09 PM Bug #19248: TestGCCompact#test_moving_objects_between_size_pools test failure
peterzhu2118 (Peter Zhu) wrote in #note-20:
> @vo.x Do you need this backported to Ruby 3.2 or is it ok to keep it only on the master branch (i.e. it will be part of Ruby 3.3)?
Unfortunately, I have no idea how likely is to hit this ...
vo.x (Vit Ondruch)
03:40 PM Bug #19248: TestGCCompact#test_moving_objects_between_size_pools test failure
@vo.x You might want to consider packaging with `-fno-strict-aliasing`.
I suspect the perf loss should be minimal if noticeable at all and it would
mitigate these type of strict aliasing violations, yielding an artifact more likely to ...
alanwu (Alan Wu)
01:58 PM Bug #19248: TestGCCompact#test_moving_objects_between_size_pools test failure
@vo.x Do you need this backported to Ruby 3.2 or is it ok to keep it only on the master branch (i.e. it will be part of Ruby 3.3)? peterzhu2118 (Peter Zhu)
01:56 PM Bug #19248: TestGCCompact#test_moving_objects_between_size_pools test failure
Thank you @alanwu for looking into this and @vo.x for confirming the fix. I've also confirmed that this fix does indeed make the tests pass. I've opened a PR here: https://github.com/ruby/ruby/pull/7067 peterzhu2118 (Peter Zhu)
11:35 AM Bug #19248: TestGCCompact#test_moving_objects_between_size_pools test failure
alanwu (Alan Wu) wrote in #note-17:
> Maybe try this patch to confirm?
The patch helps to mitigate the issue.
vo.x (Vit Ondruch)
06:14 PM Revision 273dca3a (git): Fix undefined behavior in shape.c
Under strict aliasing, writing to the memory location of a different
type is not allowed and will result in undefined behavior. This was
happening in shape.c due to `rb_id_table_lookup` writing to the memory
location of `VALUE *` that wa...
peterzhu2118 (Peter Zhu)
06:11 PM Bug #19150 (Closed): pack/unpack silently ignores unknown directives
Done in https://github.com/ruby/ruby/commit/03dd37775afb40eef392ae2920d728235af302c8, also needed changes in specs: https://github.com/ruby/spec/commit/9d69b95a7bbac3d89e7218a98bd50ecf173d9c6f Eregon (Benoit Daloze)
06:06 PM Revision 54950a78 (git): * remove trailing spaces, append newline at EOF. [ci skip]
git[bot]
06:05 PM Revision bbf54ec3 (git): Update to ruby/spec@9d69b95
Eregon (Benoit Daloze)
06:05 PM Revision cd5e6cc0 (git): Update to ruby/mspec@fef9b81
Eregon (Benoit Daloze)
06:05 PM Revision 03dd3777 (git): Raise an ArgumentError for unknown pack/unpack directive
* [Bug #19150] Eregon (Benoit Daloze)
02:24 PM Revision 358f325b (git): [DOC] Fix formatting for GC.stat
peterzhu2118 (Peter Zhu)
01:06 PM Revision f9148d15 (git): [ruby/irb] Group command test cases with class
(https://github.com/ruby/irb/pull/491)
Currently, IRB has 35 test cases for 10 non-debugging commands, with the
rest 10 commands untested. So in the long-term, it could have around 70
test cases for all existing commands.
With this num...
st0012 (Stan Lo)
10:01 AM Bug #19297: Don't download content from internet to execute Ruby test suite
hsbt (Hiroshi SHIBATA) wrote in #note-5:
> How test `bundler` in Fedora builder?
We don't test Bundler unfortunately (in any automated way). But the Bundler test suite is not executed as part of Ruby `make check`
> ...
If this was...
vo.x (Vit Ondruch)
09:36 AM Bug #19308 (Closed): Fix `OpenSSL::X509::CertificateError: invalid digest` on CentOS 9 / RHEL 9
hsbt (Hiroshi SHIBATA)
09:24 AM Bug #19308 (Open): Fix `OpenSSL::X509::CertificateError: invalid digest` on CentOS 9 / RHEL 9
Oh, sorry. I'm working to upgrade redis server for bugs.ruby-lang.org. Now, It works. hsbt (Hiroshi SHIBATA)
09:22 AM Bug #19308: Fix `OpenSSL::X509::CertificateError: invalid digest` on CentOS 9 / RHEL 9
Just FTR, I have received the same error also after closing this ticket ... vo.x (Vit Ondruch)
09:21 AM Bug #19308 (Closed): Fix `OpenSSL::X509::CertificateError: invalid digest` on CentOS 9 / RHEL 9
Ups, sorry for the duplicates. Redmine is throwing following error when the ticket is created:
~~~
Internal error
An error occurred on the page you were trying to access.
If you continue to experience problems please contact your...
vo.x (Vit Ondruch)
09:18 AM Bug #19308 (Closed): Fix `OpenSSL::X509::CertificateError: invalid digest` on CentOS 9 / RHEL 9
CentOS 9 / RHEL 9 requires prohibits SHA1 for signing purposes, therefore these specs fail:
~~~
1)
OpenSSL::X509::Name.verify returns true for valid certificate ERROR
OpenSSL::X509::CertificateError: invalid digest
/builddir/build...
vo.x (Vit Ondruch)
09:34 AM Bug #19271: irb ignores rbs and debug
Just FYI. Here is an ad-hoc workaround for ruby 3.2.0 tarball.
```
$ tar xf ruby-3.2.0.tar.gz
$ cd ruby-3.2.0
$ rm tool/outdate-bundled-gems.rb
$ touch tool/outdate-bundled-gems.rb
$ ./configure --prefix=/path/to/ruby/installed/
...
mame (Yusuke Endoh)
09:26 AM Bug #19271 (Closed): irb ignores rbs and debug
Applied in changeset commit:git|4959e01932cf6c4d3e5e90d3e0b4fa780f754fa6.
----------
common.mk: Do not invoke outdate-bundled-gems by default
If baseruby is available (and its version is different from one being
built) when compiling r...
mame (Yusuke Endoh)
07:36 AM Bug #19271: irb ignores rbs and debug
I have created a PR to work around this issue. https://github.com/ruby/ruby/pull/7066 mame (Yusuke Endoh)
05:51 AM Bug #19271: irb ignores rbs and debug
We have two issues.
* Installation failure of C extension provided by bundled gems.
* https://bugs.ruby-lang.org/issues/19275
* Ignore messages will be displayed despite installation successfully.
* I didn't confirm yet.
hsbt (Hiroshi SHIBATA)
04:11 AM Bug #19271: irb ignores rbs and debug
```
Ignoring debug-1.6.3 because its extensions are not built. Try: gem pristine debug --version 1.6.3
Ignoring rbs-2.7.0 because its extensions are not built. Try: gem pristine rbs --version 2.7.0
```
@k0kubun debug-1.6.3 and rbs-...
hsbt (Hiroshi SHIBATA)
02:41 AM Bug #19271 (Assigned): irb ignores rbs and debug
I couldn't reproduce this with fresh install of Ruby 3.2.0 from tarball.
If you use `GEM_HOME` and share it with each Ruby versions or builds, you may encounter this (It's known issue). After I removed `GEM_HOME` environmental variabl...
hsbt (Hiroshi SHIBATA)
09:26 AM Revision 4959e019 (git): common.mk: Do not invoke outdate-bundled-gems by default
If baseruby is available (and its version is different from one being
built) when compiling ruby, tool/outdate-bundled-gems.rb (which is
invoked by `make install`) wrongly deletes debug.so and rbs_extension.so
in .bundle/extension/*.
Th...
mame (Yusuke Endoh)
09:22 AM Bug #19311 (Closed): Fix `OpenSSL::X509::CertificateError: invalid digest` on CentOS 9 / RHEL 9
vo.x (Vit Ondruch)
09:19 AM Bug #19311 (Closed): Fix `OpenSSL::X509::CertificateError: invalid digest` on CentOS 9 / RHEL 9
CentOS 9 / RHEL 9 requires prohibits SHA1 for signing purposes, therefore these specs fail:
~~~
1)
OpenSSL::X509::Name.verify returns true for valid certificate ERROR
OpenSSL::X509::CertificateError: invalid digest
/builddir/build...
vo.x (Vit Ondruch)
09:22 AM Bug #19310 (Closed): Fix "OpenSSL::X509::CertificateError: invalid digest" on CentOS 9 / RHEL 9
vo.x (Vit Ondruch)
09:19 AM Bug #19310 (Closed): Fix "OpenSSL::X509::CertificateError: invalid digest" on CentOS 9 / RHEL 9
CentOS 9 / RHEL 9 requires prohibits SHA1 for signing purposes, therefore these specs fail:
~~~
1)
OpenSSL::X509::Name.verify returns true for valid certificate ERROR
OpenSSL::X509::CertificateError: invalid digest
/builddir/build...
vo.x (Vit Ondruch)
09:22 AM Bug #19309 (Closed): Fix `OpenSSL::X509::CertificateError: invalid digest` on CentOS 9 / RHEL 9
vo.x (Vit Ondruch)
09:19 AM Bug #19309 (Closed): Fix `OpenSSL::X509::CertificateError: invalid digest` on CentOS 9 / RHEL 9
CentOS 9 / RHEL 9 requires prohibits SHA1 for signing purposes, therefore these specs fail:
~~~
1)
OpenSSL::X509::Name.verify returns true for valid certificate ERROR
OpenSSL::X509::CertificateError: invalid digest
/builddir/build...
vo.x (Vit Ondruch)
09:21 AM Bug #19158: Ruby 3.1.3 installs wrong gemspec for debug gem
@deivid @nagachika did backport the installer toolchain like `rbinstall.rb` into `ruby_3_1` branch for releasing Ruby 3.1.3. Maybe, this issue contained its time. hsbt (Hiroshi SHIBATA)
08:48 AM Bug #19158 (Assigned): Ruby 3.1.3 installs wrong gemspec for debug gem
hsbt (Hiroshi SHIBATA)
09:18 AM Bug #19307 (Closed): Fix `OpenSSL::X509::CertificateError: invalid digest` on CentOS 9 / RHEL 9
CentOS 9 / RHEL 9 requires prohibits SHA1 for signing purposes, therefore these specs fail:
~~~
1)
OpenSSL::X509::Name.verify returns true for valid certificate ERROR
OpenSSL::X509::CertificateError: invalid digest
/builddir/build...
vo.x (Vit Ondruch)
07:34 AM Misc #19304: Kernel vs Object documentation
> Fixing this and **describing public and private methods correctly** would not be confusing.
This is option (4) of my initial list, I believe.
Option (2) — the easiest and the least desirable of them — is just to dump everything ...
zverok (Victor Shepelev)
12:49 AM Misc #19304: Kernel vs Object documentation
@zverok The `Kernel` page is entirely broken anyway from its first sentence:
> The `Kernel` module is included by class `Object`, so its methods are available in every Ruby object.
the latter half of which is not true since the introdu...
sawa (Tsuyoshi Sawada)
07:01 AM Misc #19240: DevMeeting-2023-01-19
* [Feature #18285] NoMethodError#message uses a lot of CPU/is really expensive to call (mame)
* I have created a PR to change the message of NoMethodError based on @akr 's proposal. https://github.com/ruby/ruby/pull/6950
* Why don'...
mame (Yusuke Endoh)
06:01 AM Misc #19240: DevMeeting-2023-01-19
* [Bug #19260] ruby/spec is failed with Ruby 3.3
* <del>How handles these issues?</del>
* https://bugs.ruby-lang.org/issues/13671 is still open status
* https://bugs.ruby-lang.org/issues/18518#note-8 @nobu ?
hsbt (Hiroshi SHIBATA)
06:16 AM Revision ee6e4d63 (git): Extract only one revision in header [ci skip]
Both of `$(srcdir)/revision.h` and `revision.h` exist because they are
the same file when in-place build.
nobu (Nobuyoshi Nakada)

01/04/2023

11:36 PM Bug #19305: TracePoint#parameters segfaults when certain method creation pattern is used
Thank you so much for the fix :-) st0012 (Stan Lo)
11:06 PM Bug #19305 (Closed): TracePoint#parameters segfaults when certain method creation pattern is used
Applied in changeset commit:git|837ef8911c638c3e2bdb6af710de7c1fac7b5f90.
----------
Fix crash in TracePoint c_call for removed method
trace_arg->id is the ID of the original method of an aliased method. If
the original method is remov...
peterzhu2118 (Peter Zhu)
07:11 PM Bug #19305: TracePoint#parameters segfaults when certain method creation pattern is used
Thank you for reporting this bug. I have a fix in this PR: https://github.com/ruby/ruby/pull/7064 peterzhu2118 (Peter Zhu)
11:16 PM Revision b4965787 (git): Skip Test::Unit::AutoRunner logic in ruby/ruby repository
hsbt (Hiroshi SHIBATA)
11:15 PM Bug #19248: TestGCCompact#test_moving_objects_between_size_pools test failure
Looking at `rb_shape_traverse_from_new_root()`, it seems like it's triggering UB
in a way that also failed with LTO in the past. Maybe try this patch to confirm?
```patch
diff --git a/shape.c b/shape.c
index 7580003412..8e75f4a270 ...
alanwu (Alan Wu)
10:02 PM Bug #19248: TestGCCompact#test_moving_objects_between_size_pools test failure
Thanks to @mtasaka and @vo.x for debugging this further! Using this information, I think this is a bug in GCC. Here's what I did:
- I can confirm that I can reproduce this bug on Ubuntu 22.04 and GCC 11.3.0 with:
```
CFLAGS='-O2...
peterzhu2118 (Peter Zhu)
11:14 PM Feature #19302: Non-destructive String#insert
jeremyevans0 (Jeremy Evans) wrote in #note-3:
> austin (Austin Ziegler) wrote in #note-2:
> ...
You made a point. Creating non-destructive variant of any destructive method seems unnecessary since there is dup that is pretty easy to us...
noraj (Alexandre ZANNI)
11:06 PM Revision 1f2fef1f (git): [ruby/openssl] Stop AutoRunner with test-unit
https://github.com/ruby/openssl/commit/0d4cd8b9ca hsbt (Hiroshi SHIBATA)
07:59 PM Revision 837ef891 (git): Fix crash in TracePoint c_call for removed method
trace_arg->id is the ID of the original method of an aliased method. If
the original method is removed, then the lookup will fail. We should use
trace_arg->called_id instead, which is the ID of the aliased method.
Fixes [Bug #19305]
peterzhu2118 (Peter Zhu)
07:59 PM Revision f7243d1a (git): [ruby/uri] [DOC] Common methods rdoc
(https://github.com/ruby/uri/pull/49)
https://github.com/ruby/uri/commit/02dfc79366
burdettelamar (Burdette Lamar)
05:09 PM Feature #8088: Method#parameters (and friends) should provide useful information about core methods
One way nowadays to do this is to use the `Primitive.foo` system and define the method in Ruby files.
Another would be to add a new `rb_define_method` variant to which the parameters can be passed.
That could then be used for all core m...
Eregon (Benoit Daloze)
04:48 PM Feature #8088: Method#parameters (and friends) should provide useful information about core methods
I've been bitten by this same issue (see #19301) in Ruby 3.2.0 with the introduction of the new [Data](https://www.alchemists.io/articles/ruby_data) class. At the time of opening that issue, I didn't fully realize how *untruthful* `Metho... bkuhlmann (Brooke Kuhlmann)
04:51 PM Bug #19301: Fix Data class to report keyrest instead of rest parameters
Benoit, thanks. I found what I was looking for in #8088. I've added a comment to that issue referring back to this issue.
Victor, thanks for discussion on this and learning just how far down this C-based implementation problem really ...
bkuhlmann (Brooke Kuhlmann)
10:42 AM Bug #19301: Fix Data class to report keyrest instead of rest parameters
bkuhlmann (Brooke Kuhlmann) wrote in #note-7:
> Would it be better if I move this discussion to a new issue where the focus is on asking if `Method#parameters` could properly answer the argument signature for C objects? Maybe that's too...
Eregon (Benoit Daloze)
03:57 PM Bug #19275: Bundled gems extensions are not installed with 3.2.0 release tarball
Here it is:
```
rm -f ./.bundle/specifications/debug-1.7.1.gemspec
rm -f ./.bundle/specifications/rbs-2.8.2.gemspec
rm -rf ./.bundle/gems/debug-1.7.1/
rm -rf ./.bundle/gems/rbs-2.8.2/
rm -f .bundle/specifications/debug-1.7.1.gems...
xtkoba (Tee KOBAYASHI)
10:49 AM Bug #19275: Bundled gems extensions are not installed with 3.2.0 release tarball
Could you show the output from `ruby tool/outdate-bundled-gems.rb -n .`? nobu (Nobuyoshi Nakada)
02:10 PM Revision b8a3f1bd (git): Fix crash in tracing object allocations
ObjectSpace.trace_object_allocations_start could crash since it adds a
TracePoint for when objects are freed. However, TracePoint could crash
since it modifies st tables while inside the GC that is trying to free
the object. This could c...
peterzhu2118 (Peter Zhu)
02:10 PM Revision 3bcf92d8 (git): Allow malloc during gc when GC has been disabled
We should allow malloc during GC when GC has been explicitly disabled
since garbage_collect_with_gvl won't do anything if GC has been disabled.
peterzhu2118 (Peter Zhu)
01:42 PM Bug #19269: Constant lookup and #instance_eval
@zverok
Thank you for clarification 🙇.
andrykonchin (Andrew Konchin)
11:13 AM Bug #19269 (Closed): Constant lookup and #instance_eval
This is expected because constant lookup is lexicial, i.e., it's only changed by `module/class` keywords, and by eval'ed strings. Eregon (Benoit Daloze)
01:17 PM Bug #19115: RubyGems fails to detect OpenSSL in --with-static-linked-ext builds
I built Ruby 3.1.2 that we use in our product with this patch applied, and it worked on our systems. Would be nice to see it backported. thomthom (Thomas Thomassen)
01:13 PM Revision 799d805e (git): [rubygems/rubygems] Raise invalid option when bundle open --path is called without a value
https://github.com/rubygems/rubygems/commit/c242311158 yoka
01:13 PM Revision 87c17a14 (git): [rubygems/rubygems] Enhance bundle open with --path option
https://github.com/rubygems/rubygems/commit/3bf8e59304 yoka
12:14 PM Misc #19304: Kernel vs Object documentation
@sawa
> Can you expand on why option 2 would be super-confusing? I think that option is the best.
Because those are two different categories of methods (as this and the previous ticket discuss in detail), and having them in one mixe...
zverok (Victor Shepelev)
08:21 AM Misc #19304: Kernel vs Object documentation
Can you expand on why option 2 would be super-confusing? I think that option is the best. sawa (Tsuyoshi Sawada)
06:27 AM Misc #19304: Kernel vs Object documentation
Is the option 3 like this?
https://github.com/ruby/rdoc/pull/961
nobu (Nobuyoshi Nakada)
11:12 AM Bug #19270 (Closed): Constants lookup and a singleton class issue
@alanwu By `attached_object_class` you mean `a.class` so `A`?
Constant lookup behaves lexically, here the scopes around method `c` are `A` and top-level/Object.
So here it looks in `A`, then `Object`, then ancestors of A. It never lo...
Eregon (Benoit Daloze)
09:36 AM Misc #19240: DevMeeting-2023-01-19
* [Feature #19179] Support parsing SCM_CRED(ENTIALS) messages from ancillary messages
* Various UNIX-y OS's support getting the (e)uid, (e)gid, and pid from unix sockets - some with a socket option, some with an ancillary message
* R...
kjtsanaktsidis (KJ Tsanaktsidis)
09:35 AM Revision 3d6500ee (git): [ruby/irb] workspace.rb cleanup
(https://github.com/ruby/irb/pull/489)
* Remove unnecessary Binding#source_location check
`Binding#source_location` was added in 2.6, which is the minimum supported
version now. So this check is no longer necessary.
* Remove unused IR...
st0012 (Stan Lo)
09:31 AM Bug #19297: Don't download content from internet to execute Ruby test suite
How test `bundler` in Fedora builder? It needs to download RSpec from rubygems.org since Ruby 2.5.
hsbt (Hiroshi SHIBATA)
07:56 AM Misc #19276: It is not possible to reply to emails from redmine
Note: email integration was successfully at https://bugs.ruby-lang.org/issues/16986#note-64. I'm not sure why it works. hsbt (Hiroshi SHIBATA)
07:02 AM Feature #19306 (Open): Expand zlib interface
Introduce some extra methods like `window_size`, `level` (compression/decompression), enhance `inspect` and various other quality of life improvements. ioquatix (Samuel Williams)
06:32 AM Revision e25c173c (git): [ruby/reline] correct Win32API capitalization for JRuby
JRuby 9.4.0.0 introduced a change in case sensitivity in require statements,
meaning that an inclusion of `win32api` loaded Win32API.rb. With this change,
the require statement needs to be updated to the correct capitalization of the
fil...
Joel Anderson
03:56 AM Revision d57148e9 (git): Pin octokit/request-action@v2.1.7
hsbt (Hiroshi SHIBATA)
03:52 AM Bug #19298: `lib/mjit/instruction.rb` was reintroduced by merge mistake
Thanks @k0kubun and @vo.x.
I created the backport request at https://github.com/ruby/ruby/pull/7061
hsbt (Hiroshi SHIBATA)
01:02 AM Revision b8673f8b (git): Bump ruby/setup-ruby from 1.128.0 to 1.133.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.128.0 to 1.133.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/4b2d1d631efa087f8896c15a0c6023dc2f...
dependabot[bot]

01/03/2023

11:48 PM Bug #19301: Fix Data class to report keyrest instead of rest parameters
Yeah, let me respond in order:
1. Correct. No issues there.
2. Correct. My problem was thinking in terms of pure Ruby, not C. That was my source of confusion, originally, but you've resolved my confusion.
3. Correct. However, I thin...
bkuhlmann (Brooke Kuhlmann)
08:30 PM Bug #19301: Fix Data class to report keyrest instead of rest parameters
I am a bit lost with what you are expecting, but to clarify a bit:
1. `Data.new` and `Data#initialize` have different signatures
2. If they would be defined in Ruby, the signatures would be: for `.new`: `[[:rest], [:keyrest]]`, for `...
zverok (Victor Shepelev)
09:57 PM Bug #19305 (Closed): TracePoint#parameters segfaults when certain method creation pattern is used
### Reproduction Steps
1. Create a `test.rb` with:
```
class Foo
attr_reader :bar
alias_method :bar?, :bar
remove_method :bar
end
f = Foo.new
TracePoint.trace(:a_call) do |tp|
puts tp.method_id
puts tp.parame...
st0012 (Stan Lo)
09:35 PM Bug #19299 (Closed): YJIT panicked while holding VM lock acquired at ./yjit/src/core.rs:1693. Aborting...
Applied in changeset commit:git|43ff0c2c488c80aaf83b486d45bcd4a92ebe3848.
----------
YJIT: Fix `yield` into block with >=30 locals on ARM
It's a register spill issue. Fix by moving the Qnil fill snippet to
after registers are released....
alanwu (Alan Wu)
08:56 PM Bug #19299: YJIT panicked while holding VM lock acquired at ./yjit/src/core.rs:1693. Aborting...
Thank you for the report! I was able to reproduce the issue
with the logs you posted, so no worries about reducing your app.
It happens with `yield` and a block with a lot of local variables
and it should be specific to ARM:
```r...
alanwu (Alan Wu)
09:33 PM Revision c240a189 (git): YJIT: Dump spill error to stderr [ci skip]
Since the panic message is in stderr, better to use the same stream in
case stdout and stderr are not synced due to IO redirection.
alanwu (Alan Wu)
09:17 PM Revision 43ff0c2c (git): YJIT: Fix `yield` into block with >=30 locals on ARM
It's a register spill issue. Fix by moving the Qnil fill snippet to
after registers are released.
[Bug #19299]
alanwu (Alan Wu)
05:03 PM Revision 1f9b6bfa (git): Bump actions/cache from 3.2.0 to 3.2.2
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.0 to 3.2.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.co...
dependabot[bot]
05:02 PM Feature #19244: Windows: USERPROFILE should be preferred over HOMEPATH
The above patch was incomplete, so that the order of the environment variables was changed in `Dir.home`, but not the order in the startup phase, which sets the `HOME` environment variable. This is fixed in https://github.com/ruby/ruby/p... larskanis (Lars Kanis)
04:43 PM Revision 184739f1 (git): [ci skip] Remove trailing semicolon in gc.c
peterzhu2118 (Peter Zhu)
04:35 PM Misc #19304: Kernel vs Object documentation
I think that (2) looks promising if sections are used (https://ruby.github.io/rdoc/RDoc/Markup.html#class-RDoc::Markup-label-Sections) in the documentation, although I must admit that I’ve never used those. It would absolutely need to be... austin (Austin Ziegler)
02:00 PM Misc #19304 (Assigned): Kernel vs Object documentation
The restating of the problems raised in #19300, from scratch.
I believe it is rather a topic of **community significance** and would be happy if it is possible to **discuss on dev-meeting**, even if the outcome would probably "let's c...
zverok (Victor Shepelev)
04:18 PM Revision 1bb0749c (git): [DOC] Move the internal document for `Init_class_hierarchy`
It has hidden the document for `Object` class. nobu (Nobuyoshi Nakada)
03:33 PM Revision 59cf9ebf (git): [ruby/uri] [DOC] Enhanced RDoc for common methods
(https://github.com/ruby/uri/pull/48)
https://github.com/ruby/uri/commit/2bfd848c26
burdettelamar (Burdette Lamar)
02:03 PM Feature #19300: Move public methods from Kernel to Object
> IMHO this is purely an issue of RDoc, and so best to discuss it there or make a PR there.
I don't think so.
The question is "how the language should be documented", not "how the documentation tool (RDoc) should work".
The outc...
zverok (Victor Shepelev)
01:45 PM Feature #19300: Move public methods from Kernel to Object
> I actually think I'll restart it from scratch in dev-meeting-discussion-ready form :)
IMHO this is purely an issue of RDoc, and so best to discuss it there or make a PR there.
Ruby methods will not have a different module/class t...
Eregon (Benoit Daloze)
01:41 PM Feature #19300: Move public methods from Kernel to Object
zverok (Victor Shepelev) wrote in #note-7:
> The mental model of "you look in `Kernel` to see 'global' methods available everywhere without a receiver, you look in `Object` to see generic methods every object has" is of tremendous signif...
Eregon (Benoit Daloze)
01:35 PM Feature #19300 (Rejected): Move public methods from Kernel to Object
> The title is pretty confusing, but is a bit clearer with those questions:
Yeah, I actually started to write ticket thinking it is a small docs problem (as many of us, I frequently forget they all belong to Kernel), but then while tr...
zverok (Victor Shepelev)
01:28 PM Feature #19300: Move public methods from Kernel to Object
The title is pretty confusing, but is a bit clearer with those questions:
zverok (Victor Shepelev) wrote:
> So, there are three questions/proposals:
> ...
I believe it's all intended. So `Object` is not special and it's possible and...
Eregon (Benoit Daloze)
01:26 PM Feature #19300: Move public methods from Kernel to Object
@nobu OK, I discovered the same while answering to @Eregon.
Do you believe the problem should be handled by
1. **adding** more "edge cases" to RDoc (supporting `kernel.rb`)?
2. **removing** edge cases from RDoc (all methods that pre...
zverok (Victor Shepelev)
01:20 PM Feature #19300: Move public methods from Kernel to Object
To add on that, I have seen many many Rubyists confused due to RDoc showing Kernel methods on Object.html.
They thought all those methods are defined on Object and not on Kernel, but it's all a lie and confusion by RDoc.
So I guess the...
Eregon (Benoit Daloze)
01:17 PM Feature #19300: Move public methods from Kernel to Object
Yeah, and moving a method between C and Ruby like that is an implementation detail and should definitely not change on which page of the docs a method appears on.
Hence, it's 100% a bug of RDoc, it was a mistake to show Kernel methods o...
Eregon (Benoit Daloze)
01:11 PM Feature #19300: Move public methods from Kernel to Object
@Eregon
> My tip is never trust the docs regarding what method is where
Thanks, as a person that tries to maintain and update the docs for each version, I am well aware of it.
The initial ticket text also mentions this:
> ...
We...
zverok (Victor Shepelev)
01:05 PM Feature #19300 (Third Party's Issue): Move public methods from Kernel to Object
This is an issue of RDoc.
RDoc replaces `rb_mKernel` with `rb_cObject` (= `Object`) internally, but it seems not working in some cases (maybe in `kernel.rb`?).
There is no visibility differences between `Kernel` and `Object`.
nobu (Nobuyoshi Nakada)
12:39 PM Feature #19300: Move public methods from Kernel to Object
My tip is never trust the docs regarding what method is where:
```
irb(main):001:0> self.method :clone
=> #<Method: Object(Kernel)#clone(freeze: ...) <internal:kernel>:47>
irb(main):002:0> self.method :dup
=> #<Method: Object(Kernel...
Eregon (Benoit Daloze)
01:47 PM Revision 0dc989d0 (git): Fix Error in GC Compaction specs
Previously if any of the tests that move objects between size pools
failed to move anything, then the call to stats.dig would return `nil`
which would then cause assert_operator to error.
This should be a test Failure, rather than an Er...
eightbitraptor (Matt V-H)
12:52 PM Bug #19297: Don't download content from internet to execute Ruby test suite
> MSpec is a specialized framework that is syntax-compatible with RSpec 2 for basic things like describe, it blocks and before, after actions.
From https://github.com/ruby/mspec/#readme
i.e., not for the rest.
One cannot run a RSpec...
Eregon (Benoit Daloze)
05:20 AM Bug #19297: Don't download content from internet to execute Ruby test suite
> MSpec claims that “it is syntax-compatible with RSpec 2”
...and syntax-suggest's specs are written in RSpec **3** which is thoroughly backward incompatible with RSpec 2 that we loved.
matsuda (Akira Matsuda)
04:56 AM Bug #19297: Don't download content from internet to execute Ruby test suite
MSpec claims that “it is syntax-compatible with RSpec 2”, but the test of syntax-suggest doesn’t work with MSpec as-is.
Any idea?
I’m ok to revert that commit.
nobu (Nobuyoshi Nakada)
12:38 PM Bug #19295: Time#wday returns 7
The patch conflicted with 2.7, but could fix this issue by applying with preceding patches. nobu (Nobuyoshi Nakada)
12:34 PM Feature #19303 (Open): Resolv::IPv4::Regex variant without anchors
``` ruby
require 'resolv'
p "match this IP: 10.0.0.1"[/match this IP: (#{Resolv::IPv4::Regex})/, 1]
```
This returns 'nil' because Resolv::IPv4::Regex is anchored with \A and \z.
I would like to have a variant of Resolv::IPv4::R...
henk (Hendrik Jäger)
08:15 AM Revision fdac1486 (git): NEWS.md: remove a redundant bundled gems entry. [ci skip]
nagachika (Tomoyuki Chikanaga)
06:47 AM Revision d87cf4cc (git): Update bundled gems list at 2bbf63dd867fe3d349b1758805ad44 [ci skip]
git[bot]
01:05 AM Feature #19302: Non-destructive String#insert
austin (Austin Ziegler) wrote in #note-2:
> Ruby strings are mostly copy-on-write, so `string.dup.insert(3, 'baz')` would solve the issue, and it could be written (I believe) as `-string.insert(3, 'baz')` in modern Ruby.
`-string.ins...
jeremyevans0 (Jeremy Evans)
12:44 AM Feature #19302: Non-destructive String#insert
Ruby strings are mostly copy-on-write, so `string.dup.insert(3, 'baz')` would solve the issue, and it could be written (I believe) as `-string.insert(3, 'baz')` in modern Ruby. austin (Austin Ziegler)

01/02/2023

11:52 PM Feature #14919: Add String#byteinsert
Yes a grapheme can be composed of several code points.
An example is variant selector:
```ruby
irb(main):001:0> a = "\u2665\n\u2764\n\u2665\ufe0f\n\u2764\ufe0f"
=> "♥\n❤\n♥️\n❤️"
irb(main):002:0> puts a

❤ ...
noraj (Alexandre ZANNI)
11:22 PM Feature #19302 (Closed): Non-destructive String#insert
It would be nice to have a non-destructive version of String#insert to be able to work with frozen literals.
## Current behavior
There is only a destructive version of `String#insert` that will throw an error if the string is froze...
noraj (Alexandre ZANNI)
11:14 PM Bug #19301: Fix Data class to report keyrest instead of rest parameters
Hey Victor, thanks. I was aware of #19278 but hadn't noticed #19280.
You are correct, when I used `DemoExample[*argument_array]` earlier, that was a typo. I mean to use `DataExample[*argument_array]`.
Ah, so you are saying this is ...
bkuhlmann (Brooke Kuhlmann)
10:19 PM Bug #19301 (Rejected): Fix Data class to report keyrest instead of rest parameters
See discussions in #19278 and #19280.
This is a conscious decision of `Data.new` converting all arguments to keyword ones, made for ease of providing default values or preprocessing of arguments, without caring about the form they wer...
zverok (Victor Shepelev)
10:13 PM Bug #19301: Fix Data class to report keyrest instead of rest parameters
Apologies, I should have used `StructExample = Struct.new :one, :two, keyword_init: true` in the above example. ...but this also highlights a new behavioral change with a `Struct` which doesn't use `keyword_init` but misleadingly accepts... bkuhlmann (Brooke Kuhlmann)
10:05 PM Bug #19301 (Rejected): Fix Data class to report keyrest instead of rest parameters
## Overview
Hello and Happy New Year. 👋
With the new `Data` class, I'm seeing a discrepancy in parameter behavior compared to a `Struct`. I understand the original `Data` [feature](https://bugs.ruby-lang.org/issues/16122) request m...
bkuhlmann (Brooke Kuhlmann)
10:29 PM Bug #19298 (Closed): `lib/mjit/instruction.rb` was reintroduced by merge mistake
Applied in changeset commit:git|2bbf63dd867fe3d349b1758805ad4421f2d772ab.
----------
Remove lib/mjit/instruction.rb
This was accidentally re-introduced in f6620037ba1477d2c337d7b511f094d6d0fbb69c.
[Bug #19298]
k0kubun (Takashi Kokubun)
09:14 PM Bug #19298: `lib/mjit/instruction.rb` was reintroduced by merge mistake
great catch, fixed it in https://github.com/ruby/ruby/commit/2bbf63dd867fe3d349b1758805ad4421f2d772ab. k0kubun (Takashi Kokubun)
02:11 PM Bug #19298 (Closed): `lib/mjit/instruction.rb` was reintroduced by merge mistake
It seems that `lib/mjit/instruction.rb` should not be shipped anymore since commit:git|bb4cbd0803c3297ad036008adc7a01159ce44e1e, but it was re-introduced into the repository by merge mistake commit:git|f6620037ba1477d2c337d7b511f094d6d0f... vo.x (Vit Ondruch)
10:05 PM Feature #19300: Move public methods from Kernel to Object
In particular, Delegator works in an interesting way by:
1. Inheriting from BasicObject
2. Duping the Kernel module (as k)
3. Undefining some methods from k
4. Including k
So, for this particular purpose, moving methods from Ker...
hmdne (hmdne -)
09:48 PM Feature #19300 (Rejected): Move public methods from Kernel to Object
In my understanding, `Kernel` is a container for methods that are perceived as "global", and are available inside every objects as its private methods, like `puts`
```ruby
class A
def foo = puts "foo"
end
a = A.new
a.foo # prin...
zverok (Victor Shepelev)
09:13 PM Revision 2bbf63dd (git): Remove lib/mjit/instruction.rb
This was accidentally re-introduced in f6620037ba1477d2c337d7b511f094d6d0fbb69c.
[Bug #19298]
k0kubun (Takashi Kokubun)
07:25 PM Bug #19296 (Closed): Time.new's argument check is incomplete
Applied in changeset commit:git|5be0d42d2c4dc765230c76738289560f9ee37f09.
----------
[Bug #19296] Precheck bits of time components
nobu (Nobuyoshi Nakada)
03:25 PM Bug #19296: Time.new's argument check is incomplete
https://github.com/ruby/ruby/pull/7055 nobu (Nobuyoshi Nakada)
01:38 PM Bug #19296 (Closed): Time.new's argument check is incomplete
`Time.new` seems to be performing some sort of argument checking, but I found some strings that can bypass this validation and craft erroneous Time value.
- month
```
'12'.upto('20').each do |m|
str = "2023-#{m}-01"
puts str
...
matsuda (Akira Matsuda)
07:25 PM Revision 34f8ca17 (git): [ruby/irb] Fix prompt and code mismatch
(https://github.com/ruby/irb/pull/386)
* fix prompt and code mismatch
* Add test for prompt and code mismatch bug
https://github.com/ruby/irb/commit/a5765d8177
Co-authored-by: Stan Lo <stan001212@gmail.com>
tompng (tomoya ishida)
03:28 PM Bug #19299 (Closed): YJIT panicked while holding VM lock acquired at ./yjit/src/core.rs:1693. Aborting...
Attached is the backtrace.
The code is a moderately complex view with partials and translations. The panic happens specifically when i call a translation `t('...')` but if i simplify the view code around that call the panic goes away....
ollym (Oliver Morgan)
03:06 PM Bug #19295: Time#wday returns 7
nobu (Nobuyoshi Nakada) wrote in #note-2:
> Seems same as #19292.
In #19292 it is said that 3.0 and 2.7 don't need while they do.
akostadinov (Aleksandar Kostadinov)
02:22 PM Bug #19295 (Closed): Time#wday returns 7
Seems same as #19291. nobu (Nobuyoshi Nakada)
12:50 PM Bug #19295 (Closed): Time#wday returns 7
This issue happens since Ruby 2.7, since `Z` and `UTC` are allowed for a zone.
``` ruby
[1] pry(main)> Time.new(2023, 1,3,0,0,0,"UTC").wday
=> 7
[2] pry(main)> Time.new(2023, 1,3,0,0,0,"Z").wday
=> 7
```
This also breaks all w...
akostadinov (Aleksandar Kostadinov)
02:29 PM Revision 5be0d42d (git): [Bug #19296] Precheck bits of time components
nobu (Nobuyoshi Nakada)
02:17 PM Revision 291a4098 (git): Add missing assertion
nobu (Nobuyoshi Nakada)
01:41 PM Bug #19297 (Open): Don't download content from internet to execute Ruby test suite
Trying to build Ruby 3.2.0 for Fedora and execute its test suite via `make check` as we always did [1], the test suite suddenly fails (while it was working with commit:git|c5eefb7f37):
~~~
... snip ...
C-API Util function ruby_str...
vo.x (Vit Ondruch)
12:45 PM Bug #19293: The new Time.new(String) API is nice... but we still need a stricter version of this
`Kernel#Integer` may be easier (and probably faster) than the Regexp.
```ruby
Time.new(string) unless Integer(string, exception: false)
```
Benchmark.
```
$ ruby time_benchmark.rb
Warming up -------------------------------------...
nobu (Nobuyoshi Nakada)
12:39 PM Bug #19248: TestGCCompact#test_moving_objects_between_size_pools test failure
mtasaka (Mamoru Tasaka) wrote in #note-14:
> This seems also due to LTO, adding `%global _lto_cflags %{nil}` to ruby.spec, i.e. removing `-flto=auto -ffat-lto-objects` from compilation flag seems to make this test pass.
Thx a lot for he...
vo.x (Vit Ondruch)
08:42 AM Bug #19291: Ripper's on_parse_error token has wrong content
This may be a potential bug since older versions. nobu (Nobuyoshi Nakada)
08:35 AM Bug #19291 (Closed): Ripper's on_parse_error token has wrong content
Applied in changeset commit:git|3becc4a105bcf873fdc6e83c2a957f73718c5084.
----------
[Bug #19291] Rewind to the previous line
When rewinding looking ahead after newline token, also reset the last
line string, the pointers to it, and th...
nobu (Nobuyoshi Nakada)
07:12 AM Revision 3becc4a1 (git): [Bug #19291] Rewind to the previous line
When rewinding looking ahead after newline token, also reset the last
line string, the pointers to it, and the location, not only the line
number.
nobu (Nobuyoshi Nakada)
07:12 AM Revision 1912bf54 (git): Adjut indent [ci skip]
nobu (Nobuyoshi Nakada)
07:04 AM Revision 51021fc7 (git): Update bundled gems list at 2023-01-02
git[bot]
03:04 AM Bug #18899 (Closed): Inconsistent argument handling in IO#set_encoding
Applied in changeset commit:git|0903a251796c2b4086804a94420c231c04e3cea1.
----------
Make IO#set_encoding with binary external encoding use nil internal encoding
This was already the behavior when a single `'external:internal'`
encodin...
jeremyevans (Jeremy Evans)

01/01/2023

07:39 PM Bug #14387: Ruby 2.5 を Alpine Linux で実行すると比較的浅めで SystemStackError 例外になる
Any update on this? ojab (ojab ojab)
05:56 PM Feature #19294 (Open): Enumerator.product works incorrectly with consuming enumerators
```ruby
s = StringIO.new('abc')
Enumerator.product([1, 2, 3], s.each_char).to_a
# Expected: => [[1, "a"], [1, "b"], [1, "c"], [2, "a"], [2, "b"], [2, "c"], [3, "a"], [3, "b"], [3, "c"]]
# Actual: => [[1, "a"], [1, "b"], [1, "c"]]
``...
zverok (Victor Shepelev)
05:00 PM Revision 0903a251 (git): Make IO#set_encoding with binary external encoding use nil internal encoding
This was already the behavior when a single `'external:internal'`
encoding specifier string was passed. This makes the behavior
consistent for the case where separate external and internal
encoding specifiers are provided.
While here, ...
jeremyevans (Jeremy Evans)
03:07 PM Bug #19293 (Closed): The new Time.new(String) API is nice... but we still need a stricter version of this
The Ruby 3.2 style `Time.new(String)` API works very well so far, but since the original `Time.new(Integer, Integer, Integer...)` API actually accepts String objects as its arguments, there's one ambiguous case as follows:
`Time.new('20...
matsuda (Akira Matsuda)
03:04 PM Revision a4e9606d (git): [rubygems/rubygems] Remove stray word in bundle config man page.
There was an extra word ("with") in this sentence.
https://github.com/rubygems/rubygems/commit/ad3de5126c
Mark Doliner
03:02 PM Revision 44b7fd8d (git): [ruby/net-http] Enhanced RDoc for HTTPHeader
https://github.com/ruby/net-http/commit/6a282eccdd burdettelamar (Burdette Lamar)
01:50 PM Bug #19292: Time object's wday, yday, and isdst returns broken value (and so does to_a) when kwarg in: 'UTC' was given
Confirmed the fix. Thank you, @nobu! matsuda (Akira Matsuda)
08:27 AM Bug #19292 (Closed): Time object's wday, yday, and isdst returns broken value (and so does to_a) when kwarg in: 'UTC' was given
Applied in changeset commit:git|542e984d82fa25098eb15398d716d907acc52b93.
----------
[Bug #19292] Re-initialize tm when wday or yday is not set
nobu (Nobuyoshi Nakada)
07:43 AM Bug #19292: Time object's wday, yday, and isdst returns broken value (and so does to_a) when kwarg in: 'UTC' was given
https://github.com/ruby/ruby/pull/7051 nobu (Nobuyoshi Nakada)
01:05 PM Feature #16991 (Closed): Sets: add Set#join
Implemented in Ruby 3.0 zverok (Victor Shepelev)
01:04 PM Feature #16995 (Closed): Sets: <=> should be specialized
Implemented in Ruby 3.0:
```ruby
Set[1] <=> Set[1, 2]
# => -1
[Set[1], Set[1, 2]].sort
# => [#<Set: {1}>, #<Set: {1, 2}>]
```
zverok (Victor Shepelev)
10:32 AM Feature #3591: Adding Numeric#divisor? (Have working implementation)
e8c (Viktor Reznov) wrote in #note-20:
> Two solutions:
3rd:
```ruby
def count_digits(n) = n.digits.count { n.modulo(_1).zero? }
```
e8c (Viktor Reznov)
10:21 AM Feature #3591: Adding Numeric#divisor? (Have working implementation)
matz (Yukihiro Matsumoto) wrote in #note-19:
> Is it more useful than `n % m == 0`?
Yes, statement `n .has_divisor? m` (or `m .divisor_of? n`) has 3 parts instead of 5, and gives a direct answer to the question.
The "problem": htt...
e8c (Viktor Reznov)
07:39 AM Revision 542e984d (git): [Bug #19292] Re-initialize tm when wday or yday is not set
nobu (Nobuyoshi Nakada)
05:51 AM Bug #19290 (Closed): Documentation: "produces:" (introducing terminal output) is wrongly formatted in few places
Applied in changeset commit:git|f527a0911d5ff0476152a3e3c9bcd2247ead5636.
----------
[DOC] [Bug #19290] fix formatting
nobu (Nobuyoshi Nakada)
05:50 AM Revision f527a091 (git): [DOC] [Bug #19290] fix formatting
nobu (Nobuyoshi Nakada)
05:25 AM Bug #19285 (Third Party's Issue): (docs.rlo) Split stdlib and core documents
It is about monkey patching Kernel and seems an internal document.
I don't think it is useful for users.
https://github.com/rubygems/rubygems/pull/6217
On the other hand, RubyGems has the document about extension of `Kernel#requir...
nobu (Nobuyoshi Nakada)

12/31/2022

09:38 PM Bug #19292 (Closed): Time object's wday, yday, and isdst returns broken value (and so does to_a) when kwarg in: 'UTC' was given
$ ruby -e "p Time.new(2023, 1, 1, 0, 0, 0, in: 'UTC').wday"
7
$ ruby -e "p Time.new(2023, 1, 1, 0, 0, 0, in: 'UTC').yday"
0
$ ruby -e "p Time.new(2023, 1, 1, 0, 0, 0, in: 'UTC').isdst"
-e:1:in `isdst': isdst is not set yet (Runt...
matsuda (Akira Matsuda)
06:29 PM Bug #19291 (Closed): Ripper's on_parse_error token has wrong content
Ruby 3.1
~~~ruby
Ripper::Lexer.new("{a:,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\nhelloworld").scan.map(&:tok)
# =>
["{", "a:", ",", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "", "\n", "helloworld"]
~~~
Ruby 3.2.0
~~~ruby
Ripper:...
tompng (tomoya ishida)
06:01 PM Feature #16986: Anonymous Struct literal
> If I have to pick one from either Struct or Data, I'd pick Data. But still don't like the notation proposed.

What about something like:

%t[a: 1, b: 2]

for Struct (can default to frozen/immutable Struct or use %T to create it f...
Anonymous
07:04 AM Feature #16986: Anonymous Struct literal
JFYI JavaScript is having a similar proposal which now proposes `#{…}` syntax.
https://github.com/tc39/proposal-record-tuple
`#` is not a comment marker in that language though.
shyouhei (Shyouhei Urabe)
02:04 AM Feature #16986: Anonymous Struct literal
If I have to pick one from either Struct or Data, I'd pick Data. But still don't like the notation proposed.
Matz.
matz (Yukihiro Matsumoto)
01:43 AM Feature #16986: Anonymous Struct literal
In a Ruby 3.2 context, I wonder how this would look in the mindset of the new Data class instead of a struct? Bumppoman (Brendon Stanton)
02:23 PM Bug #19248: TestGCCompact#test_moving_objects_between_size_pools test failure
This seems also due to LTO, adding `%global _lto_cflags %{nil}` to ruby.spec, i.e. removing `-flto=auto -ffat-lto-objects` from compilation flag seems to make this test pass. mtasaka (Mamoru TASAKA)
12:52 PM Bug #19254: Enabling YJIT configuration option breaks rspec-core test suite
Looks like adding `%global _lto_cflags %{nil}` to ruby.spec, i.e. removing `-flto=auto -ffat-lto-objects` from compilation flag makes the above rspec-core test pass (note that Fedora ruby is using gcc).
So maybe LTO is doing "somethin...
mtasaka (Mamoru TASAKA)
12:03 PM Bug #19290: Documentation: "produces:" (introducing terminal output) is wrongly formatted in few places
## `gc.c`
problem: formating not consistent with other source files:
source: https://github.com/ruby/ruby/blob/master/gc.c#L14423
Fix:
```
* _produces:_
```
replaced with:
```
* <em>produces:</em>
```
laurent_martin (Laurent Martin)
12:00 PM Bug #19290 (Closed): Documentation: "produces:" (introducing terminal output) is wrongly formatted in few places
## `warning.rb`
Problem: The text "produces:" is embedded in formatted text, it should be normal emphasized text.
view here: https://ruby-doc.org/3.2.0/Kernel.html , 2 times after: "If warnings have been disabled"
source:
htt...
laurent_martin (Laurent Martin)

12/30/2022

11:13 PM Bug #19278: Constructing subclasses of Data with positional arguments
zverok (Victor Shepelev) wrote in #note-14:
> > Your example didn't demonstrate this difference.
> ...
Sorry, I think you misunderstood. I understand your points, I am just out of steam and don't care to continue the thread anymore.
...
tenderlovemaking (Aaron Patterson)
11:07 PM Bug #19278: Constructing subclasses of Data with positional arguments
> Your example didn't demonstrate this difference.
> ...
It is a pity, after the thread this long.
If you would've cared, you'd maybe spent a few minutes drafting an `initialize` that would work the way you want **and maintained t...
zverok (Victor Shepelev)
10:51 PM Bug #19278 (Rejected): Constructing subclasses of Data with positional arguments
zverok (Victor Shepelev) wrote in #note-12:
> > I don't really understand this example. The initialize works the same way whether you use a Struct or not
> ...
Your example didn't demonstrate this difference.
> 2. These promises are...
tenderlovemaking (Aaron Patterson)
10:30 PM Bug #19278: Constructing subclasses of Data with positional arguments
> I don't really understand this example. The initialize works the same way whether you use a Struct or not
It is not.
1. Both 3.2+ `Struct` and `Data` make a promise that **no other class makes** and is **non-trivial to implement*...
zverok (Victor Shepelev)
06:48 PM Bug #19278: Constructing subclasses of Data with positional arguments
zverok (Victor Shepelev) wrote in #note-8:
> BTW, note that before 3.2, for structs it was either `keyword_init: false`, or `keyword_init: true`, not both.
> ...
I don't really understand this example. The `initialize` works the sam...
tenderlovemaking (Aaron Patterson)
03:24 PM Bug #19278: Constructing subclasses of Data with positional arguments
@Eregon Ah, yeah, that's true.
Though I saw codebases that did that for aesthetical purposes (all "classes with methods" look the same), or to not confuse some code analysis tools (I haven't checked lately, but I believe YARD at some...
zverok (Victor Shepelev)
03:15 PM Bug #19278: Constructing subclasses of Data with positional arguments
To clarify:
> Also inheriting from a Data class seems kind of an anti/rare pattern.
I meant one should use `Struct.new(...) { ... }` / `Data.define(...) { ... }` and not `class < Struct.new(...)` / `class < Data.define(...)` which ...
Eregon (Benoit Daloze)
10:56 AM Bug #19278: Constructing subclasses of Data with positional arguments
> I do this all the time with structs. I assumed Data.define would basically just be a read-only Struct.new and that's how I got here.
(Wrote a long theoretical answer, deleted it!)
Wait. I now reread your initial example more atte...
zverok (Victor Shepelev)
01:58 AM Bug #19278: Constructing subclasses of Data with positional arguments
Eregon (Benoit Daloze) wrote in #note-3:
> It seems hard to solve to me, without losing the significant advantages that @zverok mentions.
> ...
😅 I do this all the time with structs. I assumed `Data.define` would basically just be a r...
tenderlovemaking (Aaron Patterson)
06:34 PM Bug #19289: RbConfig::CONFIG["STRIP"] should keep `ruby_abi_version` and `ruby_abi_version` should always be part of Ruby
I'm not sure why ABI version checking was removed for release versions of Ruby. In the development meeting for the feature, it was decided that we'll keep the same behaviour for development and release versions.
> ko1: Will the ABI ve...
peterzhu2118 (Peter Zhu)
03:41 PM Bug #19289: RbConfig::CONFIG["STRIP"] should keep `ruby_abi_version` and `ruby_abi_version` should always be part of Ruby
Eregon (Benoit Daloze) wrote in #note-4:
> That said this kind of configuration is IMHO silly, changing it is basically guaranteed to break things, so a better way would be remove such configuration
I think it was always meant to al...
vo.x (Vit Ondruch)
03:03 PM Bug #19289: RbConfig::CONFIG["STRIP"] should keep `ruby_abi_version` and `ruby_abi_version` should always be part of Ruby
vo.x (Vit Ondruch) wrote in #note-3:
> Just FTR, don't forget that `ruby_version` can be arbitrary string:
> ...
Interesting, I think we should define `RbConfig::CONFIG["abi_version"]` (or `"ruby_abi_version"`) if `RbConfig::CONFIG["ruby...
Eregon (Benoit Daloze)
02:57 PM Bug #19289: RbConfig::CONFIG["STRIP"] should keep `ruby_abi_version` and `ruby_abi_version` should always be part of Ruby
Eregon (Benoit Daloze) wrote:
> the value of `rb_abi_version` would just be the same as `RbConfig::CONFIG["ruby_version"]`
Just FTR, don't forget that `ruby_version` can be arbitrary string:
https://github.com/ruby/ruby/blob/90a80...
vo.x (Vit Ondruch)
02:38 PM Bug #19289: RbConfig::CONFIG["STRIP"] should keep `ruby_abi_version` and `ruby_abi_version` should always be part of Ruby
Another possibility would be to have some key in RbConfig::CONFIG which contains `-Wl,-exported_symbol,_ruby_abi_version` or nil,
like https://github.com/redis-rb/redis-client/blob/809bbab767f8e514ccd0d6008116c360435f3026/hiredis-client...
Eregon (Benoit Daloze)
02:35 PM Bug #19289: RbConfig::CONFIG["STRIP"] should keep `ruby_abi_version` and `ruby_abi_version` should always be part of Ruby
Ah, because the export list file is not given to `strip` but directly to CC/CXX:
* https://github.com/redis-rb/redis-client/blob/809bbab767f8e514ccd0d6008116c360435f3026/hiredis-client/ext/redis_client/hiredis/extconf.rb#L59
* https://...
Eregon (Benoit Daloze)
02:29 PM Bug #19289 (Closed): RbConfig::CONFIG["STRIP"] should keep `ruby_abi_version` and `ruby_abi_version` should always be part of Ruby
From https://github.com/grpc/grpc/pull/31970 and https://github.com/redis-rb/redis-client/issues/58
First, I think we could add `-K rb_abi_version` to `RbConfig::CONFIG["STRIP"]` so it's automatically kept if `RbConfig::CONFIG["STRIP"...
Eregon (Benoit Daloze)
04:46 PM Bug #19286: What should kwargs' arity be?
💡 In case it helps -- regarding the mention of method parameters above -- I've found it easy to forget how method parameters work so wrote up an entire [article](https://www.alchemists.io/articles/ruby_method_parameters_and_arguments) on... bkuhlmann (Brooke Kuhlmann)
03:24 PM Bug #19286: What should kwargs' arity be?
I would guess because `f({a:1,b:2})` used to work before 3.0 and it was passing "one argument", hence arity 1.
Also `def m(*); end` can be called like `m(a:1,b:2)` and that's clearly one argument on the callee side.
So from the caller po...
Eregon (Benoit Daloze)
05:51 AM Bug #19286: What should kwargs' arity be?
kwargs are... complicated. Let me first extend the issue with additional versions of the above (I run Ruby 3.1, but from what I know, everything applies to anything >= Ruby 3.0):
```ruby
[1] pry(main)> method(def a(a:, b:); end).arity
=...
hmdne (hmdne -)
03:08 AM Bug #19286 (Closed): What should kwargs' arity be?
Hello, guys. It's time for a quick Ruby quiz.
Q: What is this method's arity?
def f(a:, b:)
end
It requires two arguments, hence it should be 2?
Or if we call this method with one argument, the error message says "wrong number o...
matsuda (Akira Matsuda)
04:38 PM Feature #15778: Expose an API to pry-open the stack frames in Ruby
I think such feature has a great potential for production use too, especially for error monitoring. For example, both [Rollbar](https://rollbar.com) and [Sentry](https://sentry.io) tries to support local variables capturing with `TracePo... st0012 (Stan Lo)
03:38 PM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
Also that script creates Ractors even in "linear" mode.
With the fixed script below:
```
2.040496 0.002988 2.043484 ( 2.048731)
```
i.e. it's also quite a bit slower if any Ractor is created.
Script:
```ruby
require 'jso...
Eregon (Benoit Daloze)
03:34 PM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
It would be more fair to `Ractor.make_shareable(data)` first.
But even with that Ractor is slower:
```
no Ractor:
2.748311 0.003002 2.751313 ( 2.763541)
Ractor
9.939530 5.816431 15.755961 ( 4.289792)
```
This high `s...
Eregon (Benoit Daloze)
10:39 AM Bug #19288 (Closed): Ractor JSON parsing significantly slower than linear parsing
a simple benchmark:
```ruby
require 'json'
require 'benchmark'
CONCURRENT = 5
RACTORS = true
ELEMENTS = 100_000
data = CONCURRENT.times.map do
ELEMENTS.times.map do
{
rand => rand,
rand => rand,
...
maciej.mensfeld (Maciej Mensfeld)
03:34 PM Bug #19284 (Closed): Integer overflow when using RUBY_GC_HEAP_INIT_SLOTS environment variable
Applied in changeset commit:git|90a80eb076429978e720e11fb17a3cbb96de3454.
----------
Fix integer underflow when using HEAP_INIT_SLOTS
There is an integer underflow when the environment variable
RUBY_GC_HEAP_INIT_SLOTS is less than the ...
peterzhu2118 (Peter Zhu)
01:31 AM Bug #19284: Integer overflow when using RUBY_GC_HEAP_INIT_SLOTS environment variable
Thank you for reporting this bug. I have a fix here: https://github.com/ruby/ruby/pull/7044 peterzhu2118 (Peter Zhu)
03:31 PM Revision 0bb07e5b (git): Fix test when Ruby is verbose
The test added in 90a80eb0 fails if Ruby is verbose, it outputs the
following line to stderr:
RUBY_GC_HEAP_INIT_SLOTS=100 (default value: 10000)
peterzhu2118 (Peter Zhu)
02:14 PM Feature #19232 (Feedback): add NoMatchingPatternError#matchee
Do you have any real use case for this? ktsj (Kazuki Tsujimoto)
02:01 PM Revision 90a80eb0 (git): Fix integer underflow when using HEAP_INIT_SLOTS
There is an integer underflow when the environment variable
RUBY_GC_HEAP_INIT_SLOTS is less than the number of slots currently
in the Ruby heap.
[Bug #19284]
peterzhu2118 (Peter Zhu)
01:10 PM Revision 36c4dda7 (git): [rubygems/rubygems] Fix a typo
https://github.com/rubygems/rubygems/commit/7c096a5df8 nobu (Nobuyoshi Nakada)
04:02 AM Feature #19287: Let DelegateClass respect the original method's arity in case of 0
I should have posted the patch to delegate's own repo. Reposted the same patch to https://github.com/ruby/delegate/pull/16 matsuda (Akira Matsuda)
03:15 AM Feature #19287 (Open): Let DelegateClass respect the original method's arity in case of 0
As reported in #19165, method delegation with *, **, and ... adds some overhead for a method that takes no argument. And current implementation of delegations in forwardable and delegate basically define all methods to take splat paramet... matsuda (Akira Matsuda)
01:05 AM Bug #19285 (Third Party's Issue): (docs.rlo) Split stdlib and core documents
It seems we merge all of the docs for stdlib and core into one for docs.ruby-lang.org, this creates weirdness like [Kernel](https://docs.ruby-lang.org/en/master/Kernel.html) which includes monkey patches for rubygems for example.
> Ru...
zzak (zzak _)
 

Also available in: Atom