Project

General

Profile

Activity

From 04/09/2021 to 04/15/2021

04/15/2021

08:30 PM Bug #17802: backport fbbc37dc1d5b329777e6d9716118db528ab70730 to 2.7 and 3.0
ruby_2_7 67f1cd20bfb97ff6e5a15d27c8ef06cdb97ed37a merged revision(s) fbbc37dc1d5b329777e6d9716118db528ab70730. usa (Usaku NAKAMURA)
01:30 AM Bug #17802: backport fbbc37dc1d5b329777e6d9716118db528ab70730 to 2.7 and 3.0
ruby_3_0 d5a34e1b142eccc54971494be2243a0c6ac01d94 merged revision(s) fbbc37dc1d5b329777e6d9716118db528ab70730. nagachika (Tomoyuki Chikanaga)
08:30 PM Revision 67f1cd20 (git): merge revision(s) fbbc37dc1d5b329777e6d9716118db528ab70730: [Backport #17802]
test/drb/test_drb.rb: Specify the host of DRbServer
to try fixing the following error.
http://rubyci.s3.amazonaws.com/opensuseleap/ruby-master/log/20210407T063004Z.log.html.gz
```
[ 605/21105] DRbTests:...
U.Nakamura
08:10 PM Bug #17777: 2.6.7 fails to build on macOS: implicit declaration of function 'rb_native_mutex_destroy' is invalid in C99
https://github.com/ruby/ruby/pull/4385 austin (Austin Ziegler)
07:31 PM Bug #17805: Segmentation fault at 0x0000000000000010 ruby 2.7.3p183
peterzhu2118 (Peter Zhu) wrote in #note-1:
> Thank you for the report. It's a duplicate of #17780 which has been flagged for backport. In the meantime you can use 2.7.2 or build from the [2.7 branch](https://github.com/ruby/ruby/tree/ru...
jaredbeck (Jared Beck)
07:30 PM Bug #17805 (Closed): Segmentation fault at 0x0000000000000010 ruby 2.7.3p183
peterzhu2118 (Peter Zhu)
07:29 PM Bug #17805: Segmentation fault at 0x0000000000000010 ruby 2.7.3p183
Thank you for the report. It's a duplicate of #17780 which has been fixed and flagged for backport (so it will land in 2.7.4). In the meantime you can use 2.7.2 or build from the [2.7 branch](https://github.com/ruby/ruby/tree/ruby_2_7) a... peterzhu2118 (Peter Zhu)
06:07 PM Bug #17805 (Closed): Segmentation fault at 0x0000000000000010 ruby 2.7.3p183
jaredbeck (Jared Beck)
02:10 PM Revision f1f08f5b (git): Remove useless attribute set in init_mark_stack
init_mark_stack already clears the mark stack so we do not need to
set the attribute cache_size to zero.
Peter Zhu
09:07 AM Revision 26888d5e (git): Workaround for installation failures on macOS
nobu (Nobuyoshi Nakada)
06:36 AM Revision 7af7a539 (git): Also merge tool/bundler/*.rb for testing of Bundler
hsbt (Hiroshi SHIBATA)
06:36 AM Revision 96741765 (git): Merge the master branch of RubyGems
hsbt (Hiroshi SHIBATA)
06:36 AM Revision ed149dbf (git): Merge the master branch of Bundler
hsbt (Hiroshi SHIBATA)
06:36 AM Revision 0d9496f9 (git): Restore bundler.gemspec from ruby/ruby repository with sync_default_gems.rb
hsbt (Hiroshi SHIBATA)
05:55 AM Revision fd978621 (git): mkconfig.rb: Update around SDKROOT
c.f. https://opensource.apple.com/source/ruby/ruby-145.40.1/patches/tool_mkconfig.rb.diff
* moved to "includedir" from "oldincludedir".
* honor "$(prefix)/include" if exists, otherwise fallback to `xcrun`.
nobu (Nobuyoshi Nakada)
05:16 AM Bug #17775: Backport to fix build failures
merged into ruby_3_0
https://github.com/ruby/ruby/commit/6add6014d8626c4e5f6816030ea651321e6aa044
https://github.com/ruby/ruby/commit/ce06c24b0c1fd9a3e74909886b425feb0af50233
nagachika (Tomoyuki Chikanaga)
04:51 AM Revision 31669960 (git): bump up RUBY_PATCHLEVEL
nagachika (Tomoyuki Chikanaga)
04:43 AM Revision ce06c24b (git): merge revision(s) c32375883a6,48bb0329eb3:
Update for autoconf 2.70
---
configure.ac | 232 +++++++++++++++++------------------
tool/m4/ruby_check_builtin_setjmp.m4 | 8 +-
tool/m4/ruby_check_printf_prefix.m4 | 9 +-
...
nobu (Nobuyoshi Nakada)
04:43 AM Revision 6add6014 (git): merge revision(s) a3851d97ede:
Removed unused AC_CHECKING
---
configure.ac | 7 -------
1 file changed, 7 deletions(-)
nobu (Nobuyoshi Nakada)
04:40 AM Revision df0f60b6 (git): spec/ruby/library/matrix/: Change the version guard to 3.1.0
[Bug #17521] won't be backported until 3.1.0.
https://github.com/ruby/spec/pull/832
mame (Yusuke Endoh)
03:41 AM Bug #17759: Correct `ioctl_req_t` for musl
Hi @xtkoba
Are you ineterested in becoming a Ruby commiter?
At least, @nobu and I want you to have a commit bit.
If you don't mind, we will recommend that we add you as a committer.
mame (Yusuke Endoh)
03:22 AM Bug #17803: Segmentation fault during deflate
xtkoba (Tee KOBAYASHI) wrote in #note-2:
> Maybe reproducible by spawning hundreds of threads each of which calls deflate.
Yeah, I could reproduce the issue by the following script.
```
require "zlib"
zd = Zlib::Deflate.new
...
mame (Yusuke Endoh)
02:20 AM Bug #17803: Segmentation fault during deflate
Although I am not sure, this looks like a thread-safety issue. Maybe reproducible by spawning hundreds of threads each of which calls deflate. xtkoba (Tee KOBAYASHI)
03:10 AM Bug #17521: [Matrix stdlib] Zero matrix to the power of zero
Since `matrix` is a gem that can be updated independently from Ruby, I think backports are not required. In addition, this bug is very minor. marcandre (Marc-Andre Lafortune)
01:50 AM Bug #17521: [Matrix stdlib] Zero matrix to the power of zero
Even though nobody filled the Backport field yet, I will set "WONTFIX".
Such a long long standing bug could be thought as an spec, and some application could be depended by current behavior.
usa-san, do you have any opinion?
And the...
nagachika (Tomoyuki Chikanaga)
02:14 AM Revision 92545977 (git): [Doc] Add Hash#value? into call-seq (#4293)
kachick (Kenichi Kamiya)
01:34 AM Bug #17804: Math.cbrt(0.0) returns NaN
FWIW, that code was introduced by commit commit:c995315153f7403636ec0d6119b7885668b32039. xtkoba (Tee KOBAYASHI)
01:17 AM Bug #17804 (Closed): Math.cbrt(0.0) returns NaN
Math.cbrt(0.0) returns NaN. It should return 0.0.
From reading the implementation, I expect this bug to happen only if glibc is in use. The failing section reads:
#if defined __GLIBC__
if (isfinite(r)) {
r = (2.0 * r + (f / ...
chasonr (Ray Chason)
01:29 AM Bug #17735: `Hash#transform_keys!` drops non evaluated keys
ruby_3_0 84d9a9afc0b49d095541acb9832f8b12fb506e19 merged revision(s) 31e0382723bfb35cffe3ca485dd0577668cafa07,5e5fb72f99701dc27c66ab148471893f14e6d6f0,fb6ebe55d91187d9635e0183d47dbf38e95b1141,522d4cd32f7727886f4fcbc28ed29c08d361ee20. nagachika (Tomoyuki Chikanaga)
01:25 AM Revision 84d9a9af (git): merge revision(s) 31e0382723bfb35cffe3ca485dd0577668cafa07,5e5fb72f99701dc27c66ab148471893f14e6d6f0,fb6ebe55d91187d9635e0183d47dbf38e95b1141,522d4cd32f7727886f4fcbc28ed29c08d361ee20: [Backport #17735]
Keep non evaluated keys in `Hash#transform_keys!` [Bug #17735]
---
hash.c | 6 +++++-
spec/ruby/core/hash/transform_keys_spec.rb | 12 +++++++++++-
test/ruby/test_has...
nagachika (Tomoyuki Chikanaga)
12:55 AM Bug #17779: 特定の順序でHashのkeyを削除した場合に Hash#first が遅くなる
I think this is a performance thing.
If there are any real world application affected by this issue, please let me know.
nagachika (Tomoyuki Chikanaga)
12:49 AM Bug #17639: TYPO in define constant
The fix was already backported at 3e67bfe202d6b410375af990ac806f15cb2df762. nagachika (Tomoyuki Chikanaga)
12:46 AM Revision d5a34e1b (git): merge revision(s) fbbc37dc1d5b329777e6d9716118db528ab70730: [Backport #17802]
test/drb/test_drb.rb: Specify the host of DRbServer
to try fixing the following error.
http://rubyci.s3.amazonaws.com/opensuseleap/ruby-master/log/20210407T063004Z.log.html.gz
```
[ 605/21105] DRbTests:...
nagachika (Tomoyuki Chikanaga)
12:44 AM Revision f057a607 (git): bump teeny version to 3.0.2.
nagachika (Tomoyuki Chikanaga)

04/14/2021

07:16 PM Bug #17801: repeated read from PTY blocks all Fibers
ioquatix (Samuel Williams) wrote in #note-1:
> Investigating.
Hello Samuel, if found the following:
**A read on a PTY master which is not ready seems to block all fibers.**
I think not ready - means 0 Bytes to read, which can be checked...
pebauer (peter bauer)
06:28 PM Feature #17790: Have a way to clear a String without resetting its capacity
> Maybe String#capacity and String#capacity= would make sense?
Using `capacity=` for the method name would set the assumption that the capacity is exactly that after the call. However, with embedded strings, the capacity would be fix...
dylants (Dylan Thacker-Smith)
05:51 PM Revision d9a52813 (git): * 2021-04-15 [ci skip]
git[bot]
05:51 PM Revision b190f6ef (git): [ruby/matrix] Fix a typo in a error message
universato (Yoshimine Sato)
02:34 PM Bug #17803: Segmentation fault during deflate
You should add this as an issue to the zlib repository: https://github.com/ruby/zlib/issues
However, before doing so, please prepare a minimal self contained example that does not use any third-party C extension gems.
jeremyevans0 (Jeremy Evans)
02:19 PM Bug #17803 (Closed): Segmentation fault during deflate
Hi there,
I've been running on a lot of crash when using permessage_deflate gem for websocket that uses the zlib deflate method built into ruby.
These happen during C_FUNC :deflate, 3-4 times a day.
This is on my Mac Mini M1. The ...
maximeg (Maxime Garcia)
07:34 AM Feature #17795: Around `Process.fork` callbacks API
I updated the description with:
- Added the third hook (after fork in parent) on @ko1's demand.
- Added links to similar feature in C and Python.
- Added pseudo-code of the implementation.
- Added precision about not being ...
byroot (Jean Boussier)
06:06 AM Feature #17795: Around `Process.fork` callbacks API
For debugger, I also want to use.
I want to use 3 hooks like `pthread_atfork`.
ko1 (Koichi Sasada)
04:45 AM Bug #6391 (Closed): Segment Fault while execute make_encmake.rb for Ruby 1.9.3 P194 ( MinGW64)
Ruby 1.9 is EOL today. hsbt (Hiroshi SHIBATA)
02:30 AM Bug #17802 (Closed): backport fbbc37dc1d5b329777e6d9716118db528ab70730 to 2.7 and 3.0
ruby_2_7 and ruby_3_0 snapshot test fails during drb test suite.
https://github.com/ruby/actions/actions/runs/745769172
Backporting commit:fbbc37dc1d5b329777e6d9716118db528ab70730 will fix the issue.
(I'm unsure why it doesn't o...
mame (Yusuke Endoh)
01:00 AM Feature #17752: Enable -Wundef for C extensions in repository
Thanks to user:shyouhei's work, we are now able to notice undefined identifiers evaluated in `#if` directives using GCC with `-Wundef`.
I attach an additional patch that fixes undefined identifiers from being evaluated.
Note that t...
xtkoba (Tee KOBAYASHI)

04/13/2021

10:22 PM Feature #17795: Around `Process.fork` callbacks API
~~@mame I'm afraid I don't have the permission to edit my own tickets.~~ Nevermind. byroot (Jean Boussier)
04:32 PM Feature #17795: Around `Process.fork` callbacks API
@byroot I see, thanks! I think that the intended behavior of the proposed APIs is valuable to be explained in the ticket description. mame (Yusuke Endoh)
03:17 PM Feature #17795: Around `Process.fork` callbacks API
> what process calls the after_fork hook? Only parent, only child, or both?
The `child`. But I agree that a better naming could be found to avoid that confusion. I don't have an idea just yet, but I'll think about it.
> ...
From th...
byroot (Jean Boussier)
02:46 PM Feature #17795: Around `Process.fork` callbacks API
> Do people actually fork in the middle of a transaction?
I think the most likely case is if the transaction is unrelated to the fork. Let's say your web backend handles every request inside a transaction. If somewhere in there you fo...
Dan0042 (Daniel DeLorme)
02:36 PM Feature #17795: Around `Process.fork` callbacks API
I'd like to make sure: what process calls the `after_fork` hook? Only parent, only child, or both?
In the previous ticket #5446, `atfork_parent` and `atfork_child` were discussed. Is the distinguishment not needed?
mame (Yusuke Endoh)
11:16 AM Feature #17795: Around `Process.fork` callbacks API
@byroot Thanks for the new issue, this seems much clearer than the previous one :)
jeremyevans0 (Jeremy Evans) wrote in #note-5:
> If a library starts using a `before_fork` or `after_fork` hook to close connections automatically, it bre...
Eregon (Benoit Daloze)
10:52 AM Feature #17795: Around `Process.fork` callbacks API
@jeremyevans0 I understand your point, and I agree that in an ideal world this wouldn't be necessary.
However pragmatically speaking, `getpid(2)` checks are about as old as `fork(2)`. Even the [`glibc` changelog](https://sourceware.or...
byroot (Jean Boussier)
02:32 AM Feature #17795: Around `Process.fork` callbacks API
The main issue I see with this is the potential for misuse. If I could be sure this would only be used by applications and not libraries, it seems reasonable. However, I suspect the main usage will be libraries, and it's not really pos... jeremyevans0 (Jeremy Evans)
01:32 AM Feature #17795: Around `Process.fork` callbacks API
Python provides `os.register_at_fork` API for registering callbacks which are called on both before and after fork.
Especially after-fork, it enables to register callbacks for parent and child processes, separately.
See https://docs.py...
mrkn (Kenta Murata)
09:30 PM Bug #17800 (Third Party's Issue): Cannot disable SMTP TLS through mail library
Looks like you are referring to the mail gem, which is not part of Ruby itself: https://github.com/mikel/mail/blob/8fbb17d4d5364c77cc870769d451bc2739b3a8ce/lib/mail/network/delivery_methods/smtp.rb#L112
You could try submitting an iss...
jeremyevans0 (Jeremy Evans)
07:14 PM Bug #17800 (Third Party's Issue): Cannot disable SMTP TLS through mail library

Net::SMTP now defaults to automatic TLS; the **mail** interface hasn't been updated to reflect this. It will turn TLS on or to automatic if requested, but has no way to turn it off if requested, because it assumes that it defaults to o...
MarkTheStrange (Mark Reed)
08:05 PM Bug #17801: repeated read from PTY blocks all Fibers
expected output from script on cli:
date
Di 13 Apr 2021 21:51:20 CEST
test
date
Di 13 Apr 2021 21:51:21 CEST
test
pebauer (peter bauer)
07:51 PM Bug #17801: repeated read from PTY blocks all Fibers
Investigating. ioquatix (Samuel Williams)
07:31 PM Bug #17801 (Closed): repeated read from PTY blocks all Fibers
Ruby version:
ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-linux]
used Scheduler:
https://github.com/ruby/ruby/blob/master/test/fiber/scheduler.rb
Example Code which should work:
```
require 'pty'
require "./sched...
pebauer (peter bauer)
07:10 PM Bug #17799: Seg fault in rb_class_clear_method_cache
My explanation in #note-1 is partly incorrect. What is wrongfully 0 is the value of the class itself, not the class serial. xtkoba (Tee KOBAYASHI)
06:49 PM Bug #17799: Seg fault in rb_class_clear_method_cache
My observation is that the function rb_class_clear_method_cache is called with argument klass=0, which clearly causes a null pointer dereference at vm_method.c:66. There seems to be a bug in other place of the code (including third-party... xtkoba (Tee KOBAYASHI)
05:28 PM Bug #17799 (Feedback): Seg fault in rb_class_clear_method_cache
Recently our CI tests have been intermittently failing with segmentation faults at random points, such as:
```
/builds/gitlab-org/security/gitlab/spec/support/shared_examples/requests/api/issues/merge_requests_count_shared_examples.r...
stanhu (Stan Hu)
04:35 PM Feature #17753: Add Module#namespace
BTW, you all know AS has this concept right? https://github.com/rails/rails/blob/f1e00f00295eb51a64a3008c7b1f4c4f46e902e3/activesupport/lib/active_support/core_ext/module/introspection.rb#L20-L37
We say "according to its name", have the...
fxn (Xavier Noria)
11:50 AM Feature #17753: Add Module#namespace
The lexical parent module happens to be just the object from which you set the name, which does not even reflect the scope/nesting at assignment time (as you know):
```ruby
module A::B
module X::Y
class C
name # => "X::Y::C"...
fxn (Xavier Noria)
10:57 AM Feature #17753: Add Module#namespace
I see, the name `namespace` is what we're disagreeing on.
Maybe you have another suggestion for the name of that method?
Maybe `outer_module`/`outer_scope` would work too, but I feel `namespace` is nicer.
All these 3 names imply som...
Eregon (Benoit Daloze)
10:01 AM Feature #17753: Add Module#namespace
Oh, let me say something explicitly: You guys are Ruby committers, you are the ones that have the vision for what makes sense in the language.
I am raising a flag because this does not square to me, and makes me feel it is introducing...
fxn (Xavier Noria)
09:46 AM Feature #17753: Add Module#namespace
To me, the ability of a namespace being namespace of itself
```ruby
m = Module.new
m::M = m
```
is one clear indicator that the name is not quite right. That is not the kind of property you expect a namespace to have. And it is not qui...
fxn (Xavier Noria)
09:37 AM Feature #17753: Add Module#namespace
BTW, we were discussing yesterday with Aaron that the flag I am raising is about the name `namespace`. What we are defining given a class object is:
1. If the class object is anonymous, return `nil`.
2. Otherwise, it was assigned to a c...
fxn (Xavier Noria)
09:29 AM Feature #17753: Add Module#namespace
> It's also a way to inform the user where that constant lives. The contents of the string have meaning.
The numerous people that have had to deal with stale objects in Rails for years know that is not entirely true. The class objects h...
fxn (Xavier Noria)
03:07 PM Misc #17734: DevelopersMeeting20210416Japan
* [Feature #17016] Add `Enumerable#accumulate` (parkerfinch)
* Is the name `#accumulate` acceptable?
* Is this feature ok to add?
parker (Parker Finch)
02:51 PM Feature #17016: Enumerable#accumulate
I like `#accumulate`, and thank you @nobu for an implementation [here](https://github.com/ruby/ruby/pull/3361)!
Is there anything I can do to help us come to a decision on this one?
parker (Parker Finch)
02:30 PM Feature #5446 (Closed): at_fork callback API
byroot (Jean Boussier) wrote in #note-52:
> @mame I created https://bugs.ruby-lang.org/issues/17795, let me know if it makes sense to you, in which case I'll update my developer meeting request.
Thank you, it is very clear!
I'm cl...
mame (Yusuke Endoh)
01:37 PM Revision 4eefb057 (git): Add RSymbol struct back into RVALUE
Commit 0ca714fa1aa3fbe4fb60ae1e5b730e544dabc27b removed RSymbol from
RVALUE. This commit adds RSymbol back into RVALUE.
Peter Zhu
01:37 PM Feature #17798 (Closed): exception in finalizer
https://docs.ruby-lang.org/ja/latest/method/ObjectSpace/m/define_finalizer.html に
> proc の呼び出しで発生した大域脱出(exitや例外)は無視されます。これは、スクリプトのメイン処理が GC の発生によって非同期に中断されるのを防ぐためです。不安なうちは -d オプションで事前に例外の発生の有無を確認しておいた方が良いでしょう。
とありますが、メインスレッド以外のスレッド...
znz (Kazuhiro NISHIYAMA)
12:50 PM Feature #17752: Enable -Wundef for C extensions in repository
@xtkoba Your 4 patches look good to me, could you commit them? Eregon (Benoit Daloze)
05:50 AM Revision 393923b5 (git): Inline LONG_LONG conversions
Not only NUM2LL, also LL2NUM, ULL2NUM and NUM2ULL. nobu (Nobuyoshi Nakada)
05:30 AM Revision f8e1bf28 (git): workaround MSVC error
Previous code failed to compile on MSVC. Log:
https://github.com/ruby/ruby/pull/4371/checks?check_run_id=2304484466
This is possibly due to the fact that:
1. `Data_Wrap_Struct(...)` appears in a source code
2. which expands to `rb_data...
shyouhei (Shyouhei Urabe)
05:30 AM Revision 6413dc27 (git): dependency updates
shyouhei (Shyouhei Urabe)
05:30 AM Revision f411fcd1 (git): get rid of #pragma GCC diagnostic ignored "-Wundef"
Use of TOKEN_PASTE was a bad idea at the first place. Just use ##
everywhere. Nobody practically lacks token pasting.
shyouhei (Shyouhei Urabe)
04:12 AM Revision 6878d517 (git): * 2021-04-13 [ci skip]
git[bot]
03:49 AM Feature #17797: MIPS support for addr2line.c
Could you please commit it yourself? mame (Yusuke Endoh)
02:59 AM Feature #17797 (Open): MIPS support for addr2line.c
In MIPS ELF, DWARF sections are of type `MIPS_DWARF`, not `PROGBITS`.
The attached patch modifies `addr2line.c` so that it prints file:lineno information correctly for MIPS ELF.
xtkoba (Tee KOBAYASHI)
03:05 AM Revision 12f7ba5e (git): Make String#crypt ractor-safe
nobu (Nobuyoshi Nakada)

04/12/2021

05:29 PM Feature #17753: Add Module#namespace
I think those edge cases are pretty rare.
Module#namespace would refer to the lexical parent when the module is created (with `module Name`) or when first assigned to a constant (`Name = Module.new`).
The first example of https://bug...
Eregon (Benoit Daloze)
03:28 PM Feature #17753: Add Module#namespace
> Yes, c.name is "X::C", but as I said above, that is just a string.
It's also a way to inform the user where that constant lives. The contents of the string have meaning.
> ...
This would work if I could trust the `name` method o...
tenderlovemaking (Aaron Patterson)
05:07 PM Bug #17796 (Third Party's Issue): ruby does not compile with openssl-alpha14
Yes. Work for this is being tracked at: https://github.com/ruby/openssl/issues/369 rhenium (Kazuki Yamaguchi)
04:46 PM Bug #17796: ruby does not compile with openssl-alpha14
This is probably a duplicate of #17628. xtkoba (Tee KOBAYASHI)
04:42 PM Bug #17796 (Third Party's Issue): ruby does not compile with openssl-alpha14
ruby does not compile with openssl-alpha14
make[2]: Entering directory '/usr/src/photon/BUILD/ruby-2.7.1/ext/-test-/array/resize'
In file included from ../.././include/ruby.h:33,
from ossl.h:16,
fr...
satya-rajesh (Satya vasamsetty)
02:59 PM Feature #17795: Around `Process.fork` callbacks API
byroot (Jean Boussier) wrote in #note-2:
> > Afaik the proper way to do this is to close the connection after the fork.
> ...
It seems quite easy to demonstrate otherwise:
```ruby
# with Sequel and mysql2
DB["select rand()"].first...
Dan0042 (Daniel DeLorme)
02:12 PM Feature #17795: Around `Process.fork` callbacks API
> Afaik the proper way to do this is to close the connection after the fork.
No before. Otherwise the connection is "shared" and closing it in the children cause issues for the connections in the parent.
> ...
Maybe your glibc is q...
byroot (Jean Boussier)
01:24 PM Feature #17795: Around `Process.fork` callbacks API
> Most database clients, ORMs or other libraries keeping a connection pool might need to close connections before the fork happens.
Am I missing something? Afaik the proper way to do this is to close the connection _after_ the fork. O...
Dan0042 (Daniel DeLorme)
08:09 AM Feature #17795 (Closed): Around `Process.fork` callbacks API
Replaces: https://bugs.ruby-lang.org/issues/5446
### Context
Ruby code in production is very often running in a forking setup (puma, unicorn, etc), and it is common some types of libraries to need to know when the Ruby process was ...
byroot (Jean Boussier)
01:47 PM Revision df7efdcb (git): Get rid of LONG_LONG redefinition
nobu (Nobuyoshi Nakada)
08:09 AM Feature #5446: at_fork callback API
@mame I created https://bugs.ruby-lang.org/issues/17795, let me know if it makes sense to you, in which case I'll update my developer meeting request. byroot (Jean Boussier)
07:52 AM Feature #5446: at_fork callback API
byroot (Jean Boussier) wrote in #note-50:
> @mame I'll do it.
Thanks!
mame (Yusuke Endoh)
06:52 AM Feature #5446: at_fork callback API
@mame I'll do it. byroot (Jean Boussier)
05:30 AM Feature #5446: at_fork callback API
Can anyone summarize the latest proposal? I cannot understand what is needed precisely. I'm afraid if some people see only the name "at_fork", and do not share the context.
What event should be hooked? Only a call to Kernel#fork and P...
mame (Yusuke Endoh)
06:58 AM Bug #17793 (Closed): `shorten-64-to-32` error for 32-bit Android due to `struct stat` definition
Applied in changeset commit:git|a5688b5ce6e87a5b881a4d52d4e59b6fe807e807.
----------
Support non-standard `struct stat` [Bug #17793]
On 32-bit Android:
* `st_dev`/`st_rdev` are not `dev_t`
* `st_mode` is not `mode_t`
nobu (Nobuyoshi Nakada)
06:56 AM Bug #17793: `shorten-64-to-32` error for 32-bit Android due to `struct stat` definition
With the patch in #note-6 applied, `file.c` is compiled without any error or warning (including `-Wundef`) for armv7a- and aarch64-android. xtkoba (Tee KOBAYASHI)
06:36 AM Bug #17793: `shorten-64-to-32` error for 32-bit Android due to `struct stat` definition
Patch updated. nobu (Nobuyoshi Nakada)
06:00 AM Bug #17793: `shorten-64-to-32` error for 32-bit Android due to `struct stat` definition
It makes no difference because neither `SIZEOF_DEVT` nor `SIZEOF_DEV_T` is defined on Android (both for 32- and 64-bit). Is this as expected?
For armv7a-android16:
```
$ clang (...snip...) -o file.o -c ../file.c -Wundef
../file.c:5...
xtkoba (Tee KOBAYASHI)
05:48 AM Bug #17793: `shorten-64-to-32` error for 32-bit Android due to `struct stat` definition
All `SIZEOF_DEVT` were typo. nobu (Nobuyoshi Nakada)
05:30 AM Bug #17793: `shorten-64-to-32` error for 32-bit Android due to `struct stat` definition
Sorry, the second patch had a typo, `SIZEOF_DEVT` should be `SIZEOF_DEV_T`.
Is it fine?
nobu (Nobuyoshi Nakada)
04:55 AM Bug #17793: `shorten-64-to-32` error for 32-bit Android due to `struct stat` definition
user:nobu Thanks, it builds for armv7a-android without error or format warning. xtkoba (Tee KOBAYASHI)
03:53 AM Bug #17793: `shorten-64-to-32` error for 32-bit Android due to `struct stat` definition
Do these work?
```diff
diff --git i/configure.ac w/configure.ac
index 6fe43bfc8dd..f08597a007c 100644
--- i/configure.ac
+++ w/configure.ac
@@ -1703,6 +1703,10 @@ AS_IF([test "$ac_cv_member_struct_stat_st_blocks" = yes], [
RUBY_CHE...
nobu (Nobuyoshi Nakada)
06:58 AM Revision 59171378 (git): * 2021-04-12 [ci skip]
git[bot]
06:32 AM Revision a5688b5c (git): Support non-standard `struct stat` [Bug #17793]
On 32-bit Android:
* `st_dev`/`st_rdev` are not `dev_t`
* `st_mode` is not `mode_t`
nobu (Nobuyoshi Nakada)
04:23 AM Bug #17794 (Closed): addr2line.c can free(3) an invalid pointer without zlib
When built without zlib (`./configure ac_cv_lib_z_uncompress=no`), `ruby` aborts immediately after C level backtrace information is printed.
```
$ ruby -e 'Process.kill :SEGV, $$'
-e:1: [BUG] Segmentation fault at 0x000003e8000052ac...
xtkoba (Tee KOBAYASHI)
01:29 AM Feature #17790: Have a way to clear a String without resetting its capacity
What about `buffer.clear(capacity: 1024)`
Or maybe even `buffer.clear(capacity: 1024..8192)`
I think that's more straightforward than separate `clear` and `resize` operations.
Dan0042 (Daniel DeLorme)

04/11/2021

05:39 PM Bug #17793 (Closed): `shorten-64-to-32` error for 32-bit Android due to `struct stat` definition
[Here is a failure log for armv7a-android from CI.](http://rubyci.s3.amazonaws.com/crossruby/crossruby-master-armv7a-android30/log/20210411T143751Z.fail.html.gz)
This failure is because `struct stat` for 32-bit Android is defined as f...
xtkoba (Tee KOBAYASHI)
01:02 PM Bug #16651 (Closed): Extensions Do Not Compile on Mingw64 with mingw32-make
Applied in changeset commit:git|799ea1d1540aca03542ee31647052343507a4b41.
----------
mkmf.rb: convert also arch_hdrdir [Bug #16651]
nobu (Nobuyoshi Nakada)
01:02 PM Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
MinGW on MSys build is cross compilation.
No reason to use `mingw32-make`, which isn't for the build OS.
nobu (Nobuyoshi Nakada)
12:59 PM Revision 799ea1d1 (git): mkmf.rb: convert also arch_hdrdir [Bug #16651]
nobu (Nobuyoshi Nakada)
10:14 AM Bug #17779 (Closed): 特定の順序でHashのkeyを削除した場合に Hash#first が遅くなる
Applied in changeset commit:git|9f9045123efefbd11dd397b4d59596290765feec.
----------
st.c: skip all deleted entries [Bug #17779]
Update the start entry skipping all already deleted entries.
Fixes performance issue of `Hash#first` in a ...
tompng (tomoya ishida)
10:05 AM Revision 9f904512 (git): st.c: skip all deleted entries [Bug #17779]
Update the start entry skipping all already deleted entries.
Fixes performance issue of `Hash#first` in a certain case.
tompng (tomoya ishida)
07:08 AM Feature #17724 (Assigned): Make the pin operator support instance/class/global variables
ktsj (Kazuki Tsujimoto)
04:21 AM Revision 60bdf03b (git): [DOC] Adjusted spacing [ci skip]
nobu (Nobuyoshi Nakada)
04:18 AM Revision 37b96d67 (git): sync_default_gems.rb: merge only files named as each gem
nobu (Nobuyoshi Nakada)
01:40 AM Feature #17786: Proposal: new "ends" keyword
jzakiya (Jabari Zakiya) wrote in #note-13:
> The examples I provided show the intent of what its use is for, which is to provide one termination point for a string of consecutive ``end`` statements, and nothing more.
We understand yo...
duerst (Martin Dürst)
12:59 AM Revision dbdd8c2d (git): sync_default_gems.rb: ignore rakelib [ci skip]
nobu (Nobuyoshi Nakada)
12:06 AM Revision ec015878 (git): Revert "[ruby/optparse] No document in rakelib" [ci skip]
This reverts commit bd7430c7aacd135419609eec72e3889cd00a6f73.
No rakelib in ruby itself.
nobu (Nobuyoshi Nakada)
12:03 AM Revision f8948696 (git): [ruby/optparse] Moved rdoc files to doc/optparse
https://github.com/ruby/optparse/commit/cccb28e0de nobu (Nobuyoshi Nakada)

04/10/2021

11:52 PM Revision cb01437c (git): [ruby/optparse] Fix relative paths
https://github.com/ruby/optparse/commit/8be031b539 nobu (Nobuyoshi Nakada)
11:52 PM Revision bd7430c7 (git): [ruby/optparse] No document in rakelib
https://github.com/ruby/optparse/commit/4ff48f24c9 nobu (Nobuyoshi Nakada)
11:52 PM Revision 1bad4bdf (git): [ruby/optparse] More on tutorial (#16)
- Added example in "Argument Converters"; it doesn't seem right for a tutorial to have no example in one of its topics (and instead just linking elsewhere).
- Added section "Command-Line Abbreviations."
- Added section "Keyword Arg...
burdettelamar (Burdette Lamar)
11:52 PM Revision ff0dac18 (git): [ruby/optparse] Rdoc (#15)
* Resolve shared mixed_names.rb
* Add long option with negation
* Show --help for all examples
* Table of contents for tutorial
* Move argument converters to separate rdoc
* Add references to argument_converters.rdoc
* Tune up argu...
burdettelamar (Burdette Lamar)
11:52 PM Revision c795f30e (git): [ruby/optparse] Reorganize Ruby example files for sharing (#14)
https://github.com/ruby/optparse/commit/9a2352c1c9 burdettelamar (Burdette Lamar)
11:40 PM Revision 97abd0f6 (git): * 2021-04-11 [ci skip]
git[bot]
11:37 PM Revision f60fba03 (git): Make sure to mention ext/Setup is optional
This step confused me when trying to compile Ruby after 5 years, so it
should be avoided unless you need static linking.
zzak (zzak _)
08:45 PM Feature #17753: Add Module#namespace
Also, in case my comments above are too generic, let's take the use case in the description of the ticket:
> I can do A::B::C.outer_scope.constants to find the list of "sibling" constants to C.
Let's consider
```ruby
module A
module...
fxn (Xavier Noria)
10:54 AM Feature #17753: Add Module#namespace
Let me add some edge cases that are possible, also for the archives:
```ruby
module M
module N
end
end
M::N.namespace # => A::B::C, constant M stores the same object as A::B::C
```
```ruby
M.namespace # => M, module is namespace ...
fxn (Xavier Noria)
10:35 AM Feature #17753: Add Module#namespace
I like the direction this is going towards, however, let me record some remarks for the archives.
Java has namespaces. Ruby does NOT have namespaces. That first sentence in the module docs, also present in books, is a super naive entry ...
fxn (Xavier Noria)
08:17 PM Bug #17792: make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
The test code took almost two minutes to run, and it failed:
```
# TEST RESULTS:
pi> ruby test.rb
:foo
test.rb:13:in `copy_stream': Interrupt
from test.rb:13:in `<main>'
# LINE 13: IO.copy_stream(r1, w2) rescue nil
# TEST CODE:
at_e...
hanlyusarang (Hanlyu Sarang)
07:56 PM Bug #17792: make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
The test code at [bootstraptest/test_io.rb:87](https://github.com/ruby/ruby/blob/0fb782ee38ea37fd5fe8b1f775f8ad866a82a3f0/bootstraptest/test_io.rb#L87) is as follows. Try running it separately and see what happens.
```ruby
at_exit { ...
xtkoba (Tee KOBAYASHI)
05:48 PM Bug #17792: make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
Another FYI: The RaspberryPI 4B uses a microSD card (class 10) for the OS and all installed software. I was building Ruby on a 32GB version of this card.
The I/O on a microSD card is much slower than on a 5400 RPM HD, and much, much ...
hanlyusarang (Hanlyu Sarang)
06:28 AM Bug #17792: make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
Sorry for a less informative reply, but Ruby is not yet tested well with 64 bit Raspberry Pi. I have no environment to reproduce the issue. Contribution is welcome.
I see a similar random failure on our CI (raspbian10-aarch64, still b...
mame (Yusuke Endoh)
04:41 AM Bug #17792 (Open): make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
I am building Ruby 3.01 from sources on a RaspberryPI 4B running Ubuntu 20.10 ARM64.
This is my first day using this PI4B + Ubuntu 20.10 ARM64, and this is the first time I have attempted to build Ruby on it.
I received a few notes d...
hanlyusarang (Hanlyu Sarang)
05:04 PM Feature #17785: Allow named parameters to be keywords
My main objection to `local_variable_get` is that it's super verbose / ugly.
> How would you handle `foo(class_, class:)?`
Setting local `class_` would not happen here. It would only happen if not shadowing an existing variable (ex...
marcandre (Marc-Andre Lafortune)
07:47 AM Feature #17785: Allow named parameters to be keywords
> the number of keywords is very low, which means that the cases where using a keyword as an argument name makes sense is also very low.
Variable and keyword names are not purely random though, so I don't think this statistical reason...
byroot (Jean Boussier)
03:20 AM Feature #17785: Allow named parameters to be keywords
duerst (Martin Dürst) wrote in #note-7:
> What about finding something in between the two? E.g. even just introducing `variable_get` as an alias to `binding.local_variable_get` would make this easier to use. And if this really needs opti...
nobu (Nobuyoshi Nakada)
12:06 AM Feature #17785: Allow named parameters to be keywords
I think it's not a good idea to introduce special syntax such as `class_` just for the case where arguments are named with keywords. First, the number of keywords is very low, which means that the cases where using a keyword as an argume... duerst (Martin Dürst)
03:55 PM Feature #17786: Proposal: new "ends" keyword
> Please focus on the intent and purpose, and not semantics.
But we have to decide what the semantics will be in order to specify and implement it! The point of this issue tracker is to debate semantics of proposals.
> ...
Currentl...
chrisseaton (Chris Seaton)
03:43 PM Feature #17786: Proposal: new "ends" keyword
The examples I provided show the intent of what its use is for, which is to provide one termination point for a string of consecutive ``end`` statements, and nothing more.
Python|Nim show they can do this, using whitespace|indentation...
jzakiya (Jabari Zakiya)
03:17 PM Feature #17790: Have a way to clear a String without resetting its capacity
> My feeling is handling the capacity in Ruby code feels wrong and like C++ code.
This is really meant for the few low level places where it matters. For context this came up when trying to optimize a StatsD client, which is quite a hot...
byroot (Jean Boussier)
09:33 AM Feature #17790: Have a way to clear a String without resetting its capacity
I think `clear(shrink: true/false)` would be fine to add.
I'm not sure if it's really needed in practice though.
Eregon (Benoit Daloze)
09:28 AM Feature #17790: Have a way to clear a String without resetting its capacity
byroot (Jean Boussier) wrote in #note-6:
> Maybe `String#capacity` and `String#capacity=` would make sense? But then there's the question of the behavior if you set the capacity to lower than the `size`. Should it truncate? (this could ...
Eregon (Benoit Daloze)
07:05 AM Bug #17787 (Closed): Four AIX build issues with xlc compiler and ruby-3.0.1
Applied in changeset commit:git|3a3033c138c0951ad5edbf02b5c233b58a190d2f.
----------
get rid of using `__builtin_unreachable` directly [Bug #17787]
As it is an independent feature from `clz`, `ctz` and `popcount`,
it might be unavailab...
nobu (Nobuyoshi Nakada)
06:58 AM Bug #17787: Four AIX build issues with xlc compiler and ruby-3.0.1
Those work fine, applied here:
https://github.com/chef/omnibus-software/pull/1328/files#diff-a57a53cdb786ca02b297de88fce6855e7928fc0ff4f7e022d0f22185955da1ea
I ditched all my old patches, combined yours with the existing fdeclspec ...
lamont (Lamont Granquist)
07:05 AM Revision 4a6c7f86 (git): configure: always check for atomic/sync builtins [Bug #17787]
Non-gcc compilers tend to have this intrinsic these days, e.g. xlc
has `__sync` builtins.
nobu (Nobuyoshi Nakada)
07:05 AM Revision 8b7cab70 (git): configure: try `-fdeclspec` option by linking [Bug #17787]
A workaround for `-f` option of AIX xlc compiler which works only
on linking.
nobu (Nobuyoshi Nakada)
07:05 AM Revision c569c298 (git): just redirect preprocessed vm.c to mjit header [Bug #17787]
Not all preprocessors work with output option. nobu (Nobuyoshi Nakada)
07:05 AM Revision 3a3033c1 (git): get rid of using `__builtin_unreachable` directly [Bug #17787]
As it is an independent feature from `clz`, `ctz` and `popcount`,
it might be unavailable even if the latters are built in.
nobu (Nobuyoshi Nakada)
06:18 AM Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
Building io-console with 2.7.2 from RubyInstaller:
```console
$ ruby -v ../src/ext/io/console/extconf.rb
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x64-mingw32]
checking for HAVE_RUBY_FIBER_SCHEDULER_H... no
checking for rb_schedul...
nobu (Nobuyoshi Nakada)
06:06 AM Bug #17791 (Third Party's Issue): Ractor exception when using Nokogiri
nobu (Nobuyoshi Nakada)
03:51 AM Bug #17791 (Rejected): Ractor exception when using Nokogiri
Based on @xtkoba's analysis, closing as this doesn't appear to be a bug in Ruby. jeremyevans0 (Jeremy Evans)
12:40 AM Bug #17791: Ractor exception when using Nokogiri
This is because a function (`read_memory`) in a C extension (`nokogiri.so`) is called which is not marked as ractor-safe (see Feature #17307).
A workaround would be to mark it so, although I don't know if it is truly ractor-safe.
xtkoba (Tee KOBAYASHI)
03:41 AM Revision 6c7d39aa (git): rbinstall.rb: record default gem files
nobu (Nobuyoshi Nakada)
02:59 AM Revision af8ac97f (git): rbinstall.rb: append "/" to directory names
nobu (Nobuyoshi Nakada)
02:57 AM Revision 68a6f6c4 (git): mac: ignore SDKROOT at installation
nobu (Nobuyoshi Nakada)
02:54 AM Revision 0a93a3f4 (git): win32: fix RUBY_RELEASE_DATE in Makefile
As it is overridden by the definition in common.mk, instead define
YEAR, MONTH and DAY which are used there.
This macro is useful for daily build&installation by the
combination with "relative-load", for example:
```sh
$ ./configure --p...
nobu (Nobuyoshi Nakada)

04/09/2021

10:18 PM Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
I suppose it is by luck that `arch_hdrdir` of the form `C:/foo/bar` is not causing problems with `make` from MSYS. In fact, in my environment (not Windows) `gem install rails && rails new foo` succeeds when `VPATH` is modified such that ... xtkoba (Tee KOBAYASHI)
10:05 AM Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
cfis (Charlie Savage) wrote in #note-12:
> VPATH works fine with arch_hdrdir in the form `c:/msys64/etc` - Ruby has been doing that on Windows for many years.
Does it work with different drives too?
nobu (Nobuyoshi Nakada)
07:35 AM Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
VPATH works fine with arch_hdrdir in the form `c:/msys64/etc` - Ruby has been doing that on Windows for many years.
With my proposed fix both msys make and mingw64 make work correctly.
cfis (Charlie Savage)
10:10 PM Bug #17725: Prepend breaks ability to override optimized methods
I've submitted a pull request to fix this: https://github.com/ruby/ruby/pull/4376 jeremyevans0 (Jeremy Evans)
09:45 PM Feature #17790: Have a way to clear a String without resetting its capacity
jean.boussier@gmail.com wrote:
> > so providing a capacity method gives more control over how to expand memory
>
> Agreed. Without also exposing the capacity, my proposed change would be a big footgun.

Yes, rb_str_resize(str, 0...
normalperson (Eric Wong)
09:28 PM Feature #17790: Have a way to clear a String without resetting its capacity
> so providing a capacity method gives more control over how to expand memory
Agreed. Without also exposing the capacity, my proposed change would be a big footgun.
Maybe `String#capacity` and `String#capacity=` would make sense?...
byroot (Jean Boussier)
06:44 PM Feature #17790: Have a way to clear a String without resetting its capacity
If we want `clear` to shrink memory by default, a `shrink: true` keyword argument could be added so the user could override this default with `clear(shrink: false)`. This would make the change less risky, since it wouldn't change the be... dylants (Dylan Thacker-Smith)
06:38 PM Feature #17790: Have a way to clear a String without resetting its capacity
What makes sense probably depends on how long lived the String is and whether there is an upper-bound to how much needs to be stored in it.
For instance, there may be a rare iteration of a loop that adds a lot to the String, which mig...
dylants (Dylan Thacker-Smith)
05:53 PM Feature #17790: Have a way to clear a String without resetting its capacity
I think that some people and libraries might expect that the `#clear` method releases the allocated memory.
This might be useful when e.g. reusing a String as a large buffer and the new usage might need less memory.
Not saying that's a...
Eregon (Benoit Daloze)
01:38 PM Feature #17790: Have a way to clear a String without resetting its capacity
Looks good. I doubt very much that this would be a compatibility concern. marcandre (Marc-Andre Lafortune)
11:30 AM Feature #17790: Have a way to clear a String without resetting its capacity
Proposed patch: https://github.com/ruby/ruby/pull/4373 byroot (Jean Boussier)
10:42 AM Feature #17790 (Open): Have a way to clear a String without resetting its capacity
In some tight loop it can be useful to re-use a buffer string. For instance:
```ruby
buffer = String.new(encoding: Encoding::BINARY, capacity: 1024)
10.times do
build_next_packet(buffer)
udp_socket.send(buffer)
buffer.cle...
byroot (Jean Boussier)
09:24 PM Feature #16816: Prematurely terminated Enumerator should stay terminated
I prepared a commit to fix this: https://github.com/jeremyevans/ruby/commit/851534bbffd87c79bb63e8df36d6a47cc821aef0
Unfortunately, it breaks a CSV test:
```
1) Failure:
TestCSVParseInvalid#test_ignore_invalid_line [/home/runne...
jeremyevans0 (Jeremy Evans)
09:10 PM Revision 836da24e (git): Fix symbol export.
Samuel Williams
09:07 PM Feature #17785: Allow named parameters to be keywords
I’ll also say I like byroot’s idea, especially as bare `\VALUE`
currently throws a SyntaxError.
austin (Austin Ziegler)
05:59 PM Feature #17785: Allow named parameters to be keywords
I like @byroot's idea to solve the more general issue and not just this specific instance.
marcandre (Marc-Andre Lafortune) wrote in #note-3:
> Clearly, `class_` is much simpler and much faster than `binding.local_variable_get(:class...
Eregon (Benoit Daloze)
01:04 PM Feature #17785: Allow named parameters to be keywords
Arguably it's a bit of a stretch, but how would you handle: `foo(class_, class:)`?
What if instead of mangling the variable name, there would be a way to tell the parser to interpret the next word as a regular name rather than a keywo...
byroot (Jean Boussier)
06:18 PM Feature #17762: A simple way to trace object allocation
byroot (Jean Boussier) wrote in #note-15:
> I understand the concern. A `require` always seem more harmless than a method call. But being able to enable tracing with a require allow to enable it without modifying the code through: `RUBY...
Eregon (Benoit Daloze)
05:48 PM Revision ff43ecc0 (git): * 2021-04-10 [ci skip]
git[bot]
05:44 PM Revision 9c31fb61 (git): Fix documentation for Enumerator::Lazy#with_index
If a block is given, it returns a lazy enumerator that will iterate
over the block, it doesn't iterate over the block immediately.
Fixes [Bug #17789]
jeremyevans (Jeremy Evans)
05:23 PM Bug #17571 (Closed): prependしたArray#[] が反映されない
I tested with the master branch and Ruby 3.0.1, and this problem appears fixed. jeremyevans0 (Jeremy Evans)
02:33 PM Bug #17789 (Closed): Incompatible behavior of Enumarator::Lazy#with_index
This is expected. The behavior has changed. All bug fixes are incompatibilities. jeremyevans0 (Jeremy Evans)
11:03 AM Bug #17789: Incompatible behavior of Enumarator::Lazy#with_index
It means it's no longer compatible with 2.6 or under, isn't it?
Thank you for quick reply!
soudai_s (Soudai Sasada)
09:02 AM Bug #17789: Incompatible behavior of Enumarator::Lazy#with_index
It doesn't ignores the block. It is just lazy to perform it :)
```ruby
%w(a).lazy.with_index { |s, i| puts "#{s} => #{i}" }
# => #<Enumerator::Lazy: ...>
%w(a).lazy.with_index { |s, i| puts "#{s} => #{i}" }.force
# a => 0
```
zverok (Victor Shepelev)
08:46 AM Bug #17789 (Closed): Incompatible behavior of Enumarator::Lazy#with_index
this method ignores the block passed to it, but this behavior looks different from the Enumerator (super class).
```
$ ruby -e '%w(a).lazy.with_index { |s, i| puts "#{s} => #{i}" }'
a => 0 # Expected, but doesn't actually print anyt...
soudai_s (Soudai Sasada)
12:33 PM Bug #17791 (Third Party's Issue): Ractor exception when using Nokogiri
Parsing xml using nokogiri:
``` ruby
doc = Nokogiri.XML('<foo><bar /></foo>', nil, 'EUC-JP')
```
Suppose I want to parse 4 xmls with 4 ractors, it will raise an unsafe exception:
```
Ractor::UnsafeError: ractor unsafe method call...
tomanderson (Thomas Ender)
09:04 AM Feature #17752: Enable -Wundef for C extensions in repository
My attempt https://github.com/ruby/ruby/pull/4371 shyouhei (Shyouhei Urabe)
01:32 AM Feature #17752: Enable -Wundef for C extensions in repository
xtkoba (Tee KOBAYASHI) wrote in #note-7:
> I noticed that `-Wundef` is explicitly disabled for GCC at [include/ruby/internal/token_paste.h:40](https://github.com/ruby/ruby/blob/587e6800086764a1b7c959976acef33e230dccc2/include/ruby/inter...
shyouhei (Shyouhei Urabe)
09:00 AM Bug #17787: Four AIX build issues with xlc compiler and ruby-3.0.1
Do these patches work?
https://github.com/ruby/ruby/compare/master...nobu:bug/17787-aix-workarounds
nobu (Nobuyoshi Nakada)
04:05 AM Bug #17787: Four AIX build issues with xlc compiler and ruby-3.0.1
xlc does not identify as GCC:
```
# egrep GCC ./3.0.0/powerpc-aix7.1.5.0/rbconfig.rb
CONFIG["GCC"] = ""
```
```
# egrep gnu config.log
ac_cv_c_compiler_gnu=no
ac_cv_cxx_compiler_gnu=no
rb_cv_prog_gnu_ld=no
```
IF I REM...
lamont (Lamont Granquist)
03:38 AM Bug #17787: Four AIX build issues with xlc compiler and ruby-3.0.1
fdeclspec section is:
```
configure:9228: result: yes
configure:9348: checking whether -fdeclspec is accepted as CFLAGS
configure:9375: xlc_r -q64 -c -q64 -I/opt/chef/embedded/include -D_LARGE_FILES -O -fdeclspec -q64 -I/opt/chef/...
lamont (Lamont Granquist)
07:12 AM Feature #17786: Proposal: new "ends" keyword
I don't think a new keyword is acceptable, because of backward compatibility, ambiguity, and so on.
If it is an issue about looking, it feels an editors' role to me.
For example, like as hide-ifdef mode of Emacs, hide-end mode would ...
nobu (Nobuyoshi Nakada)
06:25 AM Feature #17786: Proposal: new "ends" keyword
Just to be clear, I'd not be against a good way to shorten a series of `end`s into something simpler. But the current proposal is not at all clear on the exact semantics: What gets closed with an `ends`, and what doesn't get closed? In t... duerst (Martin Dürst)
03:52 AM Feature #17786: Proposal: new "ends" keyword
When I read the proposal I had to think about the "ennnnnd" proposal. :)
That one was linked in above:
https://bugs.ruby-lang.org/issues/5054
It's hard to say how serious people are, but I think "ennnnnnnd" was a joke,
while th...
shevegen (Robert A. Heiler)
02:43 AM Feature #17786: Proposal: new "ends" keyword
I agree that this proposal is very unlikely to be successful, but I guess the proposer is serious, so I'm removing "joke" tag. mame (Yusuke Endoh)
06:17 AM Bug #16492: TestBugReporter#test_bug_reporter_add test failures
@mame Yes I will do it!
jaruga (Jun Aruga)
04:59 AM Revision 582f4bc1 (git): test/ruby/test_gc_compact.rb: Use assert_separately for debugging
... the following timeout failure.
http://rubyci.s3.amazonaws.com/rhel_zlinux/ruby-master/log/20210408T213303Z.fail.html.gz
```
[ 8871/21204] TestGCCompact#test_ast_compactstimeout: output interval exceeds 600.0 seconds.
timeout: the pr...
mame (Yusuke Endoh)
02:57 AM Revision 6496c76d (git): [ruby/reline] Add calling Reline::Config#reset_default_key_bindings to #reset, which is forgot to call
aycabta (aycabta .)
01:37 AM Bug #17788: ruby 3.0.0 - compiling c++ extension on alpine fails
Good catch! Patch LGTM. shyouhei (Shyouhei Urabe)
12:17 AM Bug #17788: ruby 3.0.0 - compiling c++ extension on alpine fails
Repro (named `bug17788.cc`):
```c
#include <sys/types.h>
//extern "C" {
void *
ruby_nonempty_memcpy(void *dest, const void *src, size_t n)
{
return dest;
}
//}
#undef memcpy
#define memcpy ruby_nonempty_memcpy
#includ...
xtkoba (Tee KOBAYASHI)
 

Also available in: Atom