Activity
From 02/19/2026 to 02/25/2026
Today
-
05:08 PM Revision b52cb82d (git): ZJIT: Format negative offsets as small negative hex values (#16248)
- Before:
Optimized HIR:
fn block in <main>@benchmarks/setivar.rb:40:
bb1():
EntryPoint interpreter
v1:BasicObject = LoadSelf
Jump bb3(v1)
bb2():
EntryPoint JIT(0)
v4:BasicObject = LoadArg :se... -
01:38 PM Revision 02713197 (git): [ruby/prism] Generate RBI from RBS
- https://github.com/ruby/prism/commit/2c88ed893f
-
01:38 PM Revision bc1d75ad (git): [ruby/prism] Don't document rbs inline magic comment
- https://github.com/ruby/prism/commit/e371985c91
-
01:38 PM Revision fb39d589 (git): [ruby/prism] rbs-inline
- https://github.com/ruby/prism/commit/1fdd4c5a49
-
10:20 AM Misc #21924: Register a Maven namespace for JVM-related libraries
- Username and email should both be headius@headius.com
-
08:23 AM Misc #21924: Register a Maven namespace for JVM-related libraries
- @headius Thanks. I've created `org.ruby-lang` namespace. But I can't add your account to that namespace manually. I need to contact sonatype support.
Can you share your username and mail address of sonatype? -
07:47 AM Misc #21924: Register a Maven namespace for JVM-related libraries
- @hsbt I have deleted the org.ruby-lang namespace from my account. Try again?
-
07:38 AM Misc #21924: Register a Maven namespace for JVM-related libraries
- >Someone who can update the DNS entry to include the key needed by Sonatype for verification.
I can prepare that configuration.
I would like to know how to access that namespace with my account. I can't register `org.ruby-lang` by ... -
12:59 AM Misc #21924 (Assigned): Register a Maven namespace for JVM-related libraries
-
08:23 AM Bug #21870: Regexp: Warnings when using slightly overlapping \p{...} classes
- Using two or more overlapping Unicode properties may not be very frequent, but in most cases isn't a mistake. If a user writes `/[\p{Word}\p{S}]/`, that expression should just match all word characters and all symbol characters, because ...
-
07:24 AM Revision 9aa3dc6f (git): [ruby/json] Remove unused load_uint8x16_4 function.
- https://github.com/ruby/json/commit/93bc1b3838
-
12:21 AM Revision da1daba0 (git): ZJIT: Refine effects for CheckInterrupts to InterruptFlag|Control (#16240)
- CheckInterrupts only reads ec->interrupt_flag and conditionally
side-exits — it doesn't touch PatchPoint invariants or the allocator.
Add an InterruptFlag leaf under Memory in the abstract heap DAG and
narrow CheckInterrupts from Any to ...
02/24/2026
-
11:53 PM Revision c5d85d5a (git): Improve error message failing to copy proc
- Previously, when passing an unshareable proc to a Ractor we would get
the message:
'Ractor.new': allocator undefined for Proc (TypeError)
With this change we get:
'Ractor.new': can not copy unshareable object #<Proc:0x00007f1b... -
10:43 PM Revision f1c2fafa (git): ZJIT: Ratchet down Guard* effects (#16236)
- Guards don't write to (e.g. PatchPoint) memory, just change if we
side-exit into the interpreter or not, so lower their effects. -
10:36 PM Revision 7da57563 (git): ZJIT: Refine effects for IsBitNotEqual and FixnumBitCheck to Empty (#16237)
- Both instructions are pure computations with no side effects:
IsBitNotEqual is a cmp+csel (identical to IsBitEqual, already Empty),
and FixnumBitCheck is a test+csel on a tagged Fixnum bit. Neither
reads memory, writes anything, allocate... -
10:35 PM Revision 7e028b86 (git): ZJIT: Pull out GetEP from IsBlockParamModified (#16234)
- We can hopefully de-duplicate this GetEP soon.
-
10:01 PM Revision 56bdb93b (git): Remove man page date check
- This doesn't work because actions/checkout uses a fetch depth of 1, so
every CI run acts as though man pages were made in the most recent
commit.
Additionally the VCS code uses committed date, so this check will fail
if any PR is made t... -
08:54 PM Feature #4477: Kernel:exec and backtick (`) don't work for certain system commands
- Just found out about this behavior today when this code
```
out = `command -v ruby`
```
Works on my mac but not on linux (github actions) with an error `Errno::ENOENT: No such file or directory - command`. That is because on my m... -
07:41 PM Misc #21924 (Assigned): Register a Maven namespace for JVM-related libraries
- For the Prism project, I am working toward having published artifacts for JVM users (like JRuby or TruffleRuby).
Publishing these packages will make it much easier for us to support Prism in JRuby, both as our interal Ruby parser and... -
05:39 PM Revision 4b4da988 (git): Avoid and simplify rb_alloc_tmp_buffer_with_count
- There's no reason to ever call this and the "count" value is ignored.
Because this is part of the public API I left it as a stub, but it could
likely be removed. -
05:39 PM Revision 7a36808d (git): Use rb_alloc_tmp_buffer in new_from_an_RString
-
05:39 PM Revision c1f70394 (git): Remove rb_imemo_tmpbuf_set_ptr
-
01:53 PM Revision 3aa89271 (git): [ruby/prism] Introduce xfree_sized and xrealloc_sized
- This will allow prism to pass buffer sizes to the Ruby GC.
It also helps avoid buffer overflow as it confirms the size was
correctly tracked all the way until the buffer is freed.
https://github.com/ruby/prism/commit/a5c3ee3e4c -
01:46 PM Revision ebd57856 (git): [ruby/prism] Fix some locations in the the config
- https://github.com/ruby/prism/commit/64e29baac6
- 07:08 AM Revision 682f36ab (git): Update bundled gems list as of 2026-02-24
-
05:52 AM Bug #21870: Regexp: Warnings when using slightly overlapping \p{...} classes
- A quick benchmark shows we are within error bars for matching performance:
```ruby
#!/usr/bin/env ruby
require 'benchmark'
NON_REPEAT = Regexp.new("[" + ("a-z" * 1) + "]")
YES_REPEAT = Regexp.new("[" + ("a-z" * 100000) + "]")
... -
05:41 AM Bug #21870: Regexp: Warnings when using slightly overlapping \p{...} classes
- Having looked through the onigmo code a bit now, I can think of a few ways forward.
**a) Simply don't warn on overlapping ctype classes.**
I believe this would only involve removing the check on line 1860 from regparse.c. This woul... -
05:27 AM Revision 70c62514 (git): Use rev-parse HEAD instead of log --format=%H -1
-
05:07 AM Bug #21921: Hash inconsistent ==, >=, <= behavior
- > > > An entry `h0[k0]` in one hash is equal to an entry `h1[k1]` in another hash if and only if the two keys are equal (`k0 == k1`) and their two values are equal (`h0[k0] == h1[h1]`).
> ...
Yes, I read the spec as saying "Given two ha... -
03:12 AM Revision fc16000e (git): CI: Highlight diff of depend files [ci skip]
-
03:06 AM Revision 997ac19b (git): ZJIT: Remove redundant PatchPoints within basic blocks (#16231)
- Add a new optimization pass that deduplicates PatchPoint instructions
asserting the same invariant within a basic block when no intervening
instruction could invalidate it.
This is common in practice — e.g., `1 + 2 + 3` produces two ide... -
03:05 AM Feature #21835 (Closed): Unbundle bunled gems like net-ftp
- Removed them at https://github.com/ruby/ruby/pull/16169
-
03:01 AM Bug #20319 (Closed): Singleton class is being frozen lazily in some cases
- Applied in changeset commit:git|8e9eb698b6638e0f3e76748c756f699e79d2e97d.
----------
Freeze singleton class chain
The following code:
```ruby
x = Object.new
sc1 = x.singleton_class
sc2 = sc1.singleton_class
x.freeze
```
Would freeze ... -
02:52 AM Bug #20319: Singleton class is being frozen lazily in some cases
- I accept https://github.com/ruby/ruby/pull/10245
Matz.
-
03:01 AM Revision 8e9eb698 (git): Freeze singleton class chain
- The following code:
```ruby
x = Object.new
sc1 = x.singleton_class
sc2 = sc1.singleton_class
x.freeze
```
Would freeze sc1 but not sc2, even though sc1 would be frozen.
Handle this by walking the class pointer chain for the object.
If... -
02:54 AM Misc #21922: Permissions for committers for default/bundled/unbundled gems repositories
- First of all, the title is wrong. Ruby committers can still commit to the default gem repository.
>(FWIW I saw there a default-gems-contributor team with 3 people, which explains why they can merge PRs to some repositories that ruby c... -
02:12 AM Revision b479c41d (git): Use .bundle gems dependencies directly
-
12:10 AM Misc #21881: Split the root box into the (newer) root box and the master of copied user boxes
- After a short coding, I changed my idea about the naming. The original copy of boxes will be `master` (master-copy).
I thought the `source` box should be confusing because the word "source" is used everywhere both in CRuby and Ruby code. -
12:06 AM Misc #21881 (Assigned): Split the root box into the (newer) root box and the master of copied user boxes
-
12:06 AM Misc #21881: Split the root box into the (newer) root box and the master of copied user boxes
- The root box is mandatory because it runs the code of Ruby runtime itself. For example, Array#fetch_values written in Ruby (array.rb).
02/23/2026
- 11:58 PM Revision f3ee4bd0 (git): ZJIT: Remove redundant snapshot for opt_getconstant_path (#16229)
- 10:03 PM Revision 070b7d40 (git): ZJIT: constant fold bitwise AND (&) operations (#16226)
- Following up https://github.com/ruby/ruby/pull/16225, I'm implementing fold on AND (&) operations.
- Ruby turns this operation into a C `&` in https://github.com/tomascco/ruby/blob/880eb3c76f09c44c85389ac5efbc555afafa3e6f/numeric.c#L519... -
08:31 PM Revision 2d8e24c8 (git): ZJIT: Guard receiver type in inline Array method handlers (#16141)
- inline_array_push, inline_array_pop, and inline_array_aref did not
guard/coerce the receiver to Array type before emitting Array-specific
HIR instructions (ArrayPush, ArrayPop, ArrayLength, ArrayAref).
This caused a MismatchedOperandTyp... -
05:20 PM Revision 20eeb720 (git): Commit a diff shown on check_misc
- https://github.com/ruby/ruby/actions/runs/22316806245/job/64563939588
Local `make update-man-date` generates nothing but CI complains about
it, so just pushing this diff to make it happy. - 05:14 PM Revision 6f0244e0 (git): ZJIT: Pull GetEP out of GetLocal (with level > 0) (#16215)
- Closes: https://github.com/Shopify/ruby/issues/944
As a first step toward enabling CSE/LVN-based deduplication of frame EP loads,
splitting `GetLocal` handling for `level > 0` into an explicit `GetEP + LoadField` path.
A follow-up PR w... - 05:12 PM Revision ffbe288f (git): ZJIT: constant fold bitwise XOR (^) operations (#16225)
-
05:06 PM Revision 107699df (git): [ruby/erb] Freeze src in initialize
- (https://github.com/ruby/erb/pull/105)
https://github.com/ruby/erb/commit/3d4dc31905 -
04:56 PM Bug #21921: Hash inconsistent ==, >=, <= behavior
- > > An entry `h0[k0]` in one hash is equal to an entry `h1[k1]` in another hash if and only if the two keys are equal (`k0 == k1`) and their two values are equal (`h0[k0] == h1[h1]`).
> ...
It doesn't just say "equal", it specifically m... -
12:43 PM Feature #21923 (Open): DTrace USDT probe Ruby method arguments and return value
- I'm interested in improving the DTrace USDT probes in Ruby. I would like to expose the Ruby method arguments and return value to the DTrace probes `(c)method-entry` and `(c)method-return`. This would be done by adding a fifth argument to...
-
11:34 AM Feature #19107: Allow trailing comma in method signature
- > What about the lambda arguments?
@nobu it's unclear to me so I didn't change them. I added https://bugs.ruby-lang.org/issues/21875 to the next dev meeting. -
04:43 AM Feature #19107: Allow trailing comma in method signature
- What about the lambda arguments?
commit:731b6092e9268af960bf0f060e37504f4deb7380 seems not to allow `->(a,) {}`.
-
09:35 AM Revision fd492edd (git): Fix spurious uses of BASE_SLOT_SIZE
- In gc_sweep_plane, VALGRIND_MAKE_MEM_UNDEFINED was using BASE_SLOT_SIZE
which only covers the smallest pool's slot size. For larger size pools
this left the tail of the slot with stale state. Use the page's actual
slot_size instead.
In ... -
09:18 AM Revision 9ebef81e (git): Relax thresholds for compaction verification
- These tests failed with RHEL10 again.
02/22/2026
-
04:40 PM Revision b94162ab (git): [ruby/prism] Preserve line-continuation only in dedent heredocs
- Closes https://github.com/ruby/prism/issues/3837
While these lines are whitespace only from a runtime perspective,
the line continuation is significant for AST consumers.
Sort of a followup to https://github.com/ruby/prism/commit/faab2... -
04:38 PM Feature #19107 (Closed): Allow trailing comma in method signature
- Applied in changeset commit:git|731b6092e9268af960bf0f060e37504f4deb7380.
----------
[ruby/prism] [Feature #19107] Allow trailing comma in method signature
https://github.com/ruby/prism/commit/b7e247ce6a -
04:38 PM Revision 731b6092 (git): [ruby/prism] [Feature #19107] Allow trailing comma in method signature
- https://github.com/ruby/prism/commit/b7e247ce6a
-
04:32 PM Revision 6d69a2b8 (git): [ruby/prism] Rename Java package to org.ruby_lang.prism
- This moves all of the non-JRuby Java code from the org.prism
package to the org.ruby_lang.prism package (corresponding to the
ruby-lang.org domain and prism project).
https://github.com/ruby/prism/commit/80b7402f8b -
11:00 AM Revision c71999e8 (git): [DOC] Update the date in man pages
-
10:59 AM Revision dcdec8c2 (git): [DOC] Check if date in man pages is up-to-date
- 05:34 AM Revision 07645fe8 (git): [DOC] man: Increase section number portability
- Remove a zero-width space from manual page section numbers improving
portability with the mandoc compiler used on macOS, BSD, and illumos.
Previously it was polluting the whatis(1) database, showing as being
in both sections `1` and als... -
04:15 AM Bug #21919: `libruby-static.a` links to wrong `Init_enc`
- nobu (Nobuyoshi Nakada) wrote in #note-1:
> `--with-static-linked-ext` means the extension libraries including encodings are linked to the ruby executable or library.so.
Which `library.so` is that exactly?
nobu (Nobuyoshi Nakada... -
02:27 AM Bug #21919 (Rejected): `libruby-static.a` links to wrong `Init_enc`
- `--with-static-linked-ext` means the extension libraries including encodings are linked to the ruby executable or library.so.
`-static.a` is not intended to link these extensions. -
03:44 AM Revision ac4aebc7 (git): Use ruby-head instead of ruby-3.2 in check_misc job (#16217)
-
02:56 AM Revision fcba4c1a (git): [DOC] Improve link in yjit.md
-
02:06 AM Revision 9efde1f2 (git): [DOC] Specify the HTML output path explicitly
02/21/2026
-
08:25 PM Misc #21922 (Open): Permissions for committers for default/bundled/unbundled gems repositories
- I noticed recently that the team `ruby-committers` on GitHub no longer has write access to at least:
* https://github.com/ruby/benchmark
* https://github.com/ruby/cmath
* https://github.com/ruby/curses
* https://github.com/ruby/dbm
... -
07:17 PM Revision 60082aa9 (git): [DOC] Fix link fragment
-
06:13 PM Bug #21921: Hash inconsistent ==, >=, <= behavior
- By the way, I noticed the following behavior, which feels like it might not satisfy the specification:
```ruby
h1 = {}.compare_by_identity
h1["one"] = true
h1["one"] = true
h2 = { "one" => true }
h1 <= h2 # current: false, expe... -
05:56 PM Bug #21921: Hash inconsistent ==, >=, <= behavior
- The documentation for Hash inclusion is a bit hard to understand due to its mathematical phrasing.
> The spec merely says that keys are compared with `==`, but I believe they are actually compared with `eql?` (for normal hashes).
T... -
03:02 PM Bug #21921: Hash inconsistent ==, >=, <= behavior
- This has not affected any real-world app I use. I noticed this while working on a bidirectional hash gem (bihash@rubygems).
However, I don't think the behavior is consistent with the spec as written:
The spec merely says that keys are c... -
03:49 AM Bug #21921: Hash inconsistent ==, >=, <= behavior
- The current specification of `Hash#<=` is to check if all elements of the supposedly smaller Hash are included in the supposedly larger Hash. I think the reported behaviors are actually working as specified.
https://github.com/ruby/ru... -
02:31 AM Bug #21921 (Open): Hash inconsistent ==, >=, <= behavior
- Hash seems to have very inconsistent behavior for `==`, `>=`, and `<=`.
Given that below h1 == h2 is `false` and that they have the same number of keys, I would expect `<=` and `>=` to also be `false`.
However, surprisingly `h1 <= h2` ... -
05:36 PM Feature #17056: Array#index: Allow specifying the position to start search as in String#index
- I often use the offset parameter from `String#byteindex` and was a bit surprised there is not yet something for arrays. It's a bit unfortunate with the ambiguity between block/noblock usage but a keyword argument `offset` seems like a pe...
-
12:58 PM Revision 727612b1 (git): ZJIT: Stabilize anonymous module/class names in stat keys and display (#16176)
- Anonymous modules/classes get names like `"#<Module:0x00007f...>"` from `rb_class2name`, which include a memory address that changes between runs. This makes stat keys unstable for diffing across runs and is less informative than it coul...
-
07:55 AM Bug #21920 (Closed): LIBRUBYARG_SHARED contains -lgmp and other libraries for static linking
- The commit was reverted https://github.com/ruby/ruby/pull/16212, it should be fixed now.
-
05:31 AM Revision a0d9b69c (git): colorize: [DOC] Add documents
-
05:30 AM Revision 1fb58853 (git): colorize: Make internal methods/constants private
-
05:30 AM Revision 2794351c (git): colorize: Refactor #initialize
- Use keyword arguments and extract repeated regexps as constant.
-
05:30 AM Revision 769b8de4 (git): colorize: Support background color
-
04:12 AM Revision 623f33d9 (git): Relax test_thrashing_for_young_objects to fix CI flake
- This test has been failing intermittently on multiple CI platforms
(Debian 13, RHEL 9/10, Ubuntu aarch64) with heap_allocated_pages
growing from 100 to 130, or major_gc_count incrementing by 1.
Failing run: https://rubyci.s3.amazonaws.c... -
04:12 AM Revision 82e796b1 (git): Revert "[Bug #19831] Remove duplicate library warning"
- This reverts commit d256629bf9e194838d1837be74dcc0b8ff0bcfd6.
02/20/2026
-
11:12 PM Revision a8cb7292 (git): Remove NUM_IN_PAGE macro
- This is being used to calculate the starting point of the slots in a
page in order to make them evenly divisible by a bitmap plane.
Since https://github.com/ruby/ruby/pull/16150 we restructured the
bitmaps in order to pack them such tha... -
10:33 PM Bug #21855: Bundle `win32-registry` or implement it without `fiddle`
- Thanks for merging!
There is a second bug, that is fixed by making win32-registry a bundled gem: The gemspec of the default gem looks like so:
```ruby
$ cat c:\Ruby40-arm\lib\ruby\gems\4.0.0\specifications\default\win32-registry-0.1... -
04:22 AM Bug #21855 (Closed): Bundle `win32-registry` or implement it without `fiddle`
- Applied in changeset commit:git|f01f66ca249405ec125ba864e48e51944cc51c6f.
----------
Move win32-registry from default to bundled gems
Because win32-registry needs fiddle and fiddle is a bundled gem.
[Bug #21855] -
04:22 AM Bug #21855: Bundle `win32-registry` or implement it without `fiddle`
- @usa has no objection for that. I will merge https://bugs.ruby-lang.org/issues/21855#note-6 and handle related works.
-
09:24 PM Bug #21920 (Closed): LIBRUBYARG_SHARED contains -lgmp and other libraries for static linking
- That recent commit introduced `MAINLIBS` into `LIBRUBYARG_SHARED`: https://github.com/ruby/ruby/commit/d256629bf9e194838d1837be74dcc0b8ff0bcfd6
Before that commit:
```
CONFIG["LIBRUBYARG_SHARED"] = "-l$(RUBY_SO_NAME)"
CONFIG["L... -
07:10 PM Bug #21919 (Rejected): `libruby-static.a` links to wrong `Init_enc`
- When building Ruby with `--with-static-linked-ext`, `libruby-static.a` links the `Init_enc` function from `dmyenc.c` instead of `enc/encinit.c.erb`, resulting in `uninitialized constant Encoding::UTF_8` error, among other things.
Ther... -
04:39 PM Revision e730ac41 (git): YJIT: Fix version_map use-after-free from mutable aliasing UB
- Multiple YJIT functions created overlapping `&'static mut IseqPayload`
references by calling `get_iseq_payload()` multiple times for the same
iseq. Overlapping &mut is UB in rust's aliasing model, and as consequence,
we trigered use-afte... -
04:04 PM Revision 906176ad (git): ZJIT: zjit-bisect.rb: Pass options with -T for `make test-spec`
- It was passing options to the test harness rather than ruby(1).
-
11:18 AM Revision ee2d9029 (git): [ruby/json] Use single quotes for allow_invalid_escape doc
- Instead of using %{} which works like double-quoted string and allows
escape sequences and in which "other escaped characters (a backslash
followed by a character) are interpreted as the character", change the
examples for `allow_invalid... -
11:12 AM Revision f3d52cb8 (git): [ruby/rubygems] Document concurrent_downloads in environment command
- https://github.com/ruby/rubygems/commit/927f1e3a0f
-
10:44 AM Revision 986aa694 (git): Suppress an uninitialized variable warning
-
10:25 AM Revision 2d2afa8c (git): Group rubyspec_capiext
-
08:34 AM Revision 3dc80a09 (git): Removed unnecessary setup for make bundled_gems_spec-run
- 07:08 AM Revision 3417f802 (git): Update bundled gems list as of 2026-02-20
-
04:25 AM Revision 28de927b (git): Add win32-registry entries to doc
-
04:22 AM Revision f01f66ca (git): Move win32-registry from default to bundled gems
- Because win32-registry needs fiddle and fiddle is a bundled gem.
[Bug #21855] -
04:19 AM Revision b093886d (git): [DOC] Fix range docs intro
- It's code but not formatted as such
- 02:05 AM Revision 6ea68a58 (git): [ruby/rubygems] Don't check whether a plugin needs to be installed:
- - ### Problem
When Bundler installs gems, it checks whether a gem plugin needs
to be installed.
This check (`Dir.glob`) is expensive and is hotspot when profiling
Bundler.
### Details
Bundler makes a check to see if a gems... -
01:57 AM Bug #21882 (Closed): IO::Buffer#locked leaves the buffer locked when the block raises
- Applied in changeset commit:git|b5ccab2093c9bb19ae8564a935e6fd72ec7354cc.
----------
IO::Buffer#locked: Release lock even when the block raises (#16180)
IO::Buffer#locked: Release lock even when the block raises/breaks
Previously, `IO... -
01:56 AM Revision b5ccab20 (git): IO::Buffer#locked: Release lock even when the block raises (#16180)
- IO::Buffer#locked: Release lock even when the block raises/breaks
Previously, `IO::Buffer#locked` leaks the lock when the block raises
an exception, or breaks.
Fixes: [Bug #21882] -
01:39 AM Revision 126b657b (git): Use rb_ensure instead of guard objects for Dir.pwd
- This replaces GC-based buffer guards (rb_imemo_tmpbuf,
TypedData_Wrap_Struct) with rb_ensure to clean up malloc/xmalloc memory
when an exception occurs.
02/19/2026
- 11:37 PM Revision 06c8b1ab (git): ZJIT: Remove find() from po_from
- 11:37 PM Revision c0c97c0f (git): ZJIT: Simplify po_from to take a single BlockId
-
11:22 PM Revision e6f73fcf (git): Remove HEAP_PAGE_OBJ_LIMIT
- This was useful when there was only a single size pool to have an easy
way of referencing the average number of objects a page could hold (this
would vary by a few in real terms because of page alignment).
But with multiple heaps, each ... -
10:24 PM Revision 7ca0aa5f (git): Copy terminator when moving strings to the heap.
- The embedded-to-heap path copied RSTRING_LEN(str) bytes into an
ALLOC_N buffer, missing the null terminator (and any slot padding).
Copy str_embed_capa(str) bytes instead. Always safe since we only
enter this path when str_embed_capa(str... -
10:20 PM Bug #21917: Unable to build 4.0.1 on AIX 7.2
- Thanks for the quick reply. Your second, more simple patch in https://bugs.ruby-lang.org/issues/21917#note-2 worked to resolve my build issue.
I also tried your commit 361644c0cce3235e9cc6724994c6b5711deb10b8 but the build fails with ... -
09:51 AM Bug #21917 (Closed): Unable to build 4.0.1 on AIX 7.2
- Applied in changeset commit:git|361644c0cce3235e9cc6724994c6b5711deb10b8.
----------
[Bug #21917] Fix build on AIX -
02:08 AM Bug #21917: Unable to build 4.0.1 on AIX 7.2
- Or, more simply:
```diff
diff --git a/dln.c b/dln.c
index 2549f031835..3725b95fbb7 100644
--- a/dln.c
+++ b/dln.c
@@ -89,7 +89,7 @@ dln_loaderror(const char *format, ...)
}
#endif
-#if defined(HAVE_DLOPEN) && !defined(_AI... -
12:29 AM Bug #21917: Unable to build 4.0.1 on AIX 7.2
- Probably this may help:
```diff
diff --git a/dln.c b/dln.c
index 2549f031835..01dfccd0534 100644
--- a/dln.c
+++ b/dln.c
@@ -506,6 +506,7 @@ static void *
dln_load_and_init(const char *file, const char *init_fct_name)
{
#if... -
10:17 PM Revision bb8881f3 (git): [ruby/rubygems] Honor concurrent_downloads from gemrc
- https://github.com/ruby/rubygems/commit/6a187a0a99
- 09:18 PM Revision b205bf61 (git): ZJIT: Measure how much each part of compile-time costs
- 09:18 PM Revision 607af489 (git): ZJIT: Measure side-exit compile time
- Also report it as a percentage of overall compile time.
- 09:05 PM Revision c058a988 (git): ZJIT: Replace dominator set-intersection with Cooper's idom algorithm
- 09:05 PM Revision f5782840 (git): ZJIT: Add Entries superblock as single CFG root
- 09:05 PM Revision 3f5e85bf (git): ZJIT: Add LoadArg instruction for JIT entry blocks
-
03:57 PM Revision e7cff2e8 (git): ZJIT: Register builtin CMEs before prelude to avoid prepend crash
- Split rb_zjit_init into rb_zjit_init_builtin_cmes (called before
ruby_init_prelude) and rb_zjit_init (called after). The prelude may
load bundler via BUNDLER_SETUP which can call Kernel.prepend, moving
core methods to an origin iclass. R... -
03:57 PM Revision bf3bc12d (git): Simplify Kernel prepend test
-
03:57 PM Revision b9dc0a2b (git): Add regression test for module prepend crash
-
03:57 PM Revision a19becac (git): YJIT: Register builtin CMEs before prelude to avoid prepend crash
- Split rb_yjit_init into rb_yjit_init_builtin_cmes (called before
ruby_init_prelude) and rb_yjit_init (called after). The prelude may
load bundler via BUNDLER_SETUP which can call Kernel.prepend, moving
core methods to an origin iclass. R... -
02:43 PM Bug #21918 (Open): fiber scheduler: fiber interrupt triggers for IOs that haven't been closed
- I've been chasing an issue, which I believe is to with the recent introduction of the `fiber_interrupt` hook in ruby 4. As a reproduction I have the following snippet:
```ruby
require "socket"
require_relative "test/fiber/scheduler"... -
12:31 PM Revision e7a09845 (git): [ruby/json] Add `allow_invalid_escape` parsing option
- Ref: https://github.com/ruby/json/issues/939
https://github.com/ruby/json/commit/05cec0cbee -
10:58 AM Revision e67f3f06 (git): [ruby/prism] Implement noblock for the ripper/ruby_parser translator
- In ripper, compared to `**nil` it is not a new event
https://github.com/ruby/prism/commit/7f5782392e -
10:02 AM Revision 7d05c170 (git): Use `UNREACHABLE_RETURN` instead of dummy `return`
-
09:12 AM Revision 361644c0 (git): [Bug #21917] Fix build on AIX
-
09:12 AM Revision 3ad05195 (git): Reduce duplicate code
-
09:04 AM Revision 6bb0b6b1 (git): [ruby/prism] Revert "[DOC] Add code fences"
- (https://github.com/ruby/prism/pull/3936)
This reverts commit https://github.com/ruby/prism/commit/641775e5fea6.
There is no need, they are not documented.
https://github.com/ruby/prism/commit/6fb4c42637 -
01:15 AM Revision da767cda (git): Fix wrong function names in `rb_bug` messages in vm_trace.c (#16196)
-
12:22 AM Revision e3183164 (git): ZJIT: Save VM state before recording exit stack for trace-exits (#16195)
- When --zjit-trace-exits is enabled, rb_zjit_record_exit_stack was called before compile_exit restored the VM state (cfp->pc, cfp->sp, stack, locals). This ccall clobbers caller-saved registers that may hold stack/local operands, causing ...