Project

General

Profile

Activity

From 01/20/2023 to 01/26/2023

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)

01/20/2023

10:49 PM Feature #15778: Expose an API to pry-open the stack frames in Ruby
Outside of error reporting, having this or similar API will also:
- Allow IRB to display richer exception backtrace. This is helpful when used as `binding.irb`.
- Allow IRB to implement a `bt` command that's similar to `debug`'s.
...
st0012 (Stan Lo)
10:11 PM Revision 06b62cbb (git): Add `offsetof` so we can get the offset of members
I want to get the offset of fields inside structs, but I don't want to
instantiate the struct. I need to embed the offsets inside machine
code, and I can't get the offsets without calling `new` on the struct.
This commit adds an `offse...
tenderlovemaking (Aaron Patterson)
10:09 PM Bug #19112: Ractor garbage collection breaks/disables all active tracepoints
To make sure it's collected:
```ruby
puts RUBY_DESCRIPTION
ractor_id = nil
if ENV['RUN_RACTOR'] == '1'
r = Ractor.new { 10 }
ractor_id = r.object_id
r.take
puts "Ractor ran!"
else
puts "Ractor DID NOT ran!"
end
gc_times = 0
r...
luke-gru (Luke Gruber)
09:51 PM Bug #19112: Ractor garbage collection breaks/disables all active tracepoints
I was just looking into this bug and it's really strange, I initially thought it had to do with single ractor mode vs multi, but if we `sleep 100` inside the ractor everything behaves as it should, so it has to do with the ractor finishi... luke-gru (Luke Gruber)
09:07 PM Revision 887d2161 (git): YJIT: Avoid BorrowError on GC.compact (#7164)
k0kubun (Takashi Kokubun)
08:58 PM Revision 4e037075 (git): Fix typo in RHASH_ST_CLEAR
We should be setting as.st and not as.ar. peterzhu2118 (Peter Zhu)
06:05 PM Bug #19358 (Closed): Segfault when setting RUBY_GC_HEAP_INIT_SLOTS to a low value
Thank you for reporting this bug and @eightbitraptor for checking that the patch works on 3.1.3. I marked that patch for backporting to 3.1. peterzhu2118 (Peter Zhu)
05:06 PM Bug #19358: Segfault when setting RUBY_GC_HEAP_INIT_SLOTS to a low value
Can confirm that applying the patch from https://bugs.ruby-lang.org/issues/19284 to the 3.1.3 branch fixes the issue for me.
I think this should be marked for Backport
What do you think @peterzhu2118
eightbitraptor (Matt V-H)
04:08 PM Bug #19358 (Closed): Segfault when setting RUBY_GC_HEAP_INIT_SLOTS to a low value
This bug is similar to #19284
In Ruby 2.7 this works fine
```
docker run --rm -it -e RUBY_GC_HEAP_INIT_SLOTS=1 ruby:2.7 ruby -e 'puts "hello, world!"'
hello, world!
```
On Ruby 3.1 I get a segfault
```
docker run --rm -it ...
xfalcox (Rafael Silva)
04:58 PM Feature #19347: Add Dir.fchdir
ko1 (Koichi Sasada) wrote in #note-3:
> At the dev meeting there are 4 ideas:
I considered the first three ideas when implementing this support. Let me add my comments on each.
> ...
The reason I used this approach is that this f...
jeremyevans0 (Jeremy Evans)
06:25 AM Feature #19347: Add Dir.fchdir
At the dev meeting there are 4 ideas:
* 4 ideas
* `Dir.fchdir(int)`
* Proposed
* Consistent to the POSIX API
* Can be extended for `Dir.fchdir(dir)` and `Dir.fchdir(io)`
* `Dir.chdir(int)`
* Do not need to ad...
ko1 (Koichi Sasada)
04:38 PM Bug #19237 (Closed): Hash default_proc is not thread-safe to lazy-initialize value for a given key
Applied in changeset commit:git|ffd52412ab813854d134dbbc2b60f698fe536487.
----------
Document thread-safety issues with Hash default_proc
Fixes [Bug #19237]
jeremyevans (Jeremy Evans)
05:57 AM Bug #19237: Hash default_proc is not thread-safe to lazy-initialize value for a given key
Discussed at the dev meeting. @matz said "The performance penalty is not acceptable. Addition to the documentation looks good enough." mame (Yusuke Endoh)
04:36 PM Revision ffd52412 (git): Document thread-safety issues with Hash default_proc
Fixes [Bug #19237] jeremyevans (Jeremy Evans)
04:11 PM Bug #18666: No rule to make target 'yaml/yaml.h', needed by 'api.o'
______________________________________________ Anonymous
11:48 AM Bug #18666 (Feedback): No rule to make target 'yaml/yaml.h', needed by 'api.o'
@duerst This issue may cause with your environment. hsbt (Hiroshi SHIBATA)
04:06 PM Feature #19326: Please add a better API for passing a Proc to a Ractor
If you want Ractor to be an implementation detail of Worker you could do:
```ruby
class Worker
def initialize(&block)
@block = block
end
def run
block = @block
true.instance_eval { Ractor.new(&block) }
end
end
work...
luke-gru (Luke Gruber)
04:01 PM Revision 0457e434 (git): Remove unused struct member thgroup->group
eightbitraptor (Matt V-H)
03:57 PM Revision 36fa4f13 (git): YJIT: get rid of unneeded `.into()`
Jimmy Miller
03:30 PM Revision 15328302 (git): In `UNALIGNED_MEMBER_PTR` cast through `void` pointer
Suppress warnings shown even with `-Waddress-of-packed-member`
disabled in gcc 11.
nobu (Nobuyoshi Nakada)
03:30 PM Revision f0f2535c (git): Add `queue_list` and `szqueue_list` macros
nobu (Nobuyoshi Nakada)
01:51 PM Revision 056e7a01 (git): Make all of the references of iseq movable
peterzhu2118 (Peter Zhu)
01:40 PM Revision 76e3d853 (git): [ruby/reline] Add autoindent test for indent after bracket and newline
https://github.com/ruby/reline/commit/3f3da7d0e2 tompng (tomoya ishida)
01:40 PM Revision 4241b3cf (git): [ruby/reline] accept new_indent > cursor_max
https://github.com/ruby/reline/commit/61cc580da4 tompng (tomoya ishida)
01:06 PM Revision 0cc91871 (git): [rubygems/rubygems] Update bundle-exec man page for with_unbundled_env
`with_clean_env` has been deprecated in `with_unbundled_env`. It already generates a deprecation warning when it uses, but this man page was still referring to it. Josh Nichols
12:41 PM Revision c948a081 (git): Add a NEWS entry for [Feature #19314] [ci skip]
shugo (Shugo Maeda)
11:39 AM Feature #16963 (Closed): Remove English.rb from Ruby 2.8/3.0
I withdraw this proposal. We need to consider another deprecate plan. hsbt (Hiroshi SHIBATA)
11:33 AM Bug #18381: Default vs Bundled gems
I'll document this. hsbt (Hiroshi SHIBATA)
11:33 AM Bug #19337 (Closed): What is the difference between "default" gems and "bundled" gems?
This is duplicated as #18381 hsbt (Hiroshi SHIBATA)
11:00 AM Bug #19354: Issues with arguments validation in IO.read
Yeah, I understand that it's caused by the way how `IO.read` is implemented.
My point is that from the end-user point of view current error message (`given 3, expected 0..2`) is slightly misleading/confusing.
andrykonchin (Andrew Konchin)
06:08 AM Bug #19354 (Feedback): Issues with arguments validation in IO.read
`IO.read` opens the file given as the first argument, then delegates the other arguments to `IO#read` on the instance.
Your error happens in the delegated `IO#read`.
Since 3.0, keyword arguments are separated from mere hashes.
I thi...
nobu (Nobuyoshi Nakada)
10:39 AM Revision 53cd5796 (git): [rubygems/rubygems] Clean test output
The output from the command is mixed in this test, even when
successful.
Use the output as a part of the message on failure instead.
https://github.com/rubygems/rubygems/commit/960509a133
nobu (Nobuyoshi Nakada)
09:02 AM Misc #16671 (Closed): BASERUBY version policy
Applied in changeset commit:git|1edef08ddadf0bd76122f830ef7953cda61c78aa.
----------
Added version policy of BASERUBY
[Misc #16671]
hsbt (Hiroshi SHIBATA)
09:02 AM Revision cce39609 (git): [Feature #19314] Add new arguments of String#bytesplice
bytesplice(index, length, str, str_index, str_length) -> string
bytesplice(range, str, str_range) -> string
In these forms, the content of +self+ is replaced by str.byteslice(str_index, str_length) or str.byteslice(str_range); however...
shugo (Shugo Maeda)
08:54 AM Revision 845f6275 (git): OpenSSL, libyaml and zlib is always required to build. see test/test_extlibs.rb
hsbt (Hiroshi SHIBATA)
08:54 AM Revision 231b09f1 (git): Added supported versions to OpenSSL and libyaml
hsbt (Hiroshi SHIBATA)
08:54 AM Revision 1edef08d (git): Added version policy of BASERUBY
[Misc #16671] hsbt (Hiroshi SHIBATA)
08:42 AM Revision 6aa9c845 (git): Separate dependencies section from quick start
hsbt (Hiroshi SHIBATA)
08:42 AM Feature #19236: Allow to create hashes with a specific capacity from Ruby
Well, `Hash.new(capacity: 4096)` was definitely my first pick, so this is great news IMO.
> how about deprecating giving the keyword to Hash.new and then introducing Hash.new(capacity: 4096)?
What would be the timeline?
Depreca...
byroot (Jean Boussier)
05:31 AM Feature #19236: Allow to create hashes with a specific capacity from Ruby
Discussed at the dev meeting.
@matz said that `Hash.create(capacity: 4096)` is acceptable (unless it conflicts with any major gems). However, several participants including @ko1 were a little cautious about introducing the new termino...
mame (Yusuke Endoh)
08:38 AM Revision ea10dea6 (git): fixed wrong version of baseruby
hsbt (Hiroshi SHIBATA)
08:14 AM Feature #19314 (Closed): String#bytesplice should support partial copy
Applied in changeset commit:git|373e62248c9dceb660e95f1cf05fa2a4a469cd64.
----------
merge revision(s) f7b72462aa27716370c6bea1f2c240983aca9a55: [Backport #19356]
String#bytesplice should return self
In Feature #19314,...
naruse (Yui NARUSE)
08:14 AM Bug #19356 (Closed): Backport f7b72462aa27716370c6bea1f2c240983aca9a55
Applied in changeset commit:git|373e62248c9dceb660e95f1cf05fa2a4a469cd64.
----------
merge revision(s) f7b72462aa27716370c6bea1f2c240983aca9a55: [Backport #19356]
String#bytesplice should return self
In Feature #19314,...
naruse (Yui NARUSE)
07:06 AM Bug #19356: Backport f7b72462aa27716370c6bea1f2c240983aca9a55
ruby_3_2 373e62248c9dceb660e95f1cf05fa2a4a469cd64 merged revision(s) f7b72462aa27716370c6bea1f2c240983aca9a55. naruse (Yui NARUSE)
02:28 AM Bug #19356 (Closed): Backport f7b72462aa27716370c6bea1f2c240983aca9a55
Please backport [f7b72462aa27716370c6bea1f2c240983aca9a55](https://github.com/ruby/ruby/commit/f7b72462aa27716370c6bea1f2c240983aca9a55).
In Feature #19314, we concluded that the return value of String#bytesplice should be changed fro...
shugo (Shugo Maeda)
08:13 AM Revision a0626e11 (git): Bundle RBS 2.8.4 (#7159)
soutaro (Soutaro Matsumoto)
08:01 AM Revision c0df0a85 (git): merge revision(s) ed6fbb79e19bf401db0e85447fee955fd10a25c7: [Backport #19339]
Fix crash when defining ivars on special constants
[Bug #19339]
---
test/ruby/test_variable.rb | 6 ++++++
vm_insnhelper.c | 5 +++++
2 files changed, 11 insertions(+)
naruse (Yui NARUSE)
08:01 AM Bug #19316: YJIT crash in 3.2.0
ruby_3_2 1fb5eb5740d4c4f1fc34a4a50bc0482eac27b545 merged revision(s) aeddc19340c7116d48fac3080553fbb823857d16. naruse (Yui NARUSE)
07:05 AM Revision d80a574a (git): Update bundled gems list at 2023-01-20
git[bot]
06:51 AM Bug #19286 (Closed): What should kwargs' arity be?
Withdrawing the issue. Thank you for your participation in the discussion! matsuda (Akira Matsuda)
05:58 AM Bug #19286: What should kwargs' arity be?
Discussed at the dev meeting. @matz said the current behavior is fair, and @matsuda agreed with that. So keep it as is. mame (Yusuke Endoh)
06:10 AM Misc #19357 (Closed): DevMeeting-2023-02-09
# The next dev meeting
**Date: 2023/02/09 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/2023/DevMeeting-2023-02-09.md
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at t...
mame (Yusuke Endoh)
06:10 AM Misc #19240 (Closed): DevMeeting-2023-01-19
mame (Yusuke Endoh)
06:02 AM Bug #19293: The new Time.new(String) API is nice... but we still need a stricter version of this
Discussed at the dev meeting. @naruse said "`Time.new("2023")` is 1.9.2 feature. We can’t deprecate on 3.2.1. Need to continue the discussion for Ruby 3.3."
BTW Ruby 3.2.0 accidentally allows `Time.new("2023-01")`, `Time.new("2023-01-...
mame (Yusuke Endoh)
05:55 AM Bug #18518: NoMemoryError + [FATAL] failed to allocate memory for twice 1 << large
Discussed at the dev meeting.
Are there any real-world use cases (other than rubyspec) where you would like to prohibit `integer << large`?
@matz was initially positive about prohibiting huge object generation as early failure. How...
mame (Yusuke Endoh)
05:41 AM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
Discussed at the dev meeting. @matz is positive about the change and said he would give it a try. The message format is slightly changed as follows:
* If the receiver is a Class, `... for class <class name>` should be printed.
* If t...
mame (Yusuke Endoh)
04:37 AM Feature #19245: Strict mode for Array#pack that doesn't silently truncate numbers that are too large for the given directive
Discussed at the dev meeting. We need to determine some detailed behaviors:
* Should `[-1].pack("C", strict: true)` raise an exception because 'C' represents unsigned char? If what you want is "wrap around", it should raise an error b...
mame (Yusuke Endoh)
03:24 AM Revision 373e6224 (git): merge revision(s) f7b72462aa27716370c6bea1f2c240983aca9a55: [Backport #19356]
String#bytesplice should return self
In Feature #19314, we concluded that the return value of String#bytesplice
should be changed from the source string to the receiver, because the source
string is useless and c...
naruse (Yui NARUSE)
02:05 AM Bug #19327: Backport commits 3be2acfafd3b3c6168e2266c7c6561d143d7ae5c and 9726736006b3f74635fd8af05814fe0908e2cf84
ruby_3_2 6a8fcb50210f8414d76968298576e39b9fa82562 merged revision(s) 3be2acfafd3b3c6168e2266c7c6561d143d7ae5c. naruse (Yui NARUSE)
01:18 AM Bug #19341 (Closed): Write cache issue with class variables
Applied in changeset commit:git|f66804e6f78ed4cf81896d2256743a820b05939a.
----------
don't allow setting class variable on module that's frozen [Bug #19341]
luke-gru (Luke Gruber)
 

Also available in: Atom