Project

General

Profile

Activity

From 06/17/2025 to 06/23/2025

06/23/2025

11:55 PM Revision 74e6bddf (git): ZJIT: Parse putspecialobject(VMCore) into Const (#13683)
This way we get more information in HIR for the optimizer.
Fix https://github.com/Shopify/ruby/issues/587
tekknolagi (Maxwell Bernstein)
10:41 PM Revision 3a9bf4a2 (git): ZJIT: Optimize frozen array aref (#13666)
If we have a frozen array `[..., a, ...]` and a compile-time fixnum index `i`,
we can do the array load at compile-time.
tekknolagi (Maxwell Bernstein)
08:17 PM Misc #21399: DevMeeting-2025-07-10
* [Feature #17473] Make Pathname to embedded class of Ruby (eregon)
* Related to that issue and discussed there, I made a PR to define most of Pathname in Ruby: https://github.com/ruby/pathname/pull/53
* It's faster, easier to read a...
Eregon (Benoit Daloze)
08:10 PM Feature #17473: Make Pathname to embedded class of Ruby
I (finally) made a PR to define most of Pathname in Ruby: https://github.com/ruby/pathname/pull/53 Eregon (Benoit Daloze)
07:07 PM Bug #21398: Ractor.select hangs when multiple threads submit heavy jobs concurrently
I sent a [PR](https://github.com/ruby/ruby/pull/13682) for this but I don't know if this is the proper fix or if we should use a different mutex to wait for condvar for DNTs. I did, however, figure out why it's happening. @ko1 what are y... luke-gru (Luke Gruber)
05:43 AM Bug #21398: Ractor.select hangs when multiple threads submit heavy jobs concurrently

I'm experiencing a hang when combining `Ractor::Port` and multiple `Thread`s in Ruby 3.5.0dev (ruby-head). The script below is a modified version of the one shared in comment #1 of this issue, with adjusted parameters.
When I increase...
arino.tamada (有乃 玉田)
06:20 PM Bug #20714: Handle optional dependencies in `bundled_gems.rb`
For what it's worth, I did end up considering my PR a strict improvement over what we have now, but I just closed it because it was ignored for a long time. Hopefully we'll have a proper solution in the future. deivid (David Rodríguez)
05:56 PM Bug #21449 (Closed): Set#divide is order dependent and not working correctly
Applied in changeset commit:git|67346a7d94b101acc00c177b01ad0aabfef605a8.
----------
[Bug #21449] Fix Set#divide{|a,b|} using Union-find structure (#13680)
* [Bug #21449] Fix Set#divide{|a,b|} using Union-find structure
Implements Uni...
tompng (tomoya ishida)
01:23 PM Bug #21449: Set#divide is order dependent and not working correctly
pull request https://github.com/ruby/ruby/pull/13680 tompng (tomoya ishida)
01:15 PM Bug #21449 (Closed): Set#divide is order dependent and not working correctly
~~~ruby
Set[0,1,2,3].divide{(_1 - _2).abs == 1}
#=> #<Set: {#<Set: {0, 1, 2, 3}>}>
Set[0,2,3,1].divide{(_1 - _2).abs == 1}
#=> #<Set: {#<Set: {0, 1, 2, 3}>}> (ruby 3.4)
#=> #<Set: {#<Set: {0, 1}>, #<Set: {2, 3, 1}>}> (ruby 3.5.0de...
tompng (tomoya ishida)
05:56 PM Revision 67346a7d (git): [Bug #21449] Fix Set#divide{|a,b|} using Union-find structure (#13680)
* [Bug #21449] Fix Set#divide{|a,b|} using Union-find structure
Implements Union-find structure with path compression.
Since divide{|a,b|} calls the given block n**2 times in the worst case, there is no need to implement union-by-rank o...
tompng (tomoya ishida)
05:28 PM Revision db6f3979 (git): Tweaks for String#bytesize
burdettelamar (Burdette Lamar)
03:20 PM Revision b1ce569f (git): ZJIT: `anytostring` to HIR (GH-13658)
Pop two values from the stack, return the first if it is a string,
otherwise return string coercion of the second
Also piggybacks a fix for string subclasses skipping `to_s` for
`objtostring`.
Co-authored-by: composerinteralia <compose...
ywenc (CY Wen)
03:15 PM Bug #21450 (Closed): Inconsistent `upcase` between `String` and `Symbol`
Behavior for `Symbol#upcase` and `String#upcase` differs for `i` character if the `:turkic` option is present
I'd expect `val.upcase(:turkic)` behaves consistently for both cases:
```ruby
'i'.upcase(:turkic)
# "İ" with dot
:i....
Stranger6667 (Dmitry Dygalo)
11:03 AM Revision af6b98f7 (git): Make the critical level an enum
nobu (Nobuyoshi Nakada)
09:04 AM Revision c6dd07d6 (git): Allocate singleton classes as namespaceable if their parent are
byroot (Jean Boussier)
09:04 AM Revision 32ee3fab (git): Shink RClass when it is known they can't be namespaced
Even when namespaces are enabled, only a few core classes created
during init will eventually be namespaced.
For these it's OK to allocate a 320B slot to hold the extra namespace
stuff.
But for any class created post init, we know we'l...
byroot (Jean Boussier)
09:04 AM Revision ea4a53c5 (git): Avoid creating namespace table for classes that can't be namespaced.
byroot (Jean Boussier)
09:04 AM Revision 071b9aff (git): Ensure `RCLASS_CLASSEXT_TBL` accessor is always used.
byroot (Jean Boussier)
09:04 AM Revision 96a0c206 (git): Mark RClass instance that may be namespaced with RCLASS_NAMESPACEABLE
byroot (Jean Boussier)
09:04 AM Revision 393e9a5f (git): Optimize `rb_namespace_available`
Rather than to lazily check the env using a trinary
value, we can more straightforwardly check for the
env during the VM boot.
This allow `rb_namespace_available` to just be a pointer
dereference.
byroot (Jean Boussier)
02:08 AM Revision ce38cba5 (git): Merge blocks for the same condition
nobu (Nobuyoshi Nakada)
02:07 AM Revision a1d62a3b (git): [rubygems/rubygems] Handle RubyGems installing to custom dir with non-existent parent dirs
https://github.com/rubygems/rubygems/commit/4701123601 larouxn (Nicholas La Roux)
02:07 AM Revision 8f009601 (git): [rubygems/rubygems] Handle `Errno::EADDRNOTAVAIL` gracefully
As showed by the unskiped spec, on Windows trying to use the 0.0.0.0
interface raises this error, and it's raised as a generic system error
when trying to create a `bundler.lock` file. Here's is a better place to
handle that.
https://gi...
deivid (David Rodríguez)
02:07 AM Revision 7fe1fc39 (git): [rubygems/rubygems] Make `HTTP_ERRORS` list look like `FAIL_ERRORS` list
https://github.com/rubygems/rubygems/commit/bfa6770e39 deivid (David Rodríguez)
02:07 AM Revision c3bfce51 (git): [rubygems/rubygems] Simplify non retriable errors list
https://github.com/rubygems/rubygems/commit/627a7615f2 deivid (David Rodríguez)
02:07 AM Revision 627ca420 (git): [rubygems/rubygems] Move `HTTP_ERRORS` together with the other error constants
https://github.com/rubygems/rubygems/commit/57e8ae7aa6 deivid (David Rodríguez)
02:06 AM Revision 746e0d3e (git): [rubygems/rubygems] Deprecate unused `Bundler#SpecSet` methods
https://github.com/rubygems/rubygems/commit/380c95ce05 deivid (David Rodríguez)
02:06 AM Revision 7c326ee7 (git): [rubygems/rubygems] Remove usage of `Bundler::SpecSet#<<`
https://github.com/rubygems/rubygems/commit/b556167793 deivid (David Rodríguez)
02:06 AM Revision 7c115b86 (git): [rubygems/rubygems] Fix flaky test failures in mirror probing specs
The mirror probing spec file was moved to our regular suite, which runs
in parallel, recently. These specs rely on starting and stopping actual
servers in localhost, but this does not play nice with parallelization,
because a spec may ki...
deivid (David Rodríguez)
01:28 AM Bug #21448: Random.urandom may fail to fall back to reading /dev/urandom on Linux < 3.17
rhenium (Kazuki Yamaguchi) wrote in #note-2:
> FWIW `getentropy()` has recently made it into POSIX (with a slight difference in errno behavior compared to existing implementations). I think supporting it as an alternative makes sense, n...
nobu (Nobuyoshi Nakada)

06/22/2025

10:34 AM Misc #20968: `Array#fetch_values` unexpected method name in stack trace
@mame Here is an example bug due to this change, based on the `inject` case I mentioned in https://bugs.ruby-lang.org/issues/20968#note-6.
I think this is strong enough to revert that change.
ruby-master:
```
$ ruby -e '[1,2].injec...
Eregon (Benoit Daloze)
09:00 AM Bug #21444 (Closed): Crash in GC after accessing `object_id` (`obj_free` called for broken object)
byroot (Jean Boussier)

06/21/2025

09:43 PM Revision 353fa6f0 (git): Avoid allocation for positional splat for literal array keyword argument
If all nodes in the array are safe, then it is safe to avoid
allocation for the positional splat:
```ruby
m(*a, kw: [:a]) # Safe
m(*a, kw: [meth]) # Unsafe
```
This avoids an unnecessary allocation in a Rails method call.
Details: ht...
jeremyevans (Jeremy Evans)
05:00 PM Revision d84a811f (git): [Bug #21448] Reorder trials in `fill_random_bytes`
First try dedicated system calls, such as `getrandom` or `getentropy`,
next possible libraries, then fallback to `/dev/urandom`.
nobu (Nobuyoshi Nakada)
04:08 PM Revision ec20f7fe (git): Suppress warnings
- `ractor_sync_terminate_atfork` is unused unless fork is working
- `cr` in `vm_lock_leave` is only for debugging
nobu (Nobuyoshi Nakada)
04:07 PM Bug #21445: [BUG] push_mark_stack() called for broken object raised since cd9f447be247478d2eb3da985295735cce20cb23
Cool, that works (for me at least). You can also close https://bugs.ruby-lang.org/issues/21444, since it was the same problem. Earlopain (Earlopain _)
01:40 PM Bug #21445 (Closed): [BUG] push_mark_stack() called for broken object raised since cd9f447be247478d2eb3da985295735cce20cb23
Applied in changeset commit:git|edbd9ed46842b8cd811fba45a373bb39ee155bfb.
----------
variable.c: avoid out of bound write in `generic_field_set`
[Bug #21445]
byroot (Jean Boussier)
12:45 PM Bug #21445: [BUG] push_mark_stack() called for broken object raised since cd9f447be247478d2eb3da985295735cce20cb23
Thanks for the even simpler repro. I got a fix: https://github.com/ruby/ruby/pull/13675 byroot (Jean Boussier)
10:17 AM Bug #21445: [BUG] push_mark_stack() called for broken object raised since cd9f447be247478d2eb3da985295735cce20cb23
I was just trying to reduce my issue in https://bugs.ruby-lang.org/issues/21444 and while I did manage to do so, I now ended up at the assertion from this bug report. So I guess they are the same issue:
```rb
class Foo
def initialize
...
Earlopain (Earlopain _)
09:39 AM Bug #21445: [BUG] push_mark_stack() called for broken object raised since cd9f447be247478d2eb3da985295735cce20cb23
> So there must be something more than just a T_DATA.
The common denominator between the two impacted gems seem to be that they don't set: `RUBY_TYPED_FREE_IMMEDIATELY`. So something must be happening during the zombie phase.
byroot (Jean Boussier)
09:33 AM Bug #21445: [BUG] push_mark_stack() called for broken object raised since cd9f447be247478d2eb3da985295735cce20cb23
Much smaller repro:
```ruby
require "sqlite3"
10.times do
db = SQLite3::Database.new(":memory:")
db.__id__
db = nil
GC.stress = true
Object.new
GC.stress = false
end
```
byroot (Jean Boussier)
09:25 AM Bug #21445: [BUG] push_mark_stack() called for broken object raised since cd9f447be247478d2eb3da985295735cce20cb23
Another observation:
- It reproduce with `sqlite3` and `mysql2`, but not with `postgresql` nor `trilogy`. So there must be something more than just a `T_DATA`.
byroot (Jean Boussier)
09:18 AM Bug #21445: [BUG] push_mark_stack() called for broken object raised since cd9f447be247478d2eb3da985295735cce20cb23
I had a bit of time to look at that this morning.
A few observations:
- It's triggered by a very specific test, that calls `__id__` on `T_DATA` objects.
- I can make it consistently fail with `GC.stress`: https://github.com/by...
byroot (Jean Boussier)
01:40 PM Revision edbd9ed4 (git): variable.c: avoid out of bound write in `generic_field_set`
[Bug #21445] byroot (Jean Boussier)
10:57 AM Bug #21448 (Closed): Random.urandom may fail to fall back to reading /dev/urandom on Linux < 3.17
Applied in changeset commit:git|1181a682a6c314c92686e3701defa1eb44068c4e.
----------
[Bug #21448] Use `getentropy(2)` only on macOS
If this is not a system call, then it is using getrandom (which would
have been tried already), and can...
nobu (Nobuyoshi Nakada)
08:24 AM Bug #21448: Random.urandom may fail to fall back to reading /dev/urandom on Linux < 3.17
FWIW `getentropy()` has recently made it into POSIX (with a slight difference in errno behavior compared to existing implementations). I think supporting it as an alternative makes sense, not just for macOS.
https://pubs.opengroup.org...
rhenium (Kazuki Yamaguchi)
06:26 AM Bug #21448: Random.urandom may fail to fall back to reading /dev/urandom on Linux < 3.17
Unfortunately, despite the same signature, `getentropy` is different thing in different layers depending on the platform.
* `getentropy(3)` - a library function on Linux:
> The `getentropy()` function is implemented using `getr...
nobu (Nobuyoshi Nakada)
10:57 AM Revision 0cec4a14 (git): Restore getrandom(2) path for Linux with glibc 2.36 or later
This is a follow-up to commit b120f5e38d9c (avoid fork-unsafe arc4random
implementations, 2018-09-04).
Avoid defining a no-op fill_random_bytes_syscall() if arc4random_buf(3)
exists, but we are unsure if it is fork-safe. Check for other...
rhenium (Kazuki Yamaguchi)
10:19 AM Bug #21444: Crash in GC after accessing `object_id` (`obj_free` called for broken object)
Probably the same as https://bugs.ruby-lang.org/issues/21445, during reduction I started hitting `push_mark_stack() called for broken object` instead. Earlopain (Earlopain _)
07:52 AM Revision 1181a682 (git): [Bug #21448] Use `getentropy(2)` only on macOS
If this is not a system call, then it is using getrandom (which would
have been tried already), and cannot be used as a replacement for the
random devices.
nobu (Nobuyoshi Nakada)
04:14 AM Revision dbc59693 (git): Move a comment to the corresponding conditional block [ci skip]
nobu (Nobuyoshi Nakada)
12:15 AM Revision 6602a08a (git): ZJIT: Move ccall comments near ccall instructions (#13662)
Don't confuse them with other nearby instructions. tekknolagi (Maxwell Bernstein)

06/20/2025

11:47 PM Bug #21447 (Closed): Fix handling of PM_CONSTANT_PATH_NODE node in keyword arguments with ARGS_SPLAT
Fixed by commit:1d94a9e1a4351e01f851dad250ba97dad859ee70 jeremyevans0 (Jeremy Evans)
03:22 AM Bug #21447 (Closed): Fix handling of PM_CONSTANT_PATH_NODE node in keyword arguments with ARGS_SPLAT
I added an optimization to reduce implicit allocations when using parse.y in commit:3de20efc308cccc38bf9dacfffca6c626d039a06. An implementation was added for prism in commit:14bb376b79ca9140bfd36dbbad06be045f31f92e. Unfortunately, when... jeremyevans0 (Jeremy Evans)
11:46 PM Revision 1d94a9e1 (git): Fix handling of PM_CONSTANT_PATH_NODE node in keyword arguments with ARGS_SPLAT
This was handled correctly in parse.y (NODE_COLON2), but not in
prism. This wasn't caught earlier, because I only added tests for
the optimized case and not the unoptimized case. Add tests for
the unoptimized case.
In code terms:
```ru...
jeremyevans (Jeremy Evans)
05:58 PM Revision 112ba706 (git): [ruby/openssl] ssl: add SSLContext#sigalgs= and #client_sigalgs=
Add methods for setting supported signature algorithms, corresponding
to SSL_CTX_set1_sigalgs_list() and SSL_CTX_set1_client_sigalgs_list(),
respectively.
https://github.com/ruby/openssl/commit/6bbe58c492
Co-authored-by: Markus Jung <m...
rhenium (Kazuki Yamaguchi)
05:58 PM Revision 0d75dd1f (git): [ruby/openssl] ssl: update rdoc for SSLContext#ciphers= and #ciphersuites=
https://github.com/ruby/openssl/commit/54f22395e7 rhenium (Kazuki Yamaguchi)
05:58 PM Revision 444b94c0 (git): [ruby/openssl] ssl: correct array index type in build_cipher_string()
https://github.com/ruby/openssl/commit/9c9333c07d rhenium (Kazuki Yamaguchi)
05:37 PM Bug #21375: Set[] does not call #initialize
Ethan (Ethan -) wrote in #note-3:
> My feeling is that the base expectation is that #initialize is called on new objects.
I agree.
`Array[*args]` is equivalent to `Array.new.concat(*args)` and in that case there was no need to call #ini...
Dan0042 (Daniel DeLorme)
05:13 PM Revision edfcbaca (git): thread_cleanup: set CFP to NULL before clearing ec's stack
We clear the CFP first so that if a sampling profiler interrupts the current thread during `rb_ec_set_vm_stack`,
`thread_profile_frames` returns early instead of trying to walk the stack that's no longer set on the ec.
The early return ...
Luke Gruber
04:52 PM Revision b6babd9a (git): ZJIT: Typofix (#13665)
hsbt (Hiroshi SHIBATA)
04:43 PM Bug #21445: [BUG] push_mark_stack() called for broken object raised since cd9f447be247478d2eb3da985295735cce20cb23
Assigning to myself, but I might not have time to look into it before Tuesday so feel free to investigate if you so desire. byroot (Jean Boussier)
03:03 PM Bug #21448 (Closed): Random.urandom may fail to fall back to reading /dev/urandom on Linux < 3.17
Origianlly reported for tmpdir: https://github.com/ruby/tmpdir/issues/50
On Linux, `Random.urandom` is expected to first attempt the `getrandom(2)` syscall (Linux >= 3.17), and fall back to reading from `/dev/urandom` if it is not sup...
rhenium (Kazuki Yamaguchi)
11:35 AM Revision d31d62d6 (git): Dump with debugger just once
nobu (Nobuyoshi Nakada)
09:39 AM Revision d9efc56c (git): [ruby/io-console] Ignore `^C` at interrupt
It's something we don't expect and might be coming from somewhere
else.
https://github.com/ruby/io-console/commit/f0646b2b6a
nobu (Nobuyoshi Nakada)
08:55 AM Revision 7addde1e (git): Revert to setup-ruby v1.231.0
v1.245.0 is not working with the following issue:
https://github.com/ruby/ruby/actions/runs/15769771616/job/44464179119?pr=13661
```
D:/a/ruby/ruby/src/test/rubygems/mock_gem_ui.rb:83:in 'Gem::MockGemUi#terminate_interaction': Gem::Moc...
hsbt (Hiroshi SHIBATA)
08:55 AM Revision 092ea7a1 (git): Update to the latest step versions at the GitHub Actions
hsbt (Hiroshi SHIBATA)
08:40 AM Revision 896f9f63 (git): CI: Run Launchable in the build directory
As well as compilers/entrypoint.sh. nobu (Nobuyoshi Nakada)
07:50 AM Revision 7a735c48 (git): Fix indents in macros
nobu (Nobuyoshi Nakada)
07:50 AM Revision 68d6cc6b (git): Do not fetch already fetched commits
nobu (Nobuyoshi Nakada)
06:33 AM Revision 29c7f849 (git): Use another credential for generating new releases
hsbt (Hiroshi SHIBATA)
04:52 AM Revision 8ce65463 (git): Update bundled gems list as of 2025-06-20
git[bot]
03:45 AM Revision e2394167 (git): Rename token name to more descriptive
hsbt (Hiroshi SHIBATA)
03:35 AM Revision 1e428366 (git): Use windows-2025 image because that have pre-installed winget
hsbt (Hiroshi SHIBATA)
02:40 AM Revision fafae10d (git): Separate credential with auto_request_review and others
hsbt (Hiroshi SHIBATA)
01:44 AM Revision 9e8fa9bc (git): Re-enabled to upload sarif file of scorecards
hsbt (Hiroshi SHIBATA)
01:44 AM Revision 54681485 (git): Update scorecards action with the latest template file
hsbt (Hiroshi SHIBATA)
12:51 AM Revision 9e33e043 (git): ZJIT: Add pass to clean CFG (#13655)
We can fuse linked lists of blocks. This can be run any time, improves
future analyses, improves codegen, and also makes the HIR output look
nicer.
Inspired by my implementation of CleanCFG for Cinder, which was itself
inspired by Brett...
tekknolagi (Maxwell Bernstein)
12:16 AM Bug #21446: StackOverflow when changing visibility in reopened refinement
It does not seem to need to reopen the refinement.
Reproduces just by changing visibility twice.
```ruby
module R
refine B do
private :a
public :a
end
end
```
nobu (Nobuyoshi Nakada)
12:16 AM Revision 2a79d7fc (git): Separate credential with dependabot and others
hsbt (Hiroshi SHIBATA)

06/19/2025

06:21 PM Bug #21445: [BUG] push_mark_stack() called for broken object raised since cd9f447be247478d2eb3da985295735cce20cb23
GitHub is also seeing a test failure that we bisected to cd9f447be247478d2eb3da985295735cce20cb23. We're still working on narrowing it down (it's only failing in CI), so not sure yet how related it is to this crash. dodecadaniel (Daniel Colson)
01:23 AM Bug #21445 (Closed): [BUG] push_mark_stack() called for broken object raised since cd9f447be247478d2eb3da985295735cce20cb23
Rails CI against Ruby master branch fails
https://buildkite.com/rails/rails-nightly/builds/2398#019784d7-fbc2-4ff4-aee7-6e74eb560369
According to git bisect, this issue is triggered by cd9f447be247478d2eb3da985295735cce20cb23 .
H...
yahonda (Yasuo Honda)
05:16 PM Bug #21446 (Open): StackOverflow when changing visibility in reopened refinement
```ruby
class A
def a
:a
end
end
class B < A
end
module R
refine B do
private :a
end
end
module R
refine B do
public :a
end
end
using R
B.new.a # StackOverflow
```
I would expect it to cha...
luke-gru (Luke Gruber)
04:19 PM Revision 38d38bd5 (git): ZJIT: objtostring to HIR
Add a fast path for known strings at compile time, otherwise calls method id to_s using Insn::SendWithoutBlock
Co-authored-by: composerinteralia <[email protected]>
More specific test name in zjit/src/hir.rs
Co-authored-by:...
ywenc (CY Wen)
02:29 PM Revision 34eaa641 (git): ZJIT: Add `dupn` support
alanwu (Alan Wu)
12:17 PM Revision 82dfd44f (git): CI: Extract `launchable_setup` function
nobu (Nobuyoshi Nakada)
12:17 PM Revision 1b018d96 (git): CI: Extract `launchable_record_session` function
nobu (Nobuyoshi Nakada)
12:17 PM Revision 87d33583 (git): CI: Store session info in variables directly
nobu (Nobuyoshi Nakada)
11:38 AM Revision 963fc0ab (git): ZJIT: Implement `opt_reverse`
alanwu (Alan Wu)
10:49 AM Revision 2eb5ee8a (git): Remove unnecessary shebang and excutable bits [ci skip]
nobu (Nobuyoshi Nakada)
08:28 AM Revision 0be7fedd (git): Fix EnvUtil::Debugger#dump
- Send outputs from debugger to stderr
- Use `%W` to interpolate the pid
nobu (Nobuyoshi Nakada)
07:49 AM Revision d4ed7eb1 (git): Relax delta value
https://github.com/ruby/ruby/actions/runs/15751511003/job/44397451542?pr=13649
```
1) Failure:
TestLastThread#test_last_thread [/Users/runner/work/ruby/ruby/src/test/-ext-/gvl/test_last_thread.rb:18]:
Expected |1.0 - 1.167141| (...
hsbt (Hiroshi SHIBATA)
05:18 AM Revision 6929542a (git): Update CGI sections under the doc directory
hsbt (Hiroshi SHIBATA)
04:17 AM Revision ef2b26cc (git): `struct iseq_catch_table` is packed
nobu (Nobuyoshi Nakada)
03:54 AM Revision 912edb47 (git): Fix missing write barrier on class fields
Found by wbcheck
klass = Class.new
200.times do |iv|
klass.instance_variable_set("@_iv_#{iv}", Object.new)
end
jhawthorn (John Hawthorn)
02:33 AM Revision bfb14c2b (git): [DOC] Add the link to [Feature #21219]
nobu (Nobuyoshi Nakada)
02:17 AM Revision 5a199140 (git): [DOC] Fix indentation
RDoc markdown parser requires exact 4 spaces or tab as indentation.
Also the first nested bullet list must be separated from the enclosing
bullet list item by a blank line.
nobu (Nobuyoshi Nakada)
01:54 AM Revision a4c4a347 (git): Update default gems list at c2d5d2969a501b9db93ed66db9017a [ci skip]
git[bot]
01:53 AM Revision c2d5d296 (git): [ruby/weakref] v0.1.4
https://github.com/ruby/weakref/commit/f6bd03ed54 hsbt (Hiroshi SHIBATA)
01:23 AM Revision 441f18df (git): Skip to Bundler 4 directly
deivid (David Rodríguez)
01:23 AM Revision 471da0f0 (git): [rubygems/rubygems] Use `persist-credentials: false` in template
`actions/checkout` defaults this value to `true`, causing credentials to
be written to `.git/config`. By setting it to `false`, we lessen the
likelihood of secrets being written to disk.
https://github.com/rubygems/rubygems/commit/a751d...
landongrindheim (Landon Grindheim)
01:23 AM Revision 6d8460e0 (git): [rubygems/rubygems] Fix running gem commands in a `bundle exec` context
They should only load plugins from gems in the bundle.
https://github.com/rubygems/rubygems/commit/a229507820
deivid (David Rodríguez)
01:23 AM Revision 4281b95e (git): [rubygems/rubygems] Move finding eigenclass to a method
https://github.com/rubygems/rubygems/commit/5ad0737e77 deivid (David Rodríguez)
01:23 AM Revision 382b8ead (git): [rubygems/rubygems] Fix grammar in `bundle config` deprecation message
https://github.com/rubygems/rubygems/commit/d23b3d61ac deivid (David Rodríguez)
01:23 AM Revision f3ea6c35 (git): [rubygems/rubygems] Normalize Bundler version spec filters
https://github.com/rubygems/rubygems/commit/28b6a7cf5e deivid (David Rodríguez)
01:23 AM Revision 4245d522 (git): [rubygems/rubygems] Allow enabling "Bundler 3 mode" more easily
Currently to test Bundler 3 mode we have to actually edit the version
file to simulate we're running a future version. This is inconvenient.
Instead, allow passing an environment variable, `BUNDLER_3_MODE`, to set
the "working mode" Bun...
deivid (David Rodríguez)
01:23 AM Revision af0b184e (git): [rubygems/rubygems] Never ignore gems from path sources during activation
The "ignore" attribute is a RubyGems thing to mark when a installed gem
should be ignored for activation because its extensions are not properly
compiled.
In the case of gems from path sources, the warning is not accurate
because extens...
deivid (David Rodríguez)

06/18/2025

10:58 PM Revision 3290d3d7 (git): ZJIT: Support invokebuiltin opcodes (#13632)
* `invokebuiltin`
* `invokebuiltin_delegate`
* `invokebuiltin_delegate_leave`
These instructions all call out to a C function, passing EC, self, and
some number of arguments. `invokebuiltin` gets the arguments from the
stack, whereas th...
dodecadaniel (Daniel Colson)
06:09 PM Revision c57efbfb (git): Fix `heap-use-after-free` in `free_fast_fallback_getaddrinfo_entry` (#13231)
This change addresses the following ASAN error:
```
==36597==ERROR: AddressSanitizer: heap-use-after-free on address 0x512000396ba8 at pc 0x7fcad5cbad9f bp 0x7fff19739af0 sp 0x7fff19739ae8
WRITE of size 8 at 0x512000396ba8 thread T0
...
Misaki Shioi
06:09 PM Revision 584365af (git): Ensure that memory is not freed before calling `free_fast_fallback_getaddrinfo_*` (#12661)
Ensure that `getaddrinfo_entry` and `getaddrinfo_shared` exist before free them in the main thread. Misaki Shioi
05:47 PM Revision 45ddafb9 (git): Fix use-after-free when resizing exivars (#13637)
Fix generic_ivar_set_shape_ivptr for table rebuild
[Bug #21438]
Previously GC could trigger a table rebuild of the generic ivar
st_table in the middle of calling the st_update callback. This could
cause entries to be reallocated or rea...
byroot (Jean Boussier)
05:18 PM Revision 521b2fcb (git): Add missing write barrier for hash on iseq
Found by wbcheck jhawthorn (John Hawthorn)
05:18 PM Revision 1bfd6493 (git): Add write barrier to rb_cArray_empty_frozen
Found by wbcheck jhawthorn (John Hawthorn)
05:18 PM Revision d5adf851 (git): Add write barrier to rb_cHash_empty_frozen
Found by wbcheck jhawthorn (John Hawthorn)
05:18 PM Revision 121f967b (git): More write barriers to local_iseq and parent_iseq
Found by wbcheck jhawthorn (John Hawthorn)
05:18 PM Revision 99de3890 (git): Use write barriers when loading catch table
Found by wbcheck jhawthorn (John Hawthorn)
05:18 PM Revision 61230f53 (git): Add missing write barriers to ibf_load
Found by wbcheck jhawthorn (John Hawthorn)
05:18 PM Revision db572489 (git): Fix a missing write barrier to mandatory_only_iseq
Found by wbcheck jhawthorn (John Hawthorn)
05:17 PM Revision 6b3fa235 (git): Add write barrier on tm_from_time->timew
We want to always use time_set_timew, as timew is 64-bit even on 32-bit
platforms so we need to be careful to both write that size, but still
trigger write barriers if we end up with a heap object.
jhawthorn (John Hawthorn)
05:17 PM Revision 0e2067df (git): Add missing write barrier to time_init_copy
jhawthorn (John Hawthorn)
05:17 PM Revision 7439f353 (git): Write barrier for zone on time
jhawthorn (John Hawthorn)
05:08 PM Revision bb0d6296 (git): Add write barrier for hash in obj_traverse_i
We are inserting directly into the st_table, so we need to issue a write
barrier from the hash.
jhawthorn (John Hawthorn)
05:08 PM Revision f951ce37 (git): Add missing writebarrier on move_leave
This object was newly allocated on move_enter, so some GC may happen and
it may have been marked by move_leave, so we need to issue an
rb_gc_writebarrier_remember so that any new references are seen afer the
memcpy from the old object.
jhawthorn (John Hawthorn)
05:08 PM Revision 89b3e471 (git): Add write barriers from Ractor::Port to Ractor
Ractor::Port will mark the ractor, so we must issue a write barrier.
This was detected by wbcheck, but we've also seen it in CI:
verify_internal_consistency_reachable_i: WB miss (O->Y) 0x000071507d8bff80 ractor/port/Ractor::Port ra...
jhawthorn (John Hawthorn)
02:06 PM Bug #21443 (Closed): Backport: Fix heap-use-after-free in free_fast_fallback_getaddrinfo_entry
https://github.com/ruby/ruby/pull/13652 alanwu (Alan Wu)
12:40 PM Bug #21443 (Closed): Backport: Fix heap-use-after-free in free_fast_fallback_getaddrinfo_entry
Please backport the following AddressSanitizer error into Ruby 3.4
https://github.com/ruby/ruby/pull/13231
I did not find a ticket related to the original fix.
Thank you!
rochlefebvre (Roch Lefebvre)
12:53 PM Bug #21444 (Closed): Crash in GC after accessing `object_id` (`obj_free` called for broken object)
```rb
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
gem 'rubocop'
end
require 'objspace'
require 'tmpdir'
3.times { GC.start }
GC.disable
Dir.mktmpdir do |dir|
Dir.chdir(dir) do
File.open...
Earlopain (Earlopain _)
11:26 AM Revision aaa956e8 (git): Now irb is a bundled gem and needs rubygems
nobu (Nobuyoshi Nakada)
10:08 AM Feature #21442: Make tsort to bundled gems
https://github.com/ruby/ruby/pull/13649 hsbt (Hiroshi SHIBATA)
10:07 AM Feature #21442 (Assigned): Make tsort to bundled gems
In last year, I gave up to make `tsort` to bundled gems because `set` depends `tsort`.
https://github.com/ruby/set/blob/29a253d2259e8d6d9b313dec8418ec5ed0caab08/lib/set.rb#L786
Fortunately, `set` is now core class. So, there is no ...
hsbt (Hiroshi SHIBATA)
08:44 AM Misc #20968: `Array#fetch_values` unexpected method name in stack trace
I have updated the behavior to (mostly) suppress the display of `<internal:...>` frames in a backtrace. The algorithm works as follows:
* When internal frames appear in a sequence, it retains only one frame -- the one directly called ...
mame (Yusuke Endoh)
05:52 AM Misc #20968 (Closed): `Array#fetch_values` unexpected method name in stack trace
Applied in changeset commit:git|10767283dd0277a1d780790ce6bde67cf2c832a2.
----------
Exclude internal frames from backtrace
This changeset suppresses backtrace locations like
`<internal:array>:211` as much as possible.
Before the patc...
mame (Yusuke Endoh)
08:15 AM Revision 4eaa245f (git): Restore ignored test target for mswin
hsbt (Hiroshi SHIBATA)
07:13 AM Revision 332f83d1 (git): Enabled the released versions of bundled gems that are working fine with Ruby HEAD
hsbt (Hiroshi SHIBATA)
07:06 AM Revision 13a2b9fa (git): Update bundled gems list as of 2025-06-18
git[bot]
06:39 AM Bug #21210: IO::Buffer gets invalidated on GC compaction
I think @alanwu means the mutable buffer path (IO::Buffer.for w/ block) uses rb_str_locktmp to pin the String's malloc'ed content memory (not RString), while the immutable buffer path (IO::Buffer.for w/o block) utilizes CoW to obtain a f... hanazuki (Kasumi Hanazuki)
05:51 AM Revision 2606a36a (git): Update bundled version of debug and use the dev version of irb
mame (Yusuke Endoh)
05:51 AM Revision b7cb29b6 (git): Add a test for the previous commit
mame (Yusuke Endoh)
05:51 AM Revision 10767283 (git): Exclude internal frames from backtrace
This changeset suppresses backtrace locations like
`<internal:array>:211` as much as possible.
Before the patch:
```
$ ruby -e '[1].fetch_values(42)'
<internal:array>:211:in 'Array#fetch': index 42 outside of array bounds: -1...1 (Index...
mame (Yusuke Endoh)
05:51 AM Revision ca10c521 (git): refactor: rename bt_update_cfunc_loc to bt_backpatch_loc
In preparation for using it to update not only cfunc frames but also
internal frames, the function (and related variable names) are chagned.
I felt that the word "backpatch" is more appropriate than the more
general verb "update" here.
mame (Yusuke Endoh)
04:46 AM Bug #21312 (Closed): ruby 3.5-dev installs a gemspec for rdoc that misses dependencies
Applied in changeset commit:git|ecf1746fa4b899692514e68719227f04f9d6c1cc.
----------
Use the original gemspec from release package of RDoc
[Bug #21312]
https://bugs.ruby-lang.org/issues/21312
https://github.com/ruby/rdoc/pull/1379
hsbt (Hiroshi SHIBATA)
04:45 AM Revision f0d32ee8 (git): net-imap and irb are not working with dev version of RDoc
Because they are required markdown.rb provided by release package. hsbt (Hiroshi SHIBATA)
04:45 AM Revision ecf1746f (git): Use the original gemspec from release package of RDoc
[Bug #21312]
https://bugs.ruby-lang.org/issues/21312
https://github.com/ruby/rdoc/pull/1379
hsbt (Hiroshi SHIBATA)

06/17/2025

10:51 PM Revision 3cfd71e7 (git): Fix minor typos in comments, specs, and docs
Just a bit of minor cleanup
Signed-off-by: Tim Smith <[email protected]>
tas50 (Tim Smith)
10:33 PM Revision c6a66454 (git): Fix early write barrier rb_marshal_define_compat
This write barrier occurred before the entry was added to the table, so
if GC occurred when inserting into the table, the write could be missed.
jhawthorn (John Hawthorn)
10:32 PM Revision a7dc515c (git): Fix too early writebarrier in tally_up
After returning from the callback in st_update is the point that the
hash table may be resized, which could trigger a GC and mark the table
being used for the tally.
RUBY_GC_LIBRARY=wbcheck WBCHECK_VERIFY_AFTER_WB=1 ./miniruby -e '(...
jhawthorn (John Hawthorn)
10:03 PM Bug #21441 (Closed): SEGV during thread cleanup if profiler calls thread_profiles_frames at wrong time
Applied in changeset commit:git|e3ec101cc21613550ef87b7bd8432a69c7e639de.
----------
thread_cleanup: set CFP to NULL before clearing ec's stack
We clear the CFP first so that if a sampling profiler interrupts the current thread during ...
Anonymous
08:58 PM Bug #21441: SEGV during thread cleanup if profiler calls thread_profiles_frames at wrong time
I opened a PR [here](https://github.com/ruby/ruby/pull/13643).
This may need to be backported.
luke-gru (Luke Gruber)
08:45 PM Bug #21441 (Closed): SEGV during thread cleanup if profiler calls thread_profiles_frames at wrong time
During thread cleanup, if a ruby sampling profiler calls `thread_profile_frames` at just the wrong time, the ec's stack is cleared but the CFP still exists on the EC, so `thread_profile_frames` assumes it can walk the stack and crashes.
...
luke-gru (Luke Gruber)
10:03 PM Revision e3ec101c (git): thread_cleanup: set CFP to NULL before clearing ec's stack
We clear the CFP first so that if a sampling profiler interrupts the current thread during `rb_ec_set_vm_stack`,
`thread_profile_frames` returns early instead of trying to walk the stack that's no longer set on the ec.
The early return ...
Luke Gruber
04:46 PM Revision b0662602 (git): Follow up testunit
* Update method names.
* Sort shuffled tests by names.
nobu (Nobuyoshi Nakada)
04:46 PM Revision 1a527929 (git): Revert "Temporary pend unknown behavior of parallel tests"
This reverts commit 980f61935f6e8331e0908dc963e60fb727ab4d8c, which
seems no longer needed.
nobu (Nobuyoshi Nakada)
02:41 PM Bug #20998: rb_str_locktmp() changes flags of frozen strings and string literals
______________________________________________ Anonymous
07:16 AM Bug #20998: rb_str_locktmp() changes flags of frozen strings and string literals
@hanazuki Thanks for the link, I wish I found that earlier. It confirms that it was already broken which is the same conclusion I came to.
hanazuki (Kasumi Hanazuki) wrote in #note-20:
> FYI: IO::Buffer is now broken (by a recent change...
Eregon (Benoit Daloze)
02:06 PM Revision c99cb62d (git): Fix up tool/auto-style.rb
Do not clear the commit-wide flags per file. nobu (Nobuyoshi Nakada)
01:28 PM Revision 8faa3232 (git): Add missing write barriers in `rb_imemo_fields_clone`.
byroot (Jean Boussier)
01:28 PM Revision cd9f447b (git): Refactor generic fields to use `T_IMEMO/fields` objects.
Followup: https://github.com/ruby/ruby/pull/13589
This simplify a lot of things, as we no longer need to manually
manage the memory, we can use the Read-Copy-Update pattern and
avoid numerous race conditions.
Co-Authored-By: Étienne Ba...
byroot (Jean Boussier)
01:28 PM Revision 164486a9 (git): Refactor `rb_imemo_fields_new` to not assume T_CLASS
byroot (Jean Boussier)
01:28 PM Revision fb68721f (git): Rename `imemo_class_fields` -> `imemo_fields`
byroot (Jean Boussier)
01:28 PM Revision 4cb0205f (git): Handle false positives in tool/auto-style.rb
byroot (Jean Boussier)
11:51 AM Revision 0933400f (git): ZJIT: Add codegen (and FrameState) for GetConstPath
Issue a call to rb_vm_opt_getconstant_path() like the interpreter, but
since that allocates the IC, we need to save the PC before calling. Add
FrameState to GetConstPath to get access to the PC.
alanwu (Alan Wu)
11:35 AM Revision 01ff17fa (git): ZJIT: Parse opt freeze insns to HIR
* `opt_hash_freeze`
* `opt_ary_freeze`
* `opt_str_freeze`
* `opt_str_uminus`
Similar to `opt_neq`, but there are no args for `freeze`
Co-authored-by: ywenc <[email protected]>
Co-authored-by: Max Bernstein <[email protected]>
dodecadaniel (Daniel Colson)
11:18 AM Revision 9e5c74f2 (git): [ruby/prism] [DOC] Fix a typo in comment
ruby/ruby#13636
https://github.com/ruby/prism/commit/e13d4f19db
Co-Authored-By: Tim Smith <[email protected]>
nobu (Nobuyoshi Nakada)
11:00 AM Revision 9e839d3c (git): Optimize `benchmark/vm_ivar_of_class`
```
compare-ruby: ruby 3.5.0dev (2025-06-17T08:45:40Z master e9d35671d2) +PRISM [arm64-darwin24]
last_commit=[ruby/json] Fix a typo
built-ruby: ruby 3.5.0dev (2025-06-17T09:27:05Z opt-getivar-for-cl.. ed1d7cd778) +PRISM [arm64-darwin24]
...
byroot (Jean Boussier)
10:05 AM Bug #20452: Ruby 3.3 on Alpine Linux results in a relatively shallow SystemStackError exception
Halfway on the way to 3.5 now. I want to help out if I am able to, but right now I'm not sure what the holdup is. Earlopain (Earlopain _)
09:41 AM Revision 9647dca1 (git): [ruby/tempfile] [DOC] Fix a typo
ruby/ruby#13636
https://github.com/ruby/tempfile/commit/366d9ccb8f
Co-Authored-By: Tim Smith <[email protected]>
nobu (Nobuyoshi Nakada)
08:45 AM Revision e9d35671 (git): [ruby/json] Fix a typo
ruby/ruby#13636
https://github.com/ruby/json/commit/6fc2c4b6ab
Co-Authored-By: Tim Smith <[email protected]>
nobu (Nobuyoshi Nakada)
07:53 AM Bug #21438 (Closed): use-after-free when resizing exivars
The remaining issue was fixed in 055fef00a1c27fdc8293114dc134ca7910b1dc79.
Backport PRs:
- 3.4: https://github.com/ruby/ruby/pull/13637
- 3.3: https://github.com/ruby/ruby/pull/13638
Note that the bug while possible is quit...
byroot (Jean Boussier)
07:30 AM Revision 89926891 (git): Adjust indent [ci]
nobu (Nobuyoshi Nakada)
07:10 AM Bug #21210: IO::Buffer gets invalidated on GC compaction
alanwu (Alan Wu) wrote in #note-5:
> Looks like the mutable string buffer code paths pin using rb\_str\_locktmp().
Does `rb_str_locktmp()` pin? I couldn't see anything like that from the usage of the flag it sets.
Eregon (Benoit Daloze)
05:57 AM Bug #21210 (Closed): IO::Buffer gets invalidated on GC compaction
Applied in changeset commit:git|8aac19d5987150cf5c45fee73c7a949ca472f488.
----------
io_buffer: Reimplement dcompact for IO::Buffer
The `source` field in IO::Buffer can have a String or an IO::Buffer
object, if not nil.
- When the `so...
hanazuki (Kasumi Hanazuki)
06:09 AM Revision a3f2f7b7 (git): lewagon/wait-on-check-action didn't need bot token
hsbt (Hiroshi SHIBATA)
06:09 AM Revision 4e2db1ff (git): [rubygems/rubygems] Etc exemption on Windows is no longer necessary
https://github.com/rubygems/rubygems/commit/228f59e3ab deivid (David Rodríguez)
06:09 AM Revision 89ce782f (git): [rubygems/rubygems] Reword a couple of specs to further clarify them
https://github.com/rubygems/rubygems/commit/e28b5e306f deivid (David Rodríguez)
06:09 AM Revision 632bf3b5 (git): [rubygems/rubygems] Migrate mirror probe specs to use the compact index API
Could potentially fix some flakies we're using and make the specs more
"modern" and simplifies them because less fallbacks are involved.
https://github.com/rubygems/rubygems/commit/30da9a1a93
deivid (David Rodríguez)
06:09 AM Revision 3319d3d7 (git): [rubygems/rubygems] Consistently use instance variables directly
I don't think the indirection improve things.
https://github.com/rubygems/rubygems/commit/b408b28844
deivid (David Rodríguez)
06:09 AM Revision 0a62e82a (git): [rubygems/rubygems] Fix `gem install` sometimes compiling the wrong source files
If a previous copy of a gem is already installed, RubyGems will not
reinstall the gem but only recompile its extensions. This seems like a
good idea, but only if the gem is being installed from the registry.
If we are installing a local...
deivid (David Rodríguez)
06:09 AM Revision 0c2f0ffa (git): [rubygems/rubygems] Refactor some logic to create extconf files for tests
https://github.com/rubygems/rubygems/commit/9a859078ab deivid (David Rodríguez)
06:09 AM Revision fadcee3b (git): [rubygems/rubygems] Use `Dir.chdir` with a block
I don't see any warnings.
https://github.com/rubygems/rubygems/commit/395df777a2
deivid (David Rodríguez)
06:09 AM Revision 459f265b (git): [rubygems/rubygems] Cleanup dead code, RubyGems 3.3 is no longer supported
https://github.com/rubygems/rubygems/commit/945a29a477 deivid (David Rodríguez)
06:01 AM Revision 055fef00 (git): Free after insert in generic_ivar_set_shape_fields
Previously we were performing a realloc and then inserting the new value
into the table. If the table was flagged as requiring a rebuild, this
could trigger GC work and marking within that GC could access the fields
freed by realloc.
jhawthorn (John Hawthorn)
05:57 AM Revision 8aac19d5 (git): io_buffer: Reimplement dcompact for IO::Buffer
The `source` field in IO::Buffer can have a String or an IO::Buffer
object, if not nil.
- When the `source` is a String object. The `base` field points to the
memory location of the String content, which can be embedded in
RSTRING, ...
hanazuki (Kasumi Hanazuki)
05:57 AM Revision 4cc58c3a (git): Revert "Mark rb_io_buffer_type references declaratively"
This reverts commit 6012145299cfa4ab561360c78710c7f2941a7e9d. hanazuki (Kasumi Hanazuki)
05:52 AM Revision 67366413 (git): [ruby/win32-registry] Minor readme improvements and typo fixes
- Put shell commands in code blocks so they can easily be copied from
the GitHub UI directly
- Fix a few typos
- Fix a dead link to MSDN
Signed-off-by: Tim Smith <[email protected]>
https://github.com/ruby/win32-registry/commit/61a4...
tas50 (Tim Smith)
03:30 AM Revision a60bf9e6 (git): * adjust indent
nobu (Nobuyoshi Nakada)
03:30 AM Revision c09619d9 (git): Auto-style indent
nobu (Nobuyoshi Nakada)
03:20 AM Revision 21c7131d (git): Run git without shell
nobu (Nobuyoshi Nakada)
03:20 AM Revision 9255db4b (git): Run auto-style only when pull-request
nobu (Nobuyoshi Nakada)
01:07 AM Revision 50c6bd47 (git): Update vm->self location and mark it in vm.c for consistency
Satoshi Tagomori
 

Also available in: Atom