Project

General

Profile

Activity

From 01/21/2023 to 01/27/2023

01/27/2023

11:31 PM Feature #19388 (Rejected): Deprecate SecurityError
I think we should deprecate `SecurityError` in Ruby 3.3 and remove it in Ruby 3.4. I think we probably should have deprecated `SecurityError` when `$SAFE` was deprecated, but better late than never.
I've submitted a pull request to d...
jeremyevans0 (Jeremy Evans)
10:04 PM Bug #19386: `test_hmac.rb` of openssl is timeout on RHEL9
> @jaruga (Jun Aruga) if we could confirm that the patch referenced by @rhenium (Kazuki Yamaguchi) is the culprit, we could ask backporting it into 9.1. Not sure what are the chances though.
OK. That makes sense. Let me work for that.
jaruga (Jun Aruga)
08:25 PM Bug #19386: `test_hmac.rb` of openssl is timeout on RHEL9
@jaruga if we could confirm that the patch referenced by @rhenium is the culprit, we could ask backporting it into 9.1. Not sure what are the chances though. vo.x (Vit Ondruch)
03:16 PM Bug #19386: `test_hmac.rb` of openssl is timeout on RHEL9
As a note, CentOS Stream is a downstream Linux distro of the Fedora and the upstream Linux distro of the RHEL. CentOS 9 Stream is the upstream of the RHEL 9. And here is [the opessl RPM package's spec (recipe) file](https://gitlab.com/re... jaruga (Jun Aruga)
03:11 PM Bug #19386: `test_hmac.rb` of openssl is timeout on RHEL9
> I think this is very likely due to https://github.com/openssl/openssl/issues/17261, for which the fix was merged into OpenSSL 3.0.2.
Thanks for sharing the ticket. So, this issue should be fixed with newer version of the openssl in ...
jaruga (Jun Aruga)
02:49 PM Bug #19386: `test_hmac.rb` of openssl is timeout on RHEL9
I think this is very likely due to https://github.com/openssl/openssl/issues/17261, for which the fix was merged into OpenSSL 3.0.2. rhenium (Kazuki Yamaguchi)
02:46 PM Bug #19386: `test_hmac.rb` of openssl is timeout on RHEL9
We have observed similar build failure on RHEL 9.1 system with Ruby 3.2.
I executed a few builds, there were 2 kinds of issues:
1) tests got stuck as observed initially
2) tests failed after memory corruption (varying messages) when...
jprokop (Jarek Prokop)
02:25 PM Bug #19386: `test_hmac.rb` of openssl is timeout on RHEL9
I debugged the issue on the latest master branch `47b66a5acd1511089ac9585371d93e1b5ea07232` on the RHEL 9 instance.
I installed the following RPM packages to compile and debug. The gdb asked the following debuginfo RPM packages are miss...
jaruga (Jun Aruga)
12:38 PM Bug #19386: `test_hmac.rb` of openssl is timeout on RHEL9
Thank you for the report! I just logged in the instance of the RHEL 9 server used for the Ruby CI. Here is the info of the dependencies.
```
[jaruga@rhel9 ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux release 9.1 (Plow)
[jaruga@...
jaruga (Jun Aruga)
05:11 AM Bug #19386 (Closed): `test_hmac.rb` of openssl is timeout on RHEL9
I prepared new test instance of RHEL9 for https://rubyci.org/. But it stuck with openssl tests.
see http://rubyci.s3.amazonaws.com/rhel9/ruby-master/log/20230127T003004Z.fail.html.gz
I did bisect this issue. This issue caused by ht...
hsbt (Hiroshi SHIBATA)
09:06 PM Bug #19255 (Closed): YJIT: global symbol leakage
Applied in changeset commit:git|7d4395cb690c4b6be41bc51b25a8a5cda6210a81.
----------
YJIT: Fix shared/static library symbol leaks
Rust 1.58.0 unfortunately doesn't provide facilities to control symbol
visibility/presence, but we care a...
alanwu (Alan Wu)
09:06 PM Revision 8429134d (git): [rubygems/rubygems] Don't warn on bundler binstubs --standalone --all
Prior to this commit `bundle binstubs --standalone --all` would output a
warning about not being able to generate a standalone binstub for
bundler.
This warning predates the `--all` option, and I don't think it makes
sense in this conte...
dodecadaniel (Daniel Colson)
09:05 PM Bug #19383: Time.now.zone encoding for German display language in Windows is incorrect
The top level status of this bug says "Closed" but last updated status says "Feedback". Can anyone clarify? stringsn88keys (Thomas Powell)
01:48 PM Bug #19383: Time.now.zone encoding for German display language in Windows is incorrect
nobu (Nobuyoshi Nakada) wrote in #note-4:
> What are:
> ...
chcp.com output:
`"Aktive Codepage: 437."` (`"Active code page: 437"` on English display language.)
Encoding.locale_charmap # => "CP437" (German and English)
stringsn88keys (Thomas Powell)
01:22 PM Bug #19383: Time.now.zone encoding for German display language in Windows is incorrect
Maybe msvcrt converts timezone names to ACP, not ConsoleCP.
If so, this patch may work, but I have no idea how to test this in a CI.
```diff
diff --git i/time.c w/time.c
index 9c4c93939e0..2e1a2dca29b 100644
--- i/time.c
+++ w/time.c
@@...
nobu (Nobuyoshi Nakada)
07:08 AM Bug #19383 (Feedback): Time.now.zone encoding for German display language in Windows is incorrect
What are:
* the output from `chcp.com` command
* `Encoding.locale_charmap`
?
nobu (Nobuyoshi Nakada)
02:49 AM Bug #19383: Time.now.zone encoding for German display language in Windows is incorrect
Yes, I mean cmd.exe or any other windows command-line. I repeat, that it has been *years* since I have used Windows in any serious manner, but this was the absolute *bane* of my existence, and process *boundaries* on Windows were nightma... austin (Austin Ziegler)
08:17 PM Bug #19379: Regex: "end pattern with unmatched parenthesis" with Ruby 3.2 and interpolation
jeremyevans0 (Jeremy Evans) wrote in #note-6:
> mame (Yusuke Endoh) wrote in #note-5:
> ...
Should be fixed by https://github.com/ruby/ruby/pull/7192
jeremyevans0 (Jeremy Evans)
03:48 PM Bug #19379: Regex: "end pattern with unmatched parenthesis" with Ruby 3.2 and interpolation
mame (Yusuke Endoh) wrote in #note-5:
> I wonder if this is due to #18294, not #19104. @jeremyevans0 What do you think?
I agree. #18294 doesn't handle `/(?-x:...)/` inside an extended regular expression as non-extended syntax. I'll ...
jeremyevans0 (Jeremy Evans)
07:15 AM Bug #19379: Regex: "end pattern with unmatched parenthesis" with Ruby 3.2 and interpolation
I wonder if this is due to #18294, not #19104. @jeremyevans0 What do you think? mame (Yusuke Endoh)
12:47 AM Bug #19379: Regex: "end pattern with unmatched parenthesis" with Ruby 3.2 and interpolation
I think minimal case is `/(?-x:#)/x`. znz (Kazuhiro NISHIYAMA)
12:44 AM Bug #19379: Regex: "end pattern with unmatched parenthesis" with Ruby 3.2 and interpolation
```
% docker run --platform linux/amd64 --rm -it ghcr.io/ruby/all-ruby env ALL_RUBY_SINCE=ruby-3.0 ./all-ruby -e 'r=/#/;p /#{r}/x'
ruby-3.0.0 /(?-mix:#)/x
...
ruby-3.2.0-preview1 /(?-mix:#)/x
ruby-3.2.0-preview2 -e:1:in ...
znz (Kazuhiro NISHIYAMA)
07:32 PM Bug #19387: ObjectSpace.each_objects only returns shareable objects after starting a Ractor
The problem is actually for any objects, not just IO.
PR here: https://github.com/ruby/ruby/pull/7191
Edit: I took down the PR because I realized it doesn't properly fix the issue. The only way to get this working, and also to get Obje...
luke-gru (Luke Gruber)
07:27 PM Bug #19387 (Assigned): ObjectSpace.each_objects only returns shareable objects after starting a Ractor
```ruby
r = Ractor.new do
receive # block, the problem is not the termination of the ractor but the starting
end
ObjectSpace.each_object(IO) { |io|
p io # we get no objects
}
```
luke-gru (Luke Gruber)
05:28 PM Revision 7d4395cb (git): YJIT: Fix shared/static library symbol leaks
Rust 1.58.0 unfortunately doesn't provide facilities to control symbol
visibility/presence, but we care about controlling the list of
symbols exported from libruby-static.a and libruby.so.
This commit uses `ld -r` to make a single objec...
alanwu (Alan Wu)
05:28 PM Revision e7e48e8a (git): configure: Keep OBJCOPY even when visibility options are available
YJIT will need it to address symbol leakage issue. Fallback to `:` when
OBJCOPY is not available on the system.
Co-authored-by: Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
alanwu (Alan Wu)
05:28 PM Revision 17c8bf2c (git): configure: Don't use use LD=clang, ld takes different flags
This was a difference from using a GNU toolchain previously. It wasn't a
problem because we don't invoke $(LD) in the Makefile currently. YJIT
will want to invoke LD, so needs this consistency.
alanwu (Alan Wu)
01:02 PM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
hsbt (Hiroshi SHIBATA) wrote in #note-37:
> I can work it with reasonable effort, not a requirement.
I am fine with that, and would appreciate that very much.
I guess there won't be many new default gems anyway, it seems almost ev...
Eregon (Benoit Daloze)
11:33 AM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
I don't agree it.
I can work it with reasonable effort, not a requirement.
Because I'm not truffleruby developer and it's not my primary work.
You don't know, I already worked it. In my experience, `jruby` and `truffleruby` jobs s...
hsbt (Hiroshi SHIBATA)
10:50 AM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
@hsbt I am asking for new default gems:
* When creating the repository on GitHub and setting up the CI, test on CRuby but also on `jruby` and `truffleruby`.
* If there is any issue, one solution is to simply use the stdlib instead on no...
Eregon (Benoit Daloze)
12:30 AM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
I don't agree it.
I can help default/bundled gems are working with JRuby/TruffleRuby like:
* https://github.com/ruby/date/issues/48
* https://github.com/ruby/bigdecimal/issues/169
Please file your issue each repositories like a...
hsbt (Hiroshi SHIBATA)
11:21 AM Feature #19351: Promote bundled gems at Ruby 3.3
>So maybe that automatic cherry-picking is only in one direction, not the other, and maybe only for some gems and not all?
I prepared auto-sync for all of default gems. But it's sometimes failed and ruby/ruby to ruby/* is not availabl...
hsbt (Hiroshi SHIBATA)
11:01 AM Feature #19351: Promote bundled gems at Ruby 3.3
hsbt (Hiroshi SHIBATA) wrote in #note-19:
> No. some of commits conflicts usually. and some of people push `ruby/ruby` directly for fixing CI failure, not `ruby/*` repo. So, we are always out-of-sync status without my work.
I remembe...
Eregon (Benoit Daloze)
12:14 AM Feature #19351: Promote bundled gems at Ruby 3.3
>So it seems imopossible to get out of sync, isn't it?
No. some of commits conflicts usually. and some of people push `ruby/ruby` directly for fixing CI failure, not `ruby/*` repo. So, we are always out-of-sync status without my work....
hsbt (Hiroshi SHIBATA)
11:07 AM Revision 47b66a5a (git): [ruby/bigdecimal] Add truffleruby in CI
https://github.com/ruby/bigdecimal/commit/5a25e26e08 Eregon (Benoit Daloze)
10:27 AM Bug #19385: YJIT panicked while holding VM lock acquired at ./yjit/src/core.rs:1693. Aborting.
I believe it is *not* related to bug #19299, though it looks like the same bug as recently-filed https://github.com/Shopify/yjit/issues/308 noahgibbs (Noah Gibbs)
03:48 AM Bug #19374 (Assigned): Issue with Ractor.make_shareable with curried procs
hsbt (Hiroshi SHIBATA)
02:31 AM Revision 71256caf (git): [rubygems/rubygems] Update the list of SPDX licence identifiers
https://github.com/rubygems/rubygems/commit/18a9b0dc7e segiddins (Samuel Giddins)
02:31 AM Revision 06e30df4 (git): [ruby/syntax_suggest] Hide internal document and detail of `Kernel` monkey patching
https://bugs.ruby-lang.org/issues/19285
https://github.com/ruby/syntax_suggest/commit/25ca82f8f9
nobu (Nobuyoshi Nakada)
02:30 AM Revision f49bb150 (git): [ruby/fiddle] fiddle: Use C11 _Alignof to define ALIGN_OF when
possible
(https://github.com/ruby/fiddle/pull/120)
WG14 N2350 made very clear that it is an UB having type definitions
within "offsetof" [1]. This patch enhances the implementation of macro
ALIGN_OF to use builtin "_Alignof" to avoid un...
Khem Raj
02:30 AM Revision f4609b6b (git): [ruby/fiddle] Fix comment formatting
https://github.com/ruby/fiddle/commit/36b2432575 tenderlovemaking (Aaron Patterson)
02:30 AM Revision 1df7f359 (git): [ruby/fiddle] Update documentation
(https://github.com/ruby/fiddle/pull/119)
The documentation for `Fiddle.dlwrap` and `Fiddle.dlunwrap` were not
very accurate and pretty confusing. This commit updates the
documentation so it's easier to understand what the methods do.
tenderlovemaking (Aaron Patterson)
02:30 AM Revision 967dec5d (git): [ruby/openssl] Added CoreAssertions
https://github.com/ruby/openssl/commit/520601e11d
This commits swtich to use ruby/ruby's envutil.rb instead of
vendored in openssl repo.
hsbt (Hiroshi SHIBATA)
02:30 AM Revision 5afc8301 (git): [ruby/openssl] Do not require test file in a forked process in tests
https://github.com/ruby/openssl/commit/ae784673d7 andrykonchin (Andrew Konchin)
01:49 AM Revision 1b06cd3f (git): Pass through `line_offset` argument correctly (but it was always 0). (#7177)
Samuel Williams

01/26/2023

11:59 PM Bug #19383: Time.now.zone encoding for German display language in Windows is incorrect
By "console" do you mean irb are you referencing PowerShell or cmd.exe/Command Prompt? Windows Terminal produces the same results as well.
Also, the source for this is from one process to another without user interactivity.
Looking at ...
stringsn88keys (Thomas Powell)
11:03 PM Bug #19383: Time.now.zone encoding for German display language in Windows is incorrect
It’s been a long time since I’ve used Windows, but the Windows console is notoriously stuck in 1980s encodings and using codepage 65001 *should* fix this in general. Otherwise, you’re going to get Windows 1252 encoding as your default in... austin (Austin Ziegler)
08:52 PM Bug #19383 (Assigned): Time.now.zone encoding for German display language in Windows is incorrect
OS:
Verified on Windows 10 and Windows Server 2022 and Ruby 2.7.7 through 3.1.3
Display language:
Verified on German, but may impact other languages in which Time.now.zone returns characters that aren't [A-Za-z].
Time zone:
CET ...
stringsn88keys (Thomas Powell)
10:12 PM Bug #19382 (Closed): Infinite loop in tracepoints when calling `pp`
@luke-gru Please don't update subject and category and more. We can close it only your request comment. hsbt (Hiroshi SHIBATA)
08:56 PM Bug #19382: Infinite loop in tracepoints when calling `pp`
Nevermind, this is a weird case that using `pp` traverses the `events` and it calls methods which hook into the tracepoint, which appends to the list, and then pp does the same all over again.
Just a recursive bug in my code, not in Rub...
luke-gru (Luke Gruber)
05:27 PM Bug #19382 (Closed): Infinite loop in tracepoints when calling `pp`
```ruby
events = []
meth_name = "mymethod"
code = <<~RUBY
def #{meth_name}(); true; end
RUBY
eval(code, binding, 'my_location')
tracepoint = TracePoint.new(:line) { |tp|
events << tp.path # infinite loop here
}.tap(&:enabl...
luke-gru (Luke Gruber)
09:41 PM Revision 70829928 (git): [rubygems/rubygems] Deprecate Gem::List
It is unused, we will remove it in the next major version
https://github.com/rubygems/rubygems/commit/c3f6c27d6d
segiddins (Samuel Giddins)
09:41 PM Bug #19385 (Closed): YJIT panicked while holding VM lock acquired at ./yjit/src/core.rs:1693. Aborting.
Attached is a rust backtrace of an application crashing with a panic with yjit enabled.
This is only happening on our sidekiq processes on one of our applications in production. I'm uncertain where in our code it's crashing so far, a...
jwcooper (Justin Cooper)
09:17 PM Bug #19384 (Open): ASCII 128..154 characters in IO.popen or %x output do not reflect the proper encoding in Windows

Operating systems: Windows 10 and Windows Server 2022 (likely all recent versions of Windows)
Ruby: confirmed on 2.7.7 through 3.1.3
On macOS and Linux I can create a file named "ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ" and then do a directory...
stringsn88keys (Thomas Powell)
04:09 PM Bug #19334: Defining many instance variables and accessing them is slow in Ruby 3.2.0
Let's wait it's stable before backporting: https://bugs.ruby-lang.org/issues/19381#note-3 Eregon (Benoit Daloze)
12:44 AM Bug #19334: Defining many instance variables and accessing them is slow in Ruby 3.2.0
@mame would you consider 78fcc9847a9db6d42c8c263154ec05903a370b6b worth backporting? byroot (Jean Boussier)
04:04 PM Revision 88f2b940 (git): Revert "Limit maximum number of IVs on a shape"
This reverts commit 78fcc9847a9db6d42c8c263154ec05903a370b6b. tenderlovemaking (Aaron Patterson)
04:04 PM Bug #19381: SEGV - ivars, both Ubuntu & Windows
Thanks. I'm going to revert the commit for now. 🙇🏻‍♀️ tenderlovemaking (Aaron Patterson)
03:52 PM Bug #19381: SEGV - ivars, both Ubuntu & Windows
Thanks. That's the commit for the PR I listed (#7183). I should have listed it... MSP-Greg (Greg L)
03:48 PM Bug #19381: SEGV - ivars, both Ubuntu & Windows
Recently there was a change to object shapes, and there were no tests made for that commit. I think they'll add some now :)
The change is here, made on Jan. 25: https://github.com/ruby/ruby/commit/78fcc9847a9db6d42c8c263154ec05903a370b6b...
luke-gru (Luke Gruber)
03:32 PM Bug #19381 (Closed): SEGV - ivars, both Ubuntu & Windows
I've used code similar to the below for a long time. When max is set to 50, it runs. When max is set to 51, it SEGV faults.
Rubies tested:
ruby 3.3.0dev (2023-01-26T07:31:08Z master 6422fef90c) [x86_64-linux]
ruby 3.3.0dev (2023-0...
MSP-Greg (Greg L)
02:09 PM Bug #19380 (Closed): IO.read doesn't validate the offset argument
I've noticed that when passed negative `offset` argument `IO.read` raises a bit confusing error:
```ruby
IO.read("read-test.txt", 1, -1)
# (irb):55:in `read': Invalid argument @ rb_io_seek - read-test.txt (Errno::EINVAL)
```
But...
andrykonchin (Andrew Konchin)
01:28 PM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
@hsbt https://bugs.ruby-lang.org/issues/18567#note-30 is what is needed for future default/bundled gems. Do you agree to it? Eregon (Benoit Daloze)
09:30 AM Bug #18567 (Closed): Depending on default gems in stdlib gems when not needed considered harmful
All PRs of https://bugs.ruby-lang.org/issues/18567#note-5 have been closed. There is no action now. hsbt (Hiroshi SHIBATA)
01:23 PM Feature #19351: Promote bundled gems at Ruby 3.3
hsbt (Hiroshi SHIBATA) wrote in #note-16:
> It makes to leave out-of-sync status with published gem like #18169. I'm checking ALL diffs and commits of ruby/* repos every day for resolving this issue after #18169 requests. Example for ht...
Eregon (Benoit Daloze)
09:37 AM Feature #19351: Promote bundled gems at Ruby 3.3
>What is the advantage to move from default gem to bundled gem?
It makes to leave out-of-sync status with published gem like #18169. I'm checking ALL diffs and commits of ruby/* repos every day for resolving this issue after #18169 re...
hsbt (Hiroshi SHIBATA)
12:04 PM Bug #19379 (Closed): Regex: "end pattern with unmatched parenthesis" with Ruby 3.2 and interpolation
Sample code:
```
r2 = %r{#c-\w+/comment/[\w-]+}
%r{https?://[^/]+#{r2}}x
```
This works with Ruby 3.1:
```
irb(main):001:0> r2 = %r{#c-\w+/comment/[\w-]+}
irb(main):002:0> %r{https?://[^/]+#{r2}}x
=> /https?:\/\/[^\/]+(?-m...
renchap (Renaud Chaput)
07:31 AM Revision 6422fef9 (git): Fix `target_cpu` at runtime
nobu (Nobuyoshi Nakada)
07:31 AM Revision 9794e49c (git): Link RUBYSPEC_CAPIEXT against the built library
nobu (Nobuyoshi Nakada)
07:31 AM Revision 00ee1d12 (git): Get rid of duplicate "--disable=gems" options
nobu (Nobuyoshi Nakada)
07:02 AM Bug #19378 (Assigned): Windows: Use less syscalls for faster require of big gems
Hello 🙂
## Problem
require is slow on windows for big gems. (example: require 'gtk3'=> 3 seconds+). This is a problem for people who want to make cross platform GUI apps with ruby.
## Possible Reason
As touched on in [#15797](htt...
aidog (Andi Idogawa)
06:32 AM Revision 545ade21 (git): Enable code-coverage result for test-spec
hsbt (Hiroshi SHIBATA)
05:05 AM Revision 2d981271 (git): Filter spec directory for code coverage
hsbt (Hiroshi SHIBATA)
04:52 AM Revision 6608d47b (git): Enable code-coverage result for test-syntax-suggest
hsbt (Hiroshi SHIBATA)
04:52 AM Revision 069b6f88 (git): Ignore all of tool directory from code coverage, It contains tool/test and etc.
hsbt (Hiroshi SHIBATA)
04:52 AM Revision 8662d70a (git): Ignore vendored libraries by rubygems from code coverage
hsbt (Hiroshi SHIBATA)
04:52 AM Revision 98e84f3f (git): filter coverage result with vendored libraries and test code
hsbt (Hiroshi SHIBATA)
04:27 AM Revision eb2670e3 (git): [ruby/reline] Revert "correct Win32API capitalization for JRuby"
This reverts commit https://github.com/ruby/reline/commit/d6e7c9e1d9af.
https://github.com/ruby/reline/commit/c47a5b684c
hsbt (Hiroshi SHIBATA)
04:25 AM Bug #19340 (Closed): Ruby master 'make install' not installing rbs gem
Applied in changeset commit:git|17f5631c6ea118b9ce0e8776dc50c7b1dcdaf596.
----------
[Bug #19340] Fix bundle gems with test revision
Build temporary gem package from cloned repository if test revision is
set.
nobu (Nobuyoshi Nakada)
03:50 AM Revision be6a347a (git): Need gemspec files instead of cloned directories
nobu (Nobuyoshi Nakada)
03:50 AM Revision 7eef4547 (git): Fixed clone name
hsbt (Hiroshi SHIBATA)
03:50 AM Revision 7a4f7fc1 (git): Use timestamp files to track test revision of bundled gems
nobu (Nobuyoshi Nakada)
03:50 AM Revision 17f5631c (git): [Bug #19340] Fix bundle gems with test revision
Build temporary gem package from cloned repository if test revision is
set.
nobu (Nobuyoshi Nakada)

01/25/2023

11:17 PM Bug #19112: Ractor garbage collection breaks/disables all active tracepoints
Pull request is here if you're interested: https://github.com/ruby/ruby/pull/7184 luke-gru (Luke Gruber)
10:39 PM Bug #19360: Enabling coverage with `-r` option isn't sufficient to intercept top level script.
Thanks @naruse !!! ioquatix (Samuel Williams)
02:29 PM Bug #19360: Enabling coverage with `-r` option isn't sufficient to intercept top level script.
ruby_3_2 fee5b8f263211faef10ed9f3e43c1e8b34548bbd merged revision(s) 2c93c554019ebdc394d3c51c6d925620d3005f84,f5ea43a2e61789357e9c4b374b4bc6756abeae17. naruse (Yui NARUSE)
10:05 PM Bug #19376 (Closed): Ability to read ivars of non-frozen classes/modules across ractors is not thread-safe
hsbt (Hiroshi SHIBATA)
04:41 PM Bug #19376: Ability to read ivars of non-frozen classes/modules across ractors is not thread-safe
Nevermind this is actually safe, I ran into a separate segfault that this example was giving that's unrelated to that thread-safety issue. I'll file separate bug. luke-gru (Luke Gruber)
04:30 PM Bug #19376 (Closed): Ability to read ivars of non-frozen classes/modules across ractors is not thread-safe
This segfaults:
```ruby
class C
class << self
attr_accessor :val
end
end
GO = false
rs = 100.times.map do
Ractor.new do
Thread.pass until GO
1000.times do
val = C.val
p val
end
end
...
luke-gru (Luke Gruber)
08:49 PM Feature #19377 (Rejected): Rename Fiber#storage to Fiber.storage
Justification:
* `#storage`, which pretends to be an instance method, is always available only on `Fiber.current`, which is [problematic to document](https://github.com/ruby/ruby/pull/6985#discussion_r1055796069), and needs special hand...
zverok (Victor Shepelev)
08:01 PM Bug #19334: Defining many instance variables and accessing them is slow in Ruby 3.2.0
We merged [this PR](https://github.com/ruby/ruby/pull/7183) as a temporary fix. After 50 IV transitions, it falls back to the obj_too_complex shape, which uses a hash lookup. If we want, we could backport this change. I am unsure whether... jemmai (Jemma Issroff)
07:48 PM Revision 78fcc984 (git): Limit maximum number of IVs on a shape
Create SHAPE_MAX_NUM_IVS (currently 50) and limit all shapes to that
number of IVs. When a shape has more than 50 IVs, fallback to the
obj_too_complex shape which uses hash lookup for ivs.
jemmai (Jemma Issroff)
03:54 PM Feature #15778: Expose an API to pry-open the stack frames in Ruby
> What if we settle for an API and implement and test it first in the debug gem?
The `debug` gem already has a method `DEBUGGER__.capture_frames` that achieves something similar. But I agree with @Eregon on not using the `debug` gem ...
st0012 (Stan Lo)
02:33 PM Bug #19350: Backport the latest stable version of RubyGems/Bundler
ruby_3_2 a22eca82314ae36668d8c1a591ffbbfa8f93147c. naruse (Yui NARUSE)
02:32 PM Revision a22eca82 (git): Merge the latest stable versions of RubyGems and Bundler to Ruby 3.2.x (#7061)
[Bug #19350]
* Merge RubyGems-3.4.2 and Bundler-2.4.2
* Merge RubyGems-3.4.3 and Bundler-2.4.3
* Generate parser-text.rb of racc when sync it
* Ignore LICENSE files of libraries vendored in rubygems [ci skip]
* Adjust spec of bundle...
hsbt (Hiroshi SHIBATA)
02:29 PM Bug #19299: YJIT panicked while holding VM lock acquired at ./yjit/src/core.rs:1693. Aborting...
ruby_3_2 97c32b49e2fe4de8b57ce05146e63b2aa64c7a44 merged revision(s) 43ff0c2c488c80aaf83b486d45bcd4a92ebe3848. naruse (Yui NARUSE)
01:25 PM Bug #19374: Issue with Ractor.make_shareable with curried procs
This issue is fixed by https://github.com/ruby/ruby/pull/7182. I will add a test to that PR for this. luke-gru (Luke Gruber)
12:50 PM Feature #16012: Add a (small) test-install suite?
I think this could become part of ruby/spec, and then we'd run ruby/spec on both built and on installed CRuby with chkbuild.
BTW there are similar specs in https://github.com/oracle/truffleruby/blob/master/spec/truffle/launcher_spec.rb
Eregon (Benoit Daloze)
12:49 PM Feature #16012: Add a (small) test-install suite?
FYI there is this script to check bin/ files, which could be reused: https://github.com/ruby/ruby-dev-builder/blob/master/cli_test.rb Eregon (Benoit Daloze)
09:11 AM Feature #16012: Add a (small) test-install suite?
I'm considering this request again. I'll add small check into https://github.com/ruby/chkbuild. hsbt (Hiroshi SHIBATA)
12:49 PM Bug #19372: Proc objects are not traversed for shareable check during Ractor.make_shareable(prok)
PR here: https://github.com/ruby/ruby/pull/7182 luke-gru (Luke Gruber)
05:06 AM Bug #19372: Proc objects are not traversed for shareable check during Ractor.make_shareable(prok)
No I don't think so, that change would just make it so that `obj.freeze` has the effect of making `obj` shareable for that class. However, `prok.freeze` should never make
procs shareable, they need to go through the isolation check.
luke-gru (Luke Gruber)
09:12 AM Bug #10919 (Third Party's Issue): [gem install] installs multipe platforms
@abaumgaertner Can you file this to https://github.com/rubygems/rubygems? hsbt (Hiroshi SHIBATA)
09:09 AM Feature #13534 (Closed): Checking installation results of default gems
I move this to https://bugs.ruby-lang.org/issues/16012. hsbt (Hiroshi SHIBATA)
08:57 AM Feature #6590 (Third Party's Issue): Dealing with bigdecimal, etc gems in JRuby
We can work bigdecimal for JRuby like
* https://github.com/ruby/psych (psych contained java implementation and publish jar file)
or
* https://github.com/ruby/date (date contained empty file for JRuby)
or other approach. We sh...
hsbt (Hiroshi SHIBATA)
08:49 AM Bug #18355 (Feedback): require("pathname") within rack application chnages behaviors of Pathname methods, such as absolute?(), when there are two versions of 'pathname' gem installed.
Can you try it with the latest version of RubyGems/Bundler?
You can do it with:
```
$ gem update --system
```
hsbt (Hiroshi SHIBATA)
07:47 AM Revision 5e1e5af2 (git): Support simplecov-0.22.0.
simplecov-0.22.0 no longer support pre-0.18 result format. result data needs
`lines` key for coverage data.
hsbt (Hiroshi SHIBATA)
07:35 AM Bug #19341: Write cache issue with class variables
This breaks CI on ruby_3_2 branch https://github.com/nurse/ruby/commit/ec9a6ae3f6961b0ece1a6fc67ea26033ee91498e naruse (Yui NARUSE)
07:34 AM Revision fee5b8f2 (git): merge revision(s) 2c93c554019ebdc394d3c51c6d925620d3005f84,f5ea43a2e61789357e9c4b374b4bc6756abeae17: [Backport #19360]
Ensure main file has default coverage if required. (#7169)
* Extract common code for coverage setup.
---
iseq.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
More coverage...
naruse (Yui NARUSE)
07:12 AM Feature #19179: Support parsing SCM_CRED(ENTIALS) messages from ancillary messages
Wondering if someone could please have a look? @akr someone suggested you would be the right person? 🙏 kjtsanaktsidis (KJ Tsanaktsidis)
07:09 AM Misc #19357: DevMeeting-2023-02-09
* [Feature #19351] Promote bundled gems at Ruby 3.3
* How about the list of first proposal?
* Do you have opinion for "Additional Works"?
hsbt (Hiroshi SHIBATA)
05:49 AM Bug #19289: RbConfig::CONFIG["STRIP"] should keep `ruby_abi_version` and `ruby_abi_version` should always be part of Ruby
ruby_3_2 4110137fcfd805de03a8f5569c3d6926959b9363 merged revision(s) 6f3aff3961a4c5ce87e05096a1a9dcf1055b7647. naruse (Yui NARUSE)
04:26 AM Revision 4110137f (git): merge revision(s) 6f3aff3961a4c5ce87e05096a1a9dcf1055b7647: [Backport #19289]
[Bug #19289] Retain `ruby_abi_version` function
A few extension libraries, to hide all symbols except for necessary to
load, hardcode the symbols to be exported in symbol list files for
linker without even checki...
naruse (Yui NARUSE)
04:25 AM Bug #19348: GVL being released earlier than expected when loading iseqs
ruby_3_2 0090cb82b0bf477c29a659e34cf4427a3b1ceb27 merged revision(s) df6b72b8ff7af16a56fa48f3b4abb1d8850f4d1c. naruse (Yui NARUSE)
03:26 AM Bug #19369 (Assigned): Small corner-case issue that breaks Ractor isolation: change cloned object from another thread
hsbt (Hiroshi SHIBATA)
03:25 AM Bug #19369: Small corner-case issue that breaks Ractor isolation: change cloned object from another thread
I made a patch for this here: https://github.com/luke-gru/ruby/commit/ad760be949c2a35aac71ac0ff8dea4ec3169f589. I'll send PR if it's an acceptable solution.
Edit: My commit doesn't actually fix this in the proper way, because you could ...
luke-gru (Luke Gruber)
01:52 AM Revision e82cef17 (git): Remove not used argument from tokenize_ident
This has not been used since 5e59be3eddd2ce28610ec8d1b42845cde0080833 yui-knk (Kaneko Yuichiro)
01:23 AM Revision 0090cb82 (git): merge revision(s) df6b72b8ff7af16a56fa48f3b4abb1d8850f4d1c: [Backport #19348]
Avoid checking interrupt when loading iseq
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The interrupt check will unintentionally release the VM lock when loadi...
naruse (Yui NARUSE)
01:00 AM Bug #19320: Crash during compaction while traversing the stack
ruby_3_2 a20061cb1aa34b73bdbdfa7cba6cfc575a05ca38 merged revision(s) 72eb33066fa9e7dacb7470cd140b219abe37667e. naruse (Yui NARUSE)

01/24/2023

09:09 PM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
> I think the implementation issues are solvable but the bigger picture issue of adoption is of course up in the air.
The first step to adoption is to have a case for it that could be used. I believe the case I presented is viable and...
maciej.mensfeld (Maciej Mensfeld)
05:42 PM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
> It has many issues as can be found on this bug tracker and when using it and as the warning says (Also there are many implementation issues.).
I think the implementation issues are solvable but the bigger picture issue of adoption i...
luke-gru (Luke Gruber)
11:35 AM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
> Note that Ractor is far from production-ready.
I am well aware. I just provide a justification and since my case seems to fit the limited scope of this functionality, I wanted to raise the attention.
> ...
This is exactly why I w...
maciej.mensfeld (Maciej Mensfeld)
11:31 AM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
maciej.mensfeld (Maciej Mensfeld) wrote in #note-4:
> I find this issue important and if mitigated, it would allow me to release production-grade functionalities that would benefit users of the Ruby language.
Note that Ractor is far ...
Eregon (Benoit Daloze)
04:57 AM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
Here's a simple reproduction showing that the problem is not send/receive:
```ruby
RACTORS = ARGV.first == "ractor"
J = { rand => rand }.to_json
Ractor.make_shareable(J)
if RACTORS
rs = []
10.times.each do
rs << Ractor....
luke-gru (Luke Gruber)
06:34 PM Revision 5eeebd68 (git): Remove function ary_recycle_hash
Freeing the memory of a Hash should be done by the garbage collector
and not by array functions. This could potentially leak memory if
ary_recycle_hash was not implemented properly.
peterzhu2118 (Peter Zhu)
05:57 PM Bug #19375: File objects are currently shareable, as are other extension objects that shouldn't be.
The issue is with `Ractor.make_shareable`
The same issue occurs with Dir, Tempfile, IO objects, the ENV hash. StringIO and CSV have this problem too. Sockets I think have the issue.
For example, the issue with StringIO is that it needs...
luke-gru (Luke Gruber)
03:54 PM Bug #19375 (Closed): File objects are currently shareable, as are other extension objects that shouldn't be.
I don't know the internals of file.c but I don't think files are thread-safe. luke-gru (Luke Gruber)
04:50 PM Bug #19373 (Closed): Segmentation fault at 0x00000003000179e8 when running pod install on an M1
jeremyevans0 (Jeremy Evans)
04:39 PM Bug #19373: Segmentation fault at 0x00000003000179e8 when running pod install on an M1
This was resolved by uninstalling homebrew and reinstalling. As well as rebuilding/reinstalling cocoapods :) jadephare@gmail.com (Jade Thornton)
02:35 PM Feature #15778: Expose an API to pry-open the stack frames in Ruby
gsamokovarov (Genadi Samokovarov) wrote in #note-16:
> What if we settle for an API and implement and test it first in the `debug` gem? The `debug` gem does need/has similar functionality for post-mortem debugging. That way, gems like `...
Eregon (Benoit Daloze)
02:23 PM Feature #19236: Allow to create hashes with a specific capacity from Ruby
If we use `Hash.new(capacity: 4096)` to set the capacity, then `Hash.new({ capacity: 4096 })` should keep the semantics of: `{ capacity: 4096 }` is the default value of the new Hash.
I think it's a little bit hacky/unclear/source of con...
Eregon (Benoit Daloze)
02:17 PM Feature #19366: Rename/alias Refinedment#refined_class => #refined_module
Agreed, I think it's fine to have both `refined_class` and `refined_module`, much like we have {module,class}_{eval,exec}. Eregon (Benoit Daloze)
02:00 PM Bug #19354: Issues with arguments validation in IO.read
I think the current error could be acceptable if it's clear IO#read is in the backtrace.
But it's not part of the backtrace currently (and on top it's not possible to differentiate IO.read and IO#read from the backtrace):
```
$ ruby -...
Eregon (Benoit Daloze)
12:40 PM Bug #19374 (Closed): Issue with Ractor.make_shareable with curried procs
This works, but shouldn't:
```ruby
class Worker
def start(&blk)
blk = blk.curry # bug in ruby allows sharing of non-shareable proc
Ractor.make_shareable(blk)
@ractor = Ractor.new(blk) do |b|
main = b.call
...
luke-gru (Luke Gruber)
12:30 PM Feature #19326: Please add a better API for passing a Proc to a Ractor
Your new example, I think, is not possible with the current API.
However, there is a bug in Ruby that I just found that allows it.
```ruby
class Worker
def start(&blk)
blk = blk.curry # bug in ruby allows sharing of non-shareable...
luke-gru (Luke Gruber)
08:41 AM Revision a20061cb (git): merge revision(s) 72eb33066fa9e7dacb7470cd140b219abe37667e: [Backport #19320]
Fix off-by-one error in rb_vm_each_stack_value
Applying the following patch to test/erb/test_erb.rb and running that
file will cause Ruby to crash on my machine (macOS 13.1 on M1 Pro):
```
--- a/test/erb...
naruse (Yui NARUSE)
07:36 AM Revision 5a73e131 (git): Add tests for variables in `END` block shared with the toplevel
nobu (Nobuyoshi Nakada)
02:05 AM Bug #19339: Defining ivar on special constants with @ syntax causes segv
ruby_3_2 c0df0a85dec77a09308caddb1e1efd4d38fbf7b8 merged revision(s) ed6fbb79e19bf401db0e85447fee955fd10a25c7. naruse (Yui NARUSE)
01:44 AM Bug #19371 (Assigned): Having Psych 5 installed raises an error during another gem's C-extension installation when parsing YAML
Thanks for your investigation. I got same report at https://github.com/ruby/psych/discussions/607.
hsbt (Hiroshi SHIBATA)
01:41 AM Feature #19370 (Assigned): Anonymous parameters for blocks?
IIRC, matz was negative against it. nobu (Nobuyoshi Nakada)
01:37 AM Bug #19372: Proc objects are not traversed for shareable check during Ractor.make_shareable(prok)
Maybe https://github.com/nobu/ruby/tree/ractor-unshareable-data fixes it? nobu (Nobuyoshi Nakada)
01:35 AM Revision 98081ac7 (git): [rubygems/rubygems] Bump rb-sys
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.56 to 0.9.58.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.56...v0.9.58)
---
updated-depende...
dependabot[bot]

01/23/2023

10:14 PM Revision e23e8f4a (git): [rubygems/rubygems] Bump rb-sys in /test/rubygems/test_gem_ext_cargo_builder/custom_name
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.56 to 0.9.58.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.56...v0.9.58)
---
updated-depende...
dependabot[bot]
10:03 PM Bug #19373 (Closed): Segmentation fault at 0x00000003000179e8 when running pod install on an M1
All the logs are in the files.
Context:
I'm trying to run pod install on a react native project that requires a ruby version of 2.7.5 after a react native upgrade. Others on my team have been able to build their projects so I think t...
jadephare@gmail.com (Jade Thornton)
09:35 PM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
I've notified the flori/json people (https://github.com/flori/json/issues/511)
So to update everyone, the dtoa function is called during json generation, not parsing. As this script does both, it's hard to measure it using perf tools. Y...
luke-gru (Luke Gruber)
10:15 AM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
I find this issue important and if mitigated, it would allow me to release production-grade functionalities that would benefit users of the Ruby language.
I run an OSS project called Karafka (https://github.com/karafka/karafka) that a...
maciej.mensfeld (Maciej Mensfeld)
07:24 PM Bug #19372: Proc objects are not traversed for shareable check during Ractor.make_shareable(prok)
A separate but related issue is that the proc objects are not frozen too, so their ivars can be (re)assigned. I don't know how big an issue that is because
other ractors cannot read/write the ivars but IMO the proc should be frozen.
luke-gru (Luke Gruber)
07:23 PM Bug #19372 (Closed): Proc objects are not traversed for shareable check during Ractor.make_shareable(prok)
```ruby
class Proc
attr_accessor :obj1
def initialize
@obj1 = Object.new
end
end
p = true.instance_eval { Proc.new { puts "hi" } }
Ractor.make_shareable(p)
p "Obj1 frozen?", Ractor.shareable?(p.obj1)
P = p
r = Ra...
luke-gru (Luke Gruber)
03:49 PM Bug #19371: Having Psych 5 installed raises an error during another gem's C-extension installation when parsing YAML
I can confirm this issue. We recently experienced it in rack's CI (https://github.com/rack/rack/actions/runs/3955055993/jobs/6776667247#step:3:65). In our case, we were able to easily work around the issue because the gem that was pull... jeremyevans0 (Jeremy Evans)
11:15 AM Bug #19371 (Third Party's Issue): Having Psych 5 installed raises an error during another gem's C-extension installation when parsing YAML
## Summary
There's an issue on Ruby versions with Psych 4 installed by default (Ruby 2.6 through 3.1) after installing the Psych gem version 5. This problem occurs when a Ruby gem has a C-extension installation script that parses a YAML...
tombruijn (Tom de Bruijn)
10:54 AM Feature #19324: Enumerator.product => Enumerable#product
Just to add a few points:
1. I don't believe "zip with all arguments the same" has really any significant usage: at least, in codebases I looked in (Ruby stdlib, Rails, Rubocop, Sidekiq, my work apps) I can't find any. BTW, the trivia...
zverok (Victor Shepelev)
12:07 AM Feature #19324: Enumerator.product => Enumerable#product
Thinking about this a bit more, I guess both the "first argument is special" (A) and the "all arguments are the same" (B) have use cases. There's probably a third one, which is "all arguments are already in an array" (C). (B) and (C) are... duerst (Martin Dürst)
10:40 AM Revision fe733fb6 (git): svn.ruby-lang.org is already EOL
hsbt (Hiroshi SHIBATA)
10:23 AM Feature #19370 (Closed): Anonymous parameters for blocks?
Just to clarify: are anonymous parameters delegation is planned to support in blocks?
It would be a nice addition, if it is possible to implement:
```ruby
# data in form [request method, URL, params]:
[
[:get, 'https://google.c...
zverok (Victor Shepelev)
10:22 AM Feature #19362 (Open): #dup on Proc doesn't call initialize_dup
https://github.com/ruby/ruby/pull/7178 nobu (Nobuyoshi Nakada)
10:02 AM Revision 1e2523fa (git): Silence dozens of useless warnings from `ranlib` on macOS [ci skip]
nobu (Nobuyoshi Nakada)
08:06 AM Revision a22ed3e9 (git): Fix homepage url in gemspec
GitHub Pages now hosted on *.github.io unasuke (Yusuke Nakamura)
06:14 AM Revision 4981206b (git): update-coverage needs to build ruby and all C-ext libraries
hsbt (Hiroshi SHIBATA)
05:55 AM Revision d9fd0483 (git): [rubygems/rubygems] blade is hosted under ruby-lang.org now
https://github.com/rubygems/rubygems/commit/00fdef8a41 hsbt (Hiroshi SHIBATA)
04:52 AM Bug #19283: Regex error on ruby 3.2
This case didn't become error after I tested this regex error case with ruby master branch(https://github.com/ruby/ruby/commit/5abb2ef1532e52f3e5fb63ea25e90a72c8e7d581).
This issue may be resolved by Bug #19273 and PR(https://github.co...
Sho (Shohei Nakano)
04:07 AM Revision 5abb2ef1 (git): blade is hosted under ruby-lang.org now
hsbt (Hiroshi SHIBATA)
03:43 AM Bug #19365: Ractors can access non-shareable values through enumerators
Or rather, maybe they should be allowed to be passed but the deep clone logic should change? Not sure. luke-gru (Luke Gruber)
03:41 AM Revision d8751c0a (git): [ruby/cgi] blade is hosted under ruby-lang.org now
https://github.com/ruby/cgi/commit/826ba3140c hsbt (Hiroshi SHIBATA)
02:48 AM Revision 93bb4155 (git): [DOC] Change local method to local variable in assignment docs
Talal Al-Humaidi
02:47 AM Feature #19236: Allow to create hashes with a specific capacity from Ruby
byroot (Jean Boussier) wrote in #note-4:
> What would be the timeline?
> ...
That would be the fastest way.
> > Off-topic: Array.new(capacity: 4096) is not yet available; I wonder if people want Hash.new(capacity: 4096) more than Ar...
mame (Yusuke Endoh)
02:47 AM Bug #18119 (Assigned): Ractor crashes when instantiating classes
hsbt (Hiroshi SHIBATA)
02:46 AM Feature #18919 (Assigned): Ractor: can't share #Method objects
hsbt (Hiroshi SHIBATA)
02:14 AM Bug #19338 (Assigned): Ruby hangs when ouputting warnings inside ractor with VM lock held
hsbt (Hiroshi SHIBATA)
02:13 AM Bug #19364 (Assigned): Issue with tracepoint enable/disable across ractors
hsbt (Hiroshi SHIBATA)
02:10 AM Bug #19369: Small corner-case issue that breaks Ractor isolation: change cloned object from another thread
If you wanted to fix this one way would be to disable thread creation in the current ractor (main in this case) while deep-cloning in `Ractor.new` or `Ractor#send`. Another idea would be to not call `initialize_clone` during deep-cloning... luke-gru (Luke Gruber)
01:28 AM Bug #19369 (Assigned): Small corner-case issue that breaks Ractor isolation: change cloned object from another thread
I was looking into how objects are traversed for deep cloning and I came up with a way to break it. I don't think it'll ever happen in real life so it's not really an issue, just
an interesting case. Run with warnings disabled.
```ru...
luke-gru (Luke Gruber)
02:07 AM Revision 8fded5f5 (git): [ruby/psych] Fix RestrictedYAMLTree allowing the Symbol class should allow all symbols
Ref: https://github.com/ruby/psych/pull/495
That's how it works for `safe_load`:
```ruby
>> YAML.safe_load(':foo', permitted_classes: [Symbol])
=> :foo
```
So `safe_dump` should mirror that.
https://github.com/ruby/psych/commit/592a75...
byroot (Jean Boussier)
12:34 AM Revision d6232108 (git): [DOC] Fix a link [ci skip]
znz (Kazuhiro NISHIYAMA)

01/22/2023

11:28 PM Bug #19365 (Assigned): Ractors can access non-shareable values through enumerators
hsbt (Hiroshi SHIBATA)
02:05 PM Bug #19365 (Closed): Ractors can access non-shareable values through enumerators
I don't think enumerators should be able to be passed to `Ractor.new`
```ruby
obj = Object.new # unshareable value
p obj
Ractor.new([obj].each) {|f| p f.first }.take
```
luke-gru (Luke Gruber)
11:26 PM Bug #19368 (Assigned): Small issue with isolated procs and eval
hsbt (Hiroshi SHIBATA)
06:04 PM Bug #19368: Small issue with isolated procs and eval
Hopefully this illustrates this small, weird issue a bit more:
```ruby
fails = 0
a = Object.new # non-shareable value
pr_maker = Ractor.current.instance_eval do # instance eval allows make_shareable to work
Proc.new do
Proc.new do...
luke-gru (Luke Gruber)
05:40 PM Bug #19368 (Assigned): Small issue with isolated procs and eval
```
a = Object.new # non-shareable
prok = Ractor.current.instance_eval do
Proc.new do
eval('a')
end
end
prok.call # this should work, we're in the main ractor and the proc is not isolated
Ractor.make_shareable(prok) # thi...
luke-gru (Luke Gruber)
09:51 PM Bug #19367 (Assigned): Issue with ractor local storage API
hsbt (Hiroshi SHIBATA)
02:49 PM Bug #19367: Issue with ractor local storage API
PR here: https://github.com/ruby/ruby/pull/7174 luke-gru (Luke Gruber)
02:46 PM Bug #19367 (Closed): Issue with ractor local storage API
In a non-main ractor, you can do Ractor.main[:key] = 'val', but it only affects storage for Ractor.current, not Ractor.main (which is good!).
I think it should throw a RuntimeError if trying to get/set ractor-local storage for non-curre...
luke-gru (Luke Gruber)
09:50 PM Feature #19326 (Assigned): Please add a better API for passing a Proc to a Ractor
hsbt (Hiroshi SHIBATA)
07:45 PM Feature #19326: Please add a better API for passing a Proc to a Ractor
New example:
```ruby
class Worker
def initialize(&block)
@block = block
end
def start
block = Ractor.make_shareable(@block)
@ractor = Ractor.new(block) do |callable|
message = receive
callable.call(messa...
sdwolfz (Codruț Gușoi)
05:15 PM Bug #19343 (Closed): Integer#ceildiv should respect #coerce
Applied in changeset commit:git|20a85ab6119964d1ff129f9c6676fa2a7b2a2be4.
----------
Fix Integer#ceildiv to respect #coerce (#7118)
Fixes [Bug #19343]
kyanagi (Kouhei Yanagita)
03:44 PM Misc #13072 (Closed): Current state of date standard library
zverok (Victor Shepelev)
03:43 PM Feature #15527 (Closed): Redesign of timezone object requirements
zverok (Victor Shepelev)
03:38 PM Misc #16464 (Closed): Which core objects should support deconstruct/deconstruct_keys?
zverok (Victor Shepelev)
03:37 PM Misc #19247 (Closed): Ruby 3.2 documentation problems tracker
I did what I could before the release, the other problems can be handled separately through the year. zverok (Victor Shepelev)
03:23 PM Feature #19324: Enumerator.product => Enumerable#product
> I believe quite many people are in favor of `Array.product` and/or `Array.zip`. I wish the implementation/existence of `Enumerator.product` will work as a pressure towards implementing these methods as well.
I can empathize with tha...
zverok (Victor Shepelev)
02:29 PM Feature #19366 (Closed): Rename/alias Refinedment#refined_class => #refined_module
In #12737, `Refinement#refined_class` is introduced.
As "module" is more generic concept than "class", the name misleadingly implies that either this method doesn't returns refined _modules_, or modules can't be refined. This is obvio...
zverok (Victor Shepelev)
12:03 PM Feature #19362: #dup on Proc doesn't call initialize_dup
> What do you expect as self of `Proc#initialize_dup`?
@nobu "the current proc object", like in any `initialize[...]`. I am not sure I understand why is it impossible. From layman's point of view, those two should work the same way:
...
zverok (Victor Shepelev)
01:47 AM Feature #19362 (Feedback): #dup on Proc doesn't call initialize_dup
nobu (Nobuyoshi Nakada)
01:47 AM Feature #19362: #dup on Proc doesn't call initialize_dup
While `String.allocate` and `Array.allocate` are defined, `Proc.allocate` is not.
What do you expect as `self` of `Proc#initialize_dup`?
nobu (Nobuyoshi Nakada)
10:16 AM Feature #15778: Expose an API to pry-open the stack frames in Ruby
What if we settle for an API and implement and test it first in the `debug` gem? The `debug` gem does need/has similar functionality for post-mortem debugging. That way, gems like `web-console` can depend on the `debug` standard gem whic... gsamokovarov (Genadi Samokovarov)
09:53 AM Revision 20a85ab6 (git): Fix Integer#ceildiv to respect #coerce (#7118)
Fixes [Bug #19343] kyanagi (Kouhei Yanagita)
02:32 AM Revision cad09f70 (git): Adjust braces [ci skip]
nobu (Nobuyoshi Nakada)
12:49 AM Revision f5ea43a2 (git): More coverage tests & specs. (#7171)
* Add spec for eval and line coverage.
* Add test for main file coverage.
Samuel Williams

01/21/2023

10:54 PM Bug #19364 (Assigned): Issue with tracepoint enable/disable across ractors
This sometimes segfaults:
```ruby
def test_enable_disable_in_multiple_ractors_with_target
rs = []
100.times do |i|
# setup new iseqs
Kernel.define_method :"my_method_to_change_for_tracing_#{i}" do
true
end
...
luke-gru (Luke Gruber)
09:53 PM Bug #19360 (Closed): Enabling coverage with `-r` option isn't sufficient to intercept top level script.
I've merged this fix. I would like this backported to 3.2 if possible, because it's blocking correct coverage computation and I don't want to wait a year to be able to use this fix. ioquatix (Samuel Williams)
12:02 PM Bug #19360: Enabling coverage with `-r` option isn't sufficient to intercept top level script.
Fixed by https://github.com/ruby/ruby/pull/7169/files ioquatix (Samuel Williams)
11:10 AM Bug #19360 (Closed): Enabling coverage with `-r` option isn't sufficient to intercept top level script.
For some reason, Ruby's coverage library doesn't work when the file is loaded from the command line. In the below example, test2.rb loads test.rb. If you run test2.rb with coverage enabled, it will report coverage for test.rb but not tes... ioquatix (Samuel Williams)
09:51 PM Revision 2c93c554 (git): Ensure main file has default coverage if required. (#7169)
* Extract common code for coverage setup. Samuel Williams
09:02 PM Bug #19363: Fix rb_transient_heap_mark: wrong header (T_STRUCT) segfault
Thanks for the report, and for the comprehensive reproduction steps.
Triage note, it seems this issue can happen on `x86_64-linux-musl` without YJIT at runtime.
The crash logs there in the [Circle CI build](https://app.circleci.com/pip...
alanwu (Alan Wu)
06:53 PM Bug #19363 (Assigned): Fix rb_transient_heap_mark: wrong header (T_STRUCT) segfault
## Overview
Hello. 👋 I'm hitting an issue where my build is constantly failing with a segfault. The following is a snippet taken from my local machine with YJIT enabled (see attachments for details):
```
/Users/bkuhlmann/.cache/f...
bkuhlmann (Brooke Kuhlmann)
06:54 PM Bug #19361 (Rejected): String#[Integer] is orders slower for strings with some UTF characters
This is expected. `String#[Integer]` doesn't return a byte but a character, which in UTF-8 may be of variable size, so Ruby has to scan the string from the beginning every time.
byroot (Jean Boussier)
04:36 PM Bug #19361 (Rejected): String#[Integer] is orders slower for strings with some UTF characters
#[] is not only slower compared to itself, but slower compared to #each_char.
seq1
```
# s = '*' * 10e4
s = 'ф' * 10e4
count = 0
size = s.size
while count < size
s[count]
count += 1
end
```
seq2
```
ss = 'ф' * 10e4
...
vzdor (Vladimir Zdorovenco)
06:19 PM Feature #19326: Please add a better API for passing a Proc to a Ractor
> I thought Ractor.new would only accept literal blocks.
I hope not, passing an arbitrary block helps with building functionality on top of Ractors (that I want to do).
> ...
My "Worker" class will have documentation stating that s...
sdwolfz (Codruț Gușoi)
05:55 PM Feature #19326: Please add a better API for passing a Proc to a Ractor
I'm not sure this behavior is intended, cc @ko1.
I thought `Ractor.new` would only accept literal blocks.
The problem is the usual "does not respect the intent of the writer of the block, which expected a specific self".
Also it only ...
Eregon (Benoit Daloze)
07:07 AM Feature #19326: Please add a better API for passing a Proc to a Ractor
OK, I had absolutely no idea you could do that. Thanks for the suggestion! My impressions was `instance_eval` could only be used around where a block is *written*.
Can we document this behaviour somewhere? Maybe in https://docs.ruby-l...
sdwolfz (Codruț Gușoi)
05:04 PM Feature #19362 (Closed): #dup on Proc doesn't call initialize_dup
In #17545, `#dup` had changed to create an instance of the subclass.
It, though, doesn't invoke `initialize_dup` of the subclass, unlike other standard classes.
```ruby
class MyAry < Array
def initialize_dup(...)
p(self.clas...
zverok (Victor Shepelev)
02:16 PM Misc #19359 (Closed): Please close ticket :)
byroot (Jean Boussier)
04:35 AM Misc #19359: Please close ticket :)
Sorry, false alarm :) Stupidly my compilation was silently failing and that's why my printf debugging wasn't working :D luke-gru (Luke Gruber)
01:42 AM Misc #19359 (Closed): Please close ticket :)
I'm not sure why but they aren't being collected. I was looking at the issue https://bugs.ruby-lang.org/issues/19112 to see if I could solve it
and when debugging it I noticed that ractor_free() is never called. I think it could be an i...
luke-gru (Luke Gruber)
11:13 AM Revision 3e7fdf29 (git): Windows build instructions documentation. (#6956)
Windows build instructions. Samuel Williams
11:12 AM Revision 5cdf312d (git): Add `doc/distribution.md` to help reduce some of the confusion. (#6856)
Samuel Williams
10:26 AM Revision 418b03c7 (git): tool/leaked-globals: ignore function typedef [ci skip]
nobu (Nobuyoshi Nakada)
12:48 AM Feature #19324: Enumerator.product => Enumerable#product
> I believe quite many people are in favor of Array.product and/or Array.zip.
I personally find this surprising! It goes against what I find to be some of Ruby’s best design philosophies against Python:
Instance method versions are mor...
ttilberg (Tim Tilberg)
 

Also available in: Atom