Project

General

Profile

Activity

From 06/20/2025 to 06/26/2025

06/26/2025

10:27 PM Bug #21453 (Closed): Missing rbs and rdbg binstubs - all OS's
As of three hours ago, see:
https://github.com/ruby/ruby-dev-builder/actions/runs/15910357126/job/44875900639#step...
MSP-Greg (Greg L)
09:10 PM Misc #21399: DevMeeting-2025-07-10
* [Feature #21039] Ractor.make_shareable breaks block semantics (seeing updated captured variables) of existing block... Eregon (Benoit Daloze)
07:41 AM Misc #21399: DevMeeting-2025-07-10
* [Feature #21442] Make tsort to bundled gems
* Any objection for this?
hsbt (Hiroshi SHIBATA)
09:07 PM Feature #21039: Ractor.make_shareable breaks block semantics (seeing updated captured variables) of existing blocks
I think a good solution here would be:
* raise on `Ractor.make_shareable(proc)`
* raise on `Ractor.make_shareable(p...
Eregon (Benoit Daloze)
09:06 PM Revision f8cd2673 (git): ZJIT: Stop loading an extra parameter (#13719)
Takashi Kokubun
09:01 PM Bug #21451: Ractor.make_shareable(->{}, copy: true) raises unhelpful error
tenderlovemaking (Aaron Patterson) wrote in #note-2:
> AFAIK, procs fundamentally can't be shared because their envi...
Eregon (Benoit Daloze)
08:38 PM Revision 26508bbc (git): Fix flaky TestGc#test_heaps_grow_independently
The test sometimes fails with "Expected 2062788 to be < 2000000" because
heap 0 has not been cleared yet by GC. This ...
peterzhu2118 (Peter Zhu)
08:24 PM Revision aca692cd (git): ZJIT: Disable profiling instructions before asserting opcodes in tests (#13720)
tekknolagi (Maxwell Bernstein)
05:18 PM Feature #21365 (Closed): Add `Namespace#eval`
Applied in changeset commit:git|3d5619c8b1a76626e0991d758b71afc549829c38.
----------
Introduce Namespace#eval
This ...
tenderlovemaking (Aaron Patterson)
05:18 PM Revision 3d5619c8 (git): Introduce Namespace#eval
This commit adds an `eval` method to `Namespace` that takes a string and
evaluates the string as Ruby code within the...
tenderlovemaking (Aaron Patterson)
03:26 PM Bug #21452: ARGS_SPLAT bytecode regression between 3.3 and 3.4
This only affects literal arrays, and there is no reason to write `f(1, 2, *[3, 4])` instead of `f(1, 2, 3, 4)`, so i... jeremyevans0 (Jeremy Evans)
02:50 PM Bug #21452 (Rejected): ARGS_SPLAT bytecode regression between 3.3 and 3.4
On Ruby 3.3, `f(1, 2, *[3, 4])` splats all arguments to the stack and uses `ARGS_SIMPLE`:
```
plum% ruby --versio...
tekknolagi (Maxwell Bernstein)
02:25 PM Revision 242343ff (git): variable.c: Refactor `generic_field_set` / `generic_ivar_set`
These two functions are very similar, they can share most of their
logic.
byroot (Jean Boussier)
01:37 PM Revision a4948c30 (git): Add debug message to assertion for checking GC mode
We assert that the GC is not in a cycle in gc_start, but it does not show
what phase we're in if the assertion fails....
peterzhu2118 (Peter Zhu)
01:37 PM Revision 80f53eba (git): Support message in GC_ASSERT
RUBY_ASSERT_MESG_WHEN supports a format string at the end for additional
information. This commit adds support for th...
peterzhu2118 (Peter Zhu)
08:38 AM Revision b1c09faf (git): Win32: Use `SIG_GET` to get the current value of the signal
nobu (Nobuyoshi Nakada)
08:37 AM Revision 7d01905e (git): typeprof, rbs and repl_type_completor are working with HEAD now
hsbt (Hiroshi SHIBATA)
04:28 AM Revision 5e9be99e (git): Fix loop variable type in compile.c
sferik (Erik Michaels-Ober)
01:46 AM Revision 4b1de737 (git): [ruby/uri] [DOC] State that uri library is needed to call Kernel#URI
So that the example works as-is.
https://github.com/ruby/uri/commit/30212d311e
nobu (Nobuyoshi Nakada)
01:39 AM Revision 4eba511c (git): [ruby/uri] Fix a typo
https://github.com/ruby/uri/commit/b636e83d99
Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com>
Nobuyoshi Nakada
01:39 AM Revision 228cc794 (git): [ruby/uri] Use Lo category chars as escaped chars
TruffleRuby does not allow Symbol categories as identifiers.
https://github.com/ruby/uri/commit/5531d42375
nobu (Nobuyoshi Nakada)
01:39 AM Revision 42f753d8 (git): [ruby/uri] Escape reserved characters in scheme name
Fix https://github.com/ruby/uri/pull/89
https://github.com/ruby/uri/commit/d543c0dafa
nobu (Nobuyoshi Nakada)

06/25/2025

11:06 PM Revision 90085f62 (git): [rubygems/rubygems] Simulate Bundler 4 in a better way
Overriding the version constant feels too magic and creates a set of
problems. For example, Bundler will lock the sim...
deivid (David Rodríguez)
11:06 PM Revision 938ab128 (git): [rubygems/rubygems] Remove unnecessary version check
The `inject` command is deprecated, so these specs only run for Bundler
3 and checking this is unnecessary.
https://...
deivid (David Rodríguez)
11:06 PM Revision 54e51f1f (git): [rubygems/rubygems] Make yet one more update spec independent of running version
https://github.com/rubygems/rubygems/commit/07762f6c1f deivid (David Rodríguez)
11:06 PM Revision 782d8287 (git): [rubygems/rubygems] Remove hardcoded version check from one clean spec
https://github.com/rubygems/rubygems/commit/9244cca381 deivid (David Rodríguez)
11:06 PM Revision 7e0358e0 (git): [rubygems/rubygems] Make one more update spec independent of running version
https://github.com/rubygems/rubygems/commit/dcd8e8210f deivid (David Rodríguez)
11:06 PM Revision 18618810 (git): [rubygems/rubygems] Use Gem::Version` methods instead of string splitting
https://github.com/rubygems/rubygems/commit/75fed35264 deivid (David Rodríguez)
11:06 PM Revision f32dbc9b (git): [rubygems/rubygems] Centralize managing major version dependent behavior in `FeatureFlag` class
https://github.com/rubygems/rubygems/commit/7708e5b784 deivid (David Rodríguez)
11:06 PM Revision 168e7fc3 (git): [rubygems/rubygems] Remove redundant receivers
https://github.com/rubygems/rubygems/commit/d7b9c4532e deivid (David Rodríguez)
11:06 PM Revision a9860b6c (git): [rubygems/rubygems] No need to reset this variable
https://github.com/rubygems/rubygems/commit/f96fedf1f1 deivid (David Rodríguez)
11:06 PM Revision a2fb1d7d (git): [rubygems/rubygems] Reorganize post bundle message specs to run independently of major version
https://github.com/rubygems/rubygems/commit/70c69c45ba deivid (David Rodríguez)
11:06 PM Revision 4e74f55d (git): [rubygems/rubygems] Use nicer indentation
https://github.com/rubygems/rubygems/commit/7e959adce6 deivid (David Rodríguez)
11:06 PM Revision 428627ab (git): [rubygems/rubygems] Simplify pristine spec to not need checking major version
https://github.com/rubygems/rubygems/commit/bd2a170330 deivid (David Rodríguez)
10:58 PM Revision 6b7f56d2 (git): Never use flags on T_NODE
Previously, any time we used FL_TEST or variations we would need to add
an additional test that it wasn't a T_NODE. I...
jhawthorn (John Hawthorn)
10:51 PM Bug #21451: Ractor.make_shareable(->{}, copy: true) raises unhelpful error
Eregon (Benoit Daloze) wrote in #note-1:
> This doesn't really explain from a user POV why it can't copy the Proc th...
tenderlovemaking (Aaron Patterson)
08:29 PM Bug #21451: Ractor.make_shareable(->{}, copy: true) raises unhelpful error
This doesn't really explain from a user POV why it can't copy the Proc though, after all `->{}.dup` works fine.
"No ...
Eregon (Benoit Daloze)
07:06 PM Bug #21451 (Open): Ractor.make_shareable(->{}, copy: true) raises unhelpful error
```
> ruby -e'Ractor.make_shareable(->{}, copy:true)'
<internal:ractor>:828:in 'Ractor.make_shareable': allocator u...
tenderlovemaking (Aaron Patterson)
10:43 PM Revision 3c66eb33 (git): Change def->method_serial to be atomic
`rb_method_definition_create` can be called across different ractors at the same time, so `def->method_serial` should... Luke Gruber
09:11 PM Revision 328e3029 (git): Get String#crypt working with multi-ractor in cases where !HAVE_CRYPT_R
In commit 12f7ba5ed4a, ractor safety was added to String#crypt, however
in certain cases it can cause a deadlock. Whe...
Luke Gruber
05:48 PM Misc #21399: DevMeeting-2025-07-10
* [Feature #21140] Add a method for getting addresses of certain functions for 3rd party JITs
* RJIT has been extr...
tenderlovemaking (Aaron Patterson)
05:40 PM Feature #21365: Add `Namespace#eval`
I sent a PR [here](https://github.com/ruby/ruby/pull/13701). :-) tenderlovemaking (Aaron Patterson)
05:13 PM Revision a1996b32 (git): [ruby/openssl] pkey: use EVP_PKEY_new_raw_{private,public}_key_ex() if available
Algorithms implemented only in OpenSSL 3 providers may not have a
corresponding NID. The *_ex() variants have been ad...
rhenium (Kazuki Yamaguchi)
05:13 PM Revision 0c6075bd (git): [ruby/openssl] pkey: handle EVP_PKEY_KEYMGMT return by EVP_PKEY_id()
For algorithms implemented solely in an OpenSSL 3 provider, without an
associated EVP_PKEY_METHOD, EVP_PKEY_id() retu...
rhenium (Kazuki Yamaguchi)
05:13 PM Revision ca0a315f (git): [ruby/openssl] ossl.h: include <openssl/provider.h> in ossl.h
Move the #include from ossl_provider.c to ossl.h. As OpenSSL 3 provider
functions will be used in multiple source fil...
rhenium (Kazuki Yamaguchi)
05:04 PM Revision aed7a95f (git): Move RUBY_ATOMIC_VALUE_LOAD to ruby_atomic.h
Deduplicates RUBY_ATOMIC_VALUE_LOAD by moving it to ruby_atomic.h. peterzhu2118 (Peter Zhu)
02:51 PM Revision ec071c84 (git): [DOC] Tweaks for String#byterindex (#13485)
burdettelamar (Burdette Lamar)
01:41 PM Revision 077dbb8d (git): [rubygems/rubygems] Remove unnecessary loading of fileutils from path specs
These specs load artifice before Bundler boots because of their global
rubygems source. Artifice in turn loads `rack`...
deivid (David Rodríguez)
01:41 PM Revision c17d381d (git): [rubygems/rubygems] Remove message long gone from the code base from expectations
https://github.com/rubygems/rubygems/commit/2eaada3508 deivid (David Rodríguez)
01:41 PM Revision fb2f89d8 (git): [rubygems/rubygems] Add missing `require "fileutils"` in lib/rubygems/installer.rb
https://github.com/rubygems/rubygems/commit/9a9d0e423e MSP-Greg (Greg L)
12:41 PM Revision 9e43e123 (git): Override `files` of bundled gem specs
Use the actual files unpacked from the gem. The recent rdoc.gemspec
uses different code than expected by rbinstall.r...
nobu (Nobuyoshi Nakada)
11:06 AM Revision 36323958 (git): Fix missing WB going to too_complex on class/geniv
We were creating a new fields object, and then inserting into it without
a write barrier.
OpenSSL::TestSSL#test_...
jhawthorn (John Hawthorn)
06:22 AM Revision 5df38256 (git): Specified --vcpkg-root with scoop directory
hsbt (Hiroshi SHIBATA)
06:22 AM Revision 0343fcdb (git): Replaced built-in binary cache of vcpkg to actions/cache
```
%VCPKG_BINARY_SOURCES%: warning: The 'x-gha' binary caching backend has been removed. Consider using a NuGet-base...
hsbt (Hiroshi SHIBATA)
06:22 AM Revision bb2c2664 (git): Added rake test to allow failures
hsbt (Hiroshi SHIBATA)
06:22 AM Revision 84a90636 (git): Win: Suppress false warnings from Visual C 17.14.1
https://developercommunity.visualstudio.com/t/warning-C5287:-operands-are-different-e/10877942?
It is not able to si...
nobu (Nobuyoshi Nakada)
06:22 AM Revision de512b7a (git): We don't need to specify winsdk version
a205407e165e4570b8b6d6e4b7a019b51962ecba fixed that workaround hsbt (Hiroshi SHIBATA)
05:33 AM Revision bd7d210d (git): Win: Suppress false warnings from Visual C 17.14.1
https://developercommunity.visualstudio.com/t/warning-C5287:-operands-are-different-e/10877942?
It is not able to si...
nobu (Nobuyoshi Nakada)
04:28 AM Revision 8eadf30c (git): Removed unnecessary winsdk version
hsbt (Hiroshi SHIBATA)
04:28 AM Revision 051e5f54 (git): [Bug #21255] Win32: Do not export `__declspec(selectany)` symbols
```
x64-vcruntime140-ruby350.def : error LNK2001: unresolved external symbol Avx2WmemEnabledWeakValue
```
nobu (Nobuyoshi Nakada)
03:20 AM Revision 8f44d482 (git): windows-2025 runner updated Visual Studio from broken version
hsbt (Hiroshi SHIBATA)
03:02 AM Revision 2ed48626 (git): Remove unnecessary union
jhawthorn (John Hawthorn)
03:02 AM Revision 1e436f22 (git): Fix missing write barrier in rb_vm_rewrite_cref
Found by wbcheck jhawthorn (John Hawthorn)
03:02 AM Revision 443ed45a (git): Refactor rewrite_cref
jhawthorn (John Hawthorn)
02:50 AM Revision 8b59ba89 (git): Try to use windows-2025 runner for test-bundled-gems
hsbt (Hiroshi SHIBATA)
02:50 AM Revision d2ed304f (git): Try to use the latest version of winsdk in windows-2025 runner
hsbt (Hiroshi SHIBATA)
02:50 AM Revision 309b1aaf (git): [Bug #21255] Win32: Do not export `__declspec(selectany)` symbols
```
x64-vcruntime140-ruby350.def : error LNK2001: unresolved external symbol Avx2WmemEnabledWeakValue
```
nobu (Nobuyoshi Nakada)
02:50 AM Revision 3c8be029 (git): Try to use the latest version of Visual Studio in windows-2025 runner.
hsbt (Hiroshi SHIBATA)
12:21 AM Bug #21377 (Closed): core Set#inspect does not use inherited class name
Applied in changeset commit:git|7c3bbfcddb05b0eb7cca7ac32efd2fc07e1af6ec.
----------
Include Set subclass name in Se...
jeremyevans (Jeremy Evans)
12:21 AM Feature #21389 (Closed): Simplify Set#inspect output
Applied in changeset commit:git|3a9c091cf393e8a9c4e4b93d4216f2be3678e488.
----------
Simplify Set#inspect output
As...
jeremyevans (Jeremy Evans)
12:21 AM Revision 7c3bbfcd (git): Include Set subclass name in Set#inspect output
Fixes [Bug #21377]
Co-authored-by: zzak <zzak@hey.com>
jeremyevans (Jeremy Evans)
12:21 AM Revision 3a9c091c (git): Simplify Set#inspect output
As Set is now a core collection class, it should have special inspect
output. Ideally, inspect output should be suit...
jeremyevans (Jeremy Evans)

06/24/2025

08:41 PM Revision 3b602c95 (git): [ruby/timeout] Gracefully handle a call to ensure_timeout_thread_created in a signal handler
* Fixes the issue described in
https://github.com/ruby/timeout/issues/17#issuecomment-1461498517
for TruffleRuby ...
Eregon (Benoit Daloze)
08:23 PM Bug #19473: can't be called from trap context (ThreadError) is too limiting
I think a simple way to look at this issue is to analyze all cases:
1. The Mutex is not held by any Thread, and the ...
Eregon (Benoit Daloze)
07:11 AM Bug #19473: can't be called from trap context (ThreadError) is too limiting
As one other idea, what about introducing `Mutex#reentrant = true/false`. This seems like a more general model than `... ioquatix (Samuel Williams)
07:01 AM Bug #19473: can't be called from trap context (ThreadError) is too limiting
I agree, it would be nice to relax this restriction. But I also understand that it's unpredictable since the trap han... ioquatix (Samuel Williams)
04:21 AM Bug #19473: can't be called from trap context (ThreadError) is too limiting
Had to special case another mutex: https://github.com/ruby/ruby/pull/13684 ioquatix (Samuel Williams)
08:08 PM Revision 40441882 (git): Fix load catch table write barrier
I tried fixing this in 521b2fcba4e96898bfd237c79f17f19530b7a030, but
re-running wbcheck with the stricter WBCHECK_VER...
jhawthorn (John Hawthorn)
08:08 PM Revision fcf2c3b4 (git): Fix write barriers in rb_hash_add_new_element
The write barriers must be run after the st_update callback returns,
as the objects are not on the object until then ...
jhawthorn (John Hawthorn)
04:28 PM Revision c351c3d0 (git): [DOC] Tweaks for String#bytes
burdettelamar (Burdette Lamar)
03:19 PM Revision b2849876 (git): Cleanup and document `shape_id_t` layout
byroot (Jean Boussier)
02:10 PM Bug #17516 (Closed): forking in a ractor causes Ruby to crash
Applied in changeset commit:git|5bcc639b341291fe0584d11c6bdd1add29f40087.
----------
Disallow forking from non-main ...
byroot (Jean Boussier)
02:10 PM Revision 5bcc639b (git): Disallow forking from non-main ractor
[Bug #17516]
`fork(2)` only leave the calling thread alive in the child.
Because of this forking from the non-main r...
byroot (Jean Boussier)
10:52 AM Bug #21355 (Closed): `csv/test/csv/interface/test_read.rb` at test-bundled-gems is flaky recent days
`tempfile.rb:387` is the finalizer. This is a duplicate of [Bug #21315] byroot (Jean Boussier)
10:29 AM Bug #21330 (Closed): Namespace: Class and Module frozen status is not namespaced
Applied in changeset commit:git|45a2c95d0f7184c9cd64ddd26699af31bea8675d.
----------
Reduce exposure of FL_FREEZE
T...
byroot (Jean Boussier)
10:29 AM Revision 45a2c95d (git): Reduce exposure of FL_FREEZE
The `FL_FREEZE` flag is redundant with `SHAPE_ID_FL_FROZEN`, so
ideally it should be eliminated in favor of the later...
byroot (Jean Boussier)
09:50 AM Revision da10b956 (git): Generate HTML documentation even if only NEWS.md is updated
nobu (Nobuyoshi Nakada)
09:33 AM Revision cf6b4e72 (git): Update default gems list at 62aa4a6010c293ea58cfec59f316f0 [ci skip]
git[bot]
09:32 AM Revision 62aa4a60 (git): [ruby/resolv] v0.6.1
https://github.com/ruby/resolv/commit/6b57765f8d hsbt (Hiroshi SHIBATA)
09:30 AM Revision 152cf102 (git): Remove trailing spaces
nobu (Nobuyoshi Nakada)
09:26 AM Revision 21f3ffed (git): tmpdir.rb is not extension
hsbt (Hiroshi SHIBATA)
09:19 AM Revision ac02bf2b (git): [ruby/json] Remove trailing spaces [ci skip]
https://github.com/ruby/json/commit/6c41162522 nobu (Nobuyoshi Nakada)
07:19 AM Feature #19057 (Closed): Hide implementation of `rb_io_t`.
The current behaviour as implemented is good enough and we can introduce new private fields in `internal/io.h`. ioquatix (Samuel Williams)
06:56 AM Bug #21450 (Closed): Inconsistent `upcase` between `String` and `Symbol`
That difference is because of the difference of encodings.
The string `"i"` is UTF-8, even it contains ASCII 7bit ch...
nobu (Nobuyoshi Nakada)
06:35 AM Misc #21399: DevMeeting-2025-07-10
- [Bug #19473] can't be called from trap context (ThreadError) is too limiting
- Can we change the behaviour? https...
ioquatix (Samuel Williams)
05:55 AM Revision ba68343d (git): Allow wakeup mutex to be used in trap context. (#13684)
Samuel Williams
04:40 AM Revision e036d4da (git): Removed Set entry
Fixup 061d36476fbeec9aebaf2e9058b0ac01be3d0dd0 hsbt (Hiroshi SHIBATA)
03:10 AM Revision 7a5e46cf (git): Revert accidentally commit with 96a0c2065a95d076978de41e8bfacbd19858d0bb
hsbt (Hiroshi SHIBATA)
03:10 AM Revision 93fc29c6 (git): [ruby/json] Deprecate duplicate keys in object
There are few legitimate use cases for duplicate keys, and can
in some case be exploited.
Rather to always silently ...
byroot (Jean Boussier)
03:10 AM Revision b310e7b3 (git): [ruby/json] Add missing parser options documentation
https://github.com/ruby/json/commit/eed753ffde byroot (Jean Boussier)
03:10 AM Revision 7a297ad2 (git): [rubygems/rubygems] Fix `Bundler.original_env['GEM_HOME']` when Bundler is trampolined
https://github.com/rubygems/rubygems/commit/4c450eb05e deivid (David Rodríguez)
03:10 AM Revision bc6b0451 (git): [rubygems/rubygems] Cleanup now unnecessary RUBYOPT handling
https://github.com/rubygems/rubygems/commit/ac83c78635 deivid (David Rodríguez)
03:10 AM Revision 32a9f29c (git): [rubygems/rubygems] Remove no longer necessary workarounds for restarts
Since we no longer pass ruby CLI flags in our spec commands, we no
longer need the previous workaround and can get th...
deivid (David Rodríguez)
03:10 AM Revision 6217216b (git): [rubygems/rubygems] Use ENV consistently over CLI flags for specs
https://github.com/rubygems/rubygems/commit/dafe50f171 deivid (David Rodríguez)
03:10 AM Revision 0a8ed97b (git): [rubygems/rubygems] Helper for hax file
https://github.com/rubygems/rubygems/commit/8b7ddf8a07 deivid (David Rodríguez)
03:10 AM Revision c115e3d9 (git): [rubygems/rubygems] `bundle exec` does not need artifice in general
https://github.com/rubygems/rubygems/commit/cb1f19573a deivid (David Rodríguez)
02:45 AM Misc #20968: `Array#fetch_values` unexpected method name in stack trace
Thanks, I fixed the issue by commit:3546cedde3f6f46f00fd67b73081cbfbb83144de.
```
$ ./miniruby -ve '[1,2].inject(...
mame (Yusuke Endoh)
02:39 AM Revision 3546cedd (git): Set up callable_method_entry for DUMMY frame on ArgumentError
Before the patch:
```
$ ./miniruby -e '[1, 2].inject(:tap)'
-e:1:in '<main>': wrong number of arguments (given 1, exp...
mame (Yusuke Endoh)
02:39 AM Revision a18fa863 (git): Change how to correct the first lineno in the backtrace on ArgumentError
Follow up to fix 3b7373fd00a0ba456498a7b7d6de2a47c96434a2.
In that commit, the line number in the first frame was ove...
mame (Yusuke Endoh)

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 ...
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 s... 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 scri...
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 ... 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,...
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)...
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 compressio...
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
Al...
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 ...
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 the...
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...
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 ...
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 st...
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 di...
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... 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: ...
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 `/de...
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... 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 ...
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 no... 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...
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...
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 the...
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 tes...
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)...
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 ... 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 platf... 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 definin...
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() c... 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...
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:3de20efc308cccc38bf9dacfffca6c626... 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 add...
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...
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 obje...
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`,
`thr...
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 d... 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...
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/f0...
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/44464179...
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 ma...
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
modul...
nobu (Nobuyoshi Nakada)
12:16 AM Revision 2a79d7fc (git): Separate credential with dependabot and others
hsbt (Hiroshi SHIBATA)
 

Also available in: Atom