Activity
From 11/22/2025 to 11/28/2025
Today
-
02:23 AM Revision 404e6aa9 (git): [DOC] Fix typo in rb_debug_inspector_current_depth
-
01:27 AM Bug #21715: Miscompilation on x86-64-v2 due to undefined behavior in search_nonascii in string.c
- I repeated Mame's experience on a Xeon Platinum 8124M and gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04). The chip is from 2017, and runs x86-64-v4. I'm using slightly different scripts since I'm running with frequency scaling disable...
-
12:04 AM Revision 5e2e45fc (git): Fix for modgc
-
12:04 AM Revision 9929dc44 (git): Mask off unused VWA bits
11/27/2025
-
11:31 PM Revision 5b1ed1ef (git): [DOC] Remove unneeded filename from rdoc-ref links (#15339)
-
10:43 PM Bug #21716: YJIT panic: "all PendingBranchRefs should be unique" in net/http response reading (infinite unwind loop)
- There is two separate issues here, YJIT panicking, and the crash reporter looping during stack tracing. During development, I've seen the the crash reporter go into infinite loop on aarch64-dwarin, too.
The rust unwinder seems to be w... -
02:34 PM Bug #21716: YJIT panic: "all PendingBranchRefs should be unique" in net/http response reading (infinite unwind loop)
- 👋 I'll add that we have some limited crash telemetry at Datadog and I've seen what might be the same issue (YJIT failing somewhere inside `branch_stub_hit`) on both Ruby 3.3 and 3.4 (maybe 3.2 but unclear? if the same) on both x86-64 and...
-
12:25 PM Bug #21716 (Open): YJIT panic: "all PendingBranchRefs should be unique" in net/http response reading (infinite unwind loop)
- We encountered a YJIT panic in production that caused the process to enter an infinite logging loop for several hours. The panic occurs within `yjit/src/core.rs` when handling branch references.
The trigger appears to be in `net/http`... -
08:12 PM Revision 4cd6661e (git): Reorganize page documentations (#15154)
- Re-organize page docs
-
05:27 PM Misc #21689: DevMeeting-2025-12-11
- [Feature [#21619](https://bugs.ruby-lang.org/issues/21619)] logger context API
* Blog post detailing motivation [here](https://honeyryderchuck.gitlab.io/2025/11/12/context-missing-api-in-logger.html)
* PR with proposal [here](https:... -
01:01 PM Revision 2f192c73 (git): [ruby/json] Respect Coder depth when generating
- https://github.com/ruby/json/commit/9c36681b17
-
01:01 PM Revision 78aa8d5b (git): [ruby/json] Test current behavior regarding depth for Coder
- Coder currently ignores its depth and always resets it to 0 when
generating a new JSON document.
https://github.com/ruby/json/commit/cca1f38316 -
12:05 PM Revision 68a7edaa (git): [DOC] Fix a link in NEWS.md
-
09:47 AM Revision aebd391f (git): Clean prism directory
-
09:25 AM Bug #21715: Miscompilation on x86-64-v2 due to undefined behavior in search_nonascii in string.c
- I wonder if the premise that "unaligned word access is feasible on x86" no longer holds in modern contexts?
We are of course aware that unaligned word access is undefined behavior in C. However, it is slightly faster, which is why we ... -
03:03 AM Bug #21715: Miscompilation on x86-64-v2 due to undefined behavior in search_nonascii in string.c
- Right, it's doing the unaligned read in the classic intuitive-but-UB way. Can you try the following (roughly tested) patch? It's based on the ruby_3_4 branch.
```patch
From 225f6caf914a4dd4c457d9e52ab72a79c91bd1a7 Mon Sep 17 00:00:00... - 07:36 AM Revision 3b09db3b (git): Bump actions/checkout from 5.0.1 to 6.0.0
- Bumps [actions/checkout](https://github.com/actions/checkout) from 5.0.1 to 6.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v5.0.1...v6)
---
updated-dependen... - 07:36 AM Revision cdf4634d (git): Bump actions/checkout in /.github/actions/setup/directories
- Bumps [actions/checkout](https://github.com/actions/checkout) from 5.0.1 to 6.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](http... -
07:30 AM Revision 3ebb5b9c (git): Remove unneeded trailing semicolons
- 07:06 AM Revision 4917f233 (git): Store snapshot info date as Date instead of String
-
07:00 AM Revision 0f45d0c4 (git): Update man and help: -d option set $VERBOSE to true
- 06:48 AM Revision a2c12d3f (git): Documentation: Added the `|`(pipe)/OR operator to syntax/methods.
- It was not documented as an operator that can be overriden, which is confusing because it makes you think it can't be.
- 06:44 AM Revision 3e926cd5 (git): NEWS.md: fix wording about Ractor::Port
-
06:00 AM Revision 10522ca1 (git): [DOC] Include strscan/lib
-
02:10 AM Revision 2e770cdf (git): Fix argument handling in `IO::Buffer#each_byte` (#15309)
- The method incorrectly ignored its first argument and treated the second argument as offset and the third as count.
This change makes the first argument be treated as offset and the second as count.
Also fix incorrect block parameter in... -
12:13 AM Revision a60cd878 (git): Error if deleting a nonexistent obj from geniv
- I don't think this ever happened, but we should raise the same error
we'd raise on lookup -
12:13 AM Revision 5bef7577 (git): Ensure we don't dereference fields_obj as Qundef
- We rely on the GC to clear this when the GC is run on another EC than
the cache. -
12:13 AM Revision 970b18e9 (git): Clear fields obj when removing
- This fixes a bug where the gen_fields_cache could become invalid when
the last ivar was removed. Also adds more assertions.
11/26/2025
-
11:36 PM Revision db94a79d (git): ZJIT: Count fallback reasons for set/get/definedivar (#15324)
- lobsters:
```
Top-4 setivar fallback reasons (100.0% of total 7,789,008):
shape_transition: 6,074,085 (78.0%)
not_monomorphic: 1,484,013 (19.1%)
not_t_object: 172,629 ( 2.2%)
too_complex: 58,281 ( 0.7%)
Top-3 geti... -
11:10 PM Revision 52426a22 (git): Remove an excess colon [ci skip]
- 10:14 PM Revision bee02c41 (git): Fix a ractor barrier issue during VM cleanup. (#15091)
- 09:23 PM Revision 1660b814 (git): Eliminate redundant work and branching when marking T_OBJECT (#15274)
-
09:07 PM Bug #21715 (Open): Miscompilation on x86-64-v2 due to undefined behavior in search_nonascii in string.c
- Building the following Dockerfile fails on a x86-64 machine in the last step (running `make` command):
```
FROM opensuse/leap:16.0
RUN zypper --non-interactive install wget make gcc
RUN wget 'https://cache.ruby-lang.org/pub/ruby/3.... -
08:56 PM Bug #21707 (Closed): Destructuring assignment of SimpleDelegator wrapped array bug with YJIT
- Applied in changeset commit:git|5f55c9c8fb8f401537e7121171747196e66c3ba0.
----------
YJIT: Abort expandarray optimization if method_missing is defined
Fixes: [Bug #21707]
[AW: rewrote comments]
Co-authored-by: Alan Wu <alanwu@ruby-lang... -
06:05 PM Bug #21707: Destructuring assignment of SimpleDelegator wrapped array bug with YJIT
- 3.2 and 3.3 don't have this bug.
Backport PR for 3.4: https://github.com/ruby/ruby/pull/15331 -
12:12 AM Bug #21707: Destructuring assignment of SimpleDelegator wrapped array bug with YJIT
- I have a fix up for this https://github.com/ruby/ruby/pull/15325
-
08:56 PM Revision 5f55c9c8 (git): YJIT: Abort expandarray optimization if method_missing is defined
- Fixes: [Bug #21707]
[AW: rewrote comments]
Co-authored-by: Alan Wu <alanwu@ruby-lang.org> - 08:37 PM Revision c42c6c27 (git): ZJIT: Remove dead unnecessary_transmutes allow
- ```
warning: unknown lint: `unnecessary_transmutes`
--> zjit/src/cruby.rs:107:9
|
107 | #[allow(unnecessary_transmutes)] // https://github.com/rust-lang/rust-bindgen/issues/2807
| ^^^^^^^^^^^^^^^^^^^^^^
|
= not... -
06:59 PM Bug #21516: Segfault in String#succ! on 32-bit i686
- Indeed it fixes the bug for me.
-
06:40 PM Revision 67a14e94 (git): Set age bitmap outside of adding to freelist
- This allows us to do less work when allocating a fresh page.
-
06:40 PM Revision 795e290e (git): Avoid extra set of age bit flags
-
06:00 PM Bug #21714 (Open): Prism and parse.y inconsistency in `def a = a b do 1 end`
- Endless method definition and command with block are syntax error in parse.y, accepted in Prism.
~~~ruby
def a = a b do 1 end
~~~
Related to https://bugs.ruby-lang.org/issues/17398 and https://bugs.ruby-lang.org/issues/21711
-
05:54 PM Bug #21713 (Open): Prism accepts pattern matching in modifier rescue followed by operators that shouldn't be allowed
- These are syntax errors in parse.y but accepted in Prism
~~~ruby
a rescue b => c in d
a rescue b in c..
a rescue b => c..
a rescue b => c::itself
a rescue b => c[]
a rescue b => c[0] = 1
a rescue b => c ? 1 : 2
a rescue b => c |... -
05:41 PM Bug #21712 (Open): Prism and parse.y inconsistency in command call with block and `.()`
- `a b do end.()` `a b do end&.()` are parsed differently.
Prism: parse success, parse.y: SyntaxError
I personally like Prism's behavior: `.()` and `&.()` are accepted where `.f()` and `&.f()` are accepted.
-
05:15 PM Bug #21711 (Open): Prism and parse.y parses private endless method definition with block differently
- In the following code, `do end` block is passed to `private` in Prism but passed to `tap` in parse.y
~~~ruby
private def f = tap do end
f # different result(prism: LocalJumpError, parsey: returns main)
~~~
According to https://bug... -
05:06 PM Revision e057ff33 (git): [Doc] Fix duplicated entry in GC.stat documentation
-
02:47 PM Revision ab3b79ea (git): [ruby/json] Don't copy JSON_Generator_State in generate_new
- Now that the state isn't mutated in generate_new, we no longer need to
copy the struct, we can just use it.
https://github.com/ruby/json/commit/d7964f8892 -
02:47 PM Revision 98a96677 (git): [ruby/json] Don't write depth to JSON_Generator_State in some cases
- For `JSON.generate` and `JSON::State#generate_new`, don't copy
generate_json_data::depth to JSON_Generator_State::depth.
In `JSON.generate`, the JSON_Generator_State is on the stack and
discarded anyway. In `JSON::State#generate_new`, w... -
02:47 PM Revision 4b8ec8c9 (git): [ruby/json] Add depth to struct generate_json_data
- Instead of incrementing JSON_Generator_State::depth, we now increment
generate_json_data::depth, and only copied at the end.
https://github.com/ruby/json/commit/5abd434907 -
02:47 PM Revision adc0521b (git): [ruby/json] Test to_json using State#depth
- https://github.com/ruby/json/commit/ac0a980668
-
02:47 PM Revision dd6a4ea2 (git): [ruby/json] Test depth
- https://github.com/ruby/json/commit/d02e40324a
-
02:47 PM Revision fb642b78 (git): [ruby/json] Test that depth of unfrozen State does not change
- https://github.com/ruby/json/commit/9d32cf4618
-
02:32 PM Bug #21710: Segfault when reading object_id after it is set inside RUBY_INTERNAL_EVENT_NEWOBJ
- Thanks for the hyper-quick investigation & PR 🙏
-
10:40 AM Revision 38022961 (git): [ruby/optparse] Remove unneeded `public`
- Removed public visibility from the candidate method.
https://github.com/ruby/optparse/commit/9a784a89a2 -
10:40 AM Revision 6ace0251 (git): [ruby/optparse] Put `private` before method declarations
- https://github.com/ruby/optparse/commit/5478354d4f
-
09:55 AM Revision c85eb2d0 (git): [ruby/timeout] Revert "Suppress warnings in two tests"
- This reverts commit https://github.com/ruby/timeout/commit/983cbf636a17, that is
fixed by test-unit 3.7.3.
https://github.com/ruby/timeout/commit/095207f270 - 07:03 AM Revision 61f34568 (git): Update default gems list at ecdeb90fe94af86c6d84fe343c1f95 [ci skip]
-
07:01 AM Revision ecdeb90f (git): [ruby/rubygems] Bump up to 4.0.0.beta2
- https://github.com/ruby/rubygems/commit/b8529f48bf
-
06:50 AM Revision 525ee3ab (git): [ruby/cgi] Fix mixed declarations and code
- Use C90 syntax only, as far as supporting ruby 2.6 or earlier.
https://github.com/ruby/cgi/commit/886c82982a -
06:41 AM Revision 43ed35de (git): [ruby/cgi] Skip unless `CGI::EscapeExt` methods are implemented
- https://github.com/ruby/cgi/commit/7b5a13952b
-
02:50 AM Revision 72eb929e (git): [DOC] Exclude the word Box from RDoc's autolinking
-
02:48 AM Revision 30fe3654 (git): Ignore missed commits [ci skip]
-
02:35 AM Revision 2f53985d (git): Revert miscommit at "Reset the cache variable before retrying"
- This reverts commit 26a9e0b4e31f7b5a9cbd755e0a15823a8fa51bae partially.
-
02:26 AM Revision 724e94a0 (git): ZJIT: CI: Run `btest` with call-threshold=2
- 02:08 AM Revision 0b0c2cc4 (git): Update bundled gems list as of 2025-11-25
-
01:52 AM Misc #21699 (Closed): Updating CAPI docs
- Thanks for sharing this.
I fixed this issue and re-generate now with `4.0.0dev (2025-11-26 revision 6354afa64a5c59de50f064a7827cbd15d29dc874)`
-
01:47 AM Revision 26a9e0b4 (git): Reset the cache variable before retrying
- 01:23 AM Revision 6354afa6 (git): Update bundled gems list as of 2025-11-26
-
01:22 AM Revision 1e6079dc (git): [DOC] Use Aliki as the documentation website theme (#15319)
- Use Aliki as the documentation website theme
- 01:10 AM Revision e84b91a2 (git): Box: mark/move Box object referred via ENV/rb_env_t
- 01:10 AM Revision 0654bcd4 (git): Box: Add a test to drop the reference to a box
11/25/2025
-
10:19 PM Revision 8bf333a1 (git): Fix live object count for multi-Ractor forking
- Since we do not run a Ractor barrier before forking, it's possible that
another other Ractor is halfway through allocating an object during forking.
This may lead to allocated_objects_count being off by one.
For example, the following s... -
09:48 PM Revision 4263f1d7 (git): Store fiber serial as Ractor-local
-
06:50 PM Revision 0eb53053 (git): ZJIT: Specialize setinstancevariable when ivar is already in shape (#15290)
- Don't support shape transitions for now.
-
04:02 PM Bug #21709: Inconsistent encoding by Regexp.escape
- thyresias (Thierry Lambert) wrote in #note-6:
> Thank you. I agree with your analysis of the bug origin: should I edit this to re-qualify it as "inconsistent Regexp interpolation behavior", and update the example code using your example... -
11:21 AM Bug #21709: Inconsistent encoding by Regexp.escape
- jeremyevans0 (Jeremy Evans) wrote in #note-5:
> I agree this represents a bug, which is why I changed the status back to Open. However, I think the bug is in the literal Regexp support, not in `Regexp.escape`.
Thank you. I agree with... -
03:40 PM Bug #21694 (Closed): Crash when looking up super method from BasicObject
- Applied in changeset commit:git|a36ebb18a6d4c4726915b6d7c16cfdbf4e5d417b.
----------
vm_cc_new: don't assume `cme` is present.
[Bug #21694]
`vm_search_super_method` explictly calls `vm_cc_new` with `cme=NULL`
when there is no super cl... -
03:40 PM Revision a36ebb18 (git): vm_cc_new: don't assume `cme` is present.
- [Bug #21694]
`vm_search_super_method` explictly calls `vm_cc_new` with `cme=NULL`
when there is no super class. -
03:15 PM Bug #21710: Segfault when reading object_id after it is set inside RUBY_INTERNAL_EVENT_NEWOBJ
- I'm still waiting on CI, but https://github.com/ruby/ruby/pull/15320 now handles `T_OBJECT` too and include @nobu's test. Review welcome.
-
02:45 PM Bug #21710: Segfault when reading object_id after it is set inside RUBY_INTERNAL_EVENT_NEWOBJ
- Thank you @nobu, I'll integrate your test case and fix the remaining issues.
-
02:27 PM Bug #21710: Segfault when reading object_id after it is set inside RUBY_INTERNAL_EVENT_NEWOBJ
- With the attached patch, GH-15320 works fine for `Struct`.
```console
$ ./ruby -r-test-/tracepoint -e 'foo = Struct.new(:foo); bar = nil; Bug.tracepoint_add_object_id { bar = foo.new(1) }; p bar.object_id'
16
```
Crashes for `Ob... -
02:11 PM Bug #21710: Segfault when reading object_id after it is set inside RUBY_INTERNAL_EVENT_NEWOBJ
- I got a fix here: https://github.com/ruby/ruby/pull/15320
But I'd like to find some time to add a regression test, or at the very least to audit the other types to see if a similar issue is possible with the other types that also opti... -
01:19 PM Bug #21710: Segfault when reading object_id after it is set inside RUBY_INTERNAL_EVENT_NEWOBJ
- I believe I understand what's going on. The `NEWOBJ` callback is invoked before `struct_alloc` has set the necessary flags such as `RSTRUCT_GEN_FIELDS` and `RSTRUCT_EMBED_LEN_MASK`.
This cause `rb_object_id` to look for, and set, the ... -
10:49 AM Bug #21710 (Open): Segfault when reading object_id after it is set inside RUBY_INTERNAL_EVENT_NEWOBJ
- Hey 👋. I caught a following segfault when running the [Datadog Ruby Profiler](https://github.com/datadog/dd-trace-rb) test suite on 4.0.0-preview2.
The Datadog Ruby Profiler still uses object_ids in `RUBY_INTERNAL_EVENT_NEWOBJ` to sim... -
08:09 AM Revision e920ee32 (git): [ruby/rubygems] Support bundle install --lockfile option
- This allows for specifying the lockfile to read and write. It mirrors
the --gemfile option, and has higher priority than the lockfile
method in the Gemfile. It also mirrors the bundle lock --lockfile
option.
When the --lockfile option i... -
04:55 AM Revision 7ba98638 (git): CI: Add timeout to compilations [ci skip]
-
04:47 AM Revision ec05bc39 (git): Fix the fallback using mutex
-
04:47 AM Revision 2957ba70 (git): Try libatomic only if necessary
-
04:47 AM Revision bbf4bde7 (git): Reapply "Fix stdatomic case in `rbimpl_atomic_u64_fetch_add`"
- This reverts commit 8a68dc7bdd3d1c97677a6633a4f2b5e524c492ae.
-
04:46 AM Revision f8ee0690 (git): ZJIT: For JIT-to-JIT send, avoid loading uninitialized local through EP
- JIT-to-JIT sends don't blit locals to nil in the callee's
EP memory region because HIR is aware of this initial state and
memory ops are only done when necessary. Previously, we
read from this initialized memory by emitting `GetLocal` in... -
03:06 AM Revision 55892f59 (git): Fix style for rb_gc_impl_after_fork
-
03:06 AM Revision 86b21020 (git): Fix style for rb_gc_impl_before_fork
-
02:55 AM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- I want to mention that the "overrides" are regular exports and don't pose an insurmountable problem; the extension is ultimately in control and can choose to prefer whatever C runtime it wants.
LINK [searches] libraries based on the o... -
02:15 AM Revision 58faaf11 (git): [ruby/uri] [DOC] Fix result of sample code in `#user=`
- A `password` is cleared when change a user now.
https://github.com/ruby/uri/commit/af6714473c
11/24/2025
-
10:32 PM Revision 35445a73 (git): Add SIGABRT to reserved signals in bundler spec
-
10:32 PM Revision 2315349b (git): Handle SIGABRT and output bug report
- SIGABRT is for abnormal termination so we should handle it to output a bug
report. Specifically, glibc malloc uses it to exit when there is corruption.
For example, the following script produces a double free:
mem = Fiddle.malloc(10... -
10:16 PM Bug #21498: Windows - Ruby Overrides C Library APIs thus breaking them
- > However, to focus on the original issue, I think it would be good to clarify whether the removal of the override targets a single C runtime environment.
The removal of the overrides would target each Ruby extension that is written in ... -
09:50 PM Bug #21709: Inconsistent encoding by Regexp.escape
- thyresias (Thierry Lambert) wrote in #note-4:
> Ok for the workaround, but don't you think all this is inconsistent?
> ...
I agree this represents a bug, which is why I changed the status back to Open. However, I think the bug is in th... -
08:36 PM Bug #21709: Inconsistent encoding by Regexp.escape
- Ok for the workaround, but don't you think all this is inconsistent?
For me, it's a bug, not a feature. ^_^ -
06:52 PM Bug #21709 (Open): Inconsistent encoding by Regexp.escape
- thyresias (Thierry Lambert) wrote in #note-2:
> > Does this behavior cause any problems in your application?
> ...
Thank you for providing an example. This seems more like an issue with the literal Regexp support in general than with `... -
06:01 PM Bug #21709: Inconsistent encoding by Regexp.escape
- > Does this behavior cause any problems in your application?
Yes:
```ruby
search_text = "foo"
s_search = Regexp.escape(search_text)
re_prefix = /\p{In_Arabic}.+ /
s_search.prepend re_prefix.source
_re = /^#{s_search}|(?<=– |: )#... -
04:54 PM Bug #21709 (Feedback): Inconsistent encoding by Regexp.escape
- This is not a bug, it is deliberate behavior for ASCII-only strings in `rb_reg_quote` (internal function called by `Regexp.escape`):
```c
if (ascii_only) {
rb_enc_associate(tmp, rb_usascii_encoding());
}
```
`US... -
03:15 PM Bug #21709 (Open): Inconsistent encoding by Regexp.escape
- ```ruby
%w(foo être).each do |s|
puts "string: #{s.inspect} -> #{s.encoding}"
puts "escaped: #{Regexp.escape(s).inspect} -> #{Regexp.escape(s).encoding}"
end
```
Output:
```
string: "foo" -> UTF-8
escaped: "foo" -> US-ASCII
... -
08:28 PM Revision 8a68dc7b (git): Revert "Fix stdatomic case in `rbimpl_atomic_u64_fetch_add`" (#15311)
- This reverts commit d3b6f835d565ec1590059773fc87589ddf8adc37.
This broke the Docker builds and presumably also 32-bit machines that
don't already have libatomic installed. -
01:02 PM Bug #21516: Segfault in String#succ! on 32-bit i686
- I have a very similar crash, but it doesn’t seem related to #21655. Can you check whether the fix for #21655 solved your crash?
-
08:44 AM Revision aeb7689e (git): [ruby/forwardable] Use generic argument forwarding (...) instead of ruby2_keywords on Ruby 2.7+
- On Ruby 3.4+, generic argument forwarding is significantly faster
as it does not allocate.
https://github.com/ruby/forwardable/commit/b606c3bf0a -
08:30 AM Revision 45fcb9d5 (git): Adjust indent [ci skip]
-
07:52 AM Bug #21708: Ruby 3.4 Forwardable: setter delegations trigger SyntaxError from forwardable/impl.rb
- Fix is here: https://github.com/ruby/forwardable/pull/39
-
02:42 AM Misc #21688: Ruby::Box maturing path
- zverok (Victor Shepelev) wrote:
> 2. Should small(ish) problems/suggestions be reported? Can they be submitted as PRs? (I mean, things like "in some cases, `#inspect` of the class in the Box is weird", and other stuff like this) Or thi...
11/23/2025
-
10:10 PM Bug #21708 (Open): Ruby 3.4 Forwardable: setter delegations trigger SyntaxError from forwardable/impl.rb
- - `forwardable`: 1.3.3 (bundled stdlib)
- OS: Ubuntu 24.04 (also reproducible on macOS)
- RUBYOPT / $DEBUG: default (but with $DEBUG=true or RUBYOPT=-d the errors are emitted)
# Reproduction Script (minimal)
```
requir... -
09:36 PM Revision b75cf83a (git): [ruby/prism] Revert "Reject `p(p a, &block => value)` and similar"
- https://github.com/ruby/prism/commit/fef2c20777
-
09:14 PM Bug #21707 (Closed): Destructuring assignment of SimpleDelegator wrapped array bug with YJIT
- Destructuring assignment does not work after a few iterations if YJIT is enabled.
Happens in ruby 3.4.1 and 4.0.0dev.
~~~
root@05305c0005f4:/# ruby -v
ruby 4.0.0dev (2025-11-23T19:10:29Z master 8d73a18187) +PRISM [x86_64-linux]
root... -
07:53 PM Feature #21706 (Open): Add SIMD optimizations for string comparison operations
- # Feature: SIMD-accelerated String Comparison (SSE2/NEON)
**PR:** https://github.com/ruby/ruby/pull/15307
## Summary
SIMD optimizations for string comparison using SSE2 (x86_64) and NEON (ARM64). **17.2% average speedup** for st... -
07:10 PM Revision 8d73a181 (git): [ruby/prism] Handle destroying implicit parameter
- Fixes https://github.com/ruby/prism/pull/3740
https://github.com/ruby/prism/commit/464a849184 -
06:54 PM Revision 39022057 (git): Replace vfork with fork for ASAN
- Older versions of ASAN do not support vfork. See https://github.com/google/sanitizers/issues/925
- 06:45 PM Revision 026140b3 (git): [ruby/prism] Avoid reading out-of-bounds in pm_strnstr
- Fixes https://github.com/ruby/prism/pull/3738.
https://github.com/ruby/prism/commit/37bb46ff5f -
06:15 PM Bug #21622 (Closed): Prism wrongly accepts command call to be a key of keyword argument
- Applied in changeset commit:git|2870b7d7df30bc227f40a4c04c97050b90f1f25b.
----------
[ruby/prism] Reject `p(p a, &block => value)` and similar
They were being parsed as `p((p a, &block) => value)`.
When we get to this point, we must no... -
06:15 PM Revision 2870b7d7 (git): [ruby/prism] Reject `p(p a, &block => value)` and similar
- They were being parsed as `p((p a, &block) => value)`.
When we get to this point, we must not just have parsed a command call, always consuming the `=>` is not correct.
Closes [Bug #21622]
https://github.com/ruby/prism/commit/796ab0edf4 -
03:41 PM Bug #21703 (Closed): RUBY_CRASH_REPORT does not work when shelling out in some cases
- Applied in changeset commit:git|190b017fc6c21ff7b61c2b5ece0294785e4a4ca2.
----------
Don't use non blocking pipes for RUBY_CRASH_REPORT
[Bug #21703]
RUBY_CRASH_REPORT does not work in some cases when shelling out on Linux.
For example... -
03:41 PM Revision 190b017f (git): Don't use non blocking pipes for RUBY_CRASH_REPORT
- [Bug #21703]
RUBY_CRASH_REPORT does not work in some cases when shelling out on Linux.
For example, given the following shell script dump.sh:
#!/usr/bin/env bash
cat > /tmp/crash
And we see it fails like this:
$ RUBY_CRAS... -
12:46 PM Revision 32a4545e (git): CI: Abandon CAPI check on macos-15
- `hashFiles` is very unstable on macOS runners.
-
12:36 PM Misc #21688 (Open): Ruby::Box maturing path
- NB: Tentatively reopening this ticket, as it was autoclosed by the referring commit, but the ticket's scope is not only about the inclusion of `Ruby::Box` in the RDoc output.
-
11:51 AM Misc #21688 (Closed): Ruby::Box maturing path
- Applied in changeset commit:git|4a0e01d7681e72919f1fae7bc9db744e5a3fbe8c.
----------
[Misc #21688] Teach RDoc about the toplevel module `Ruby`
Re-open the exising module by calling `rb_define_module`.
RDoc (`RDoc::Parser::C#do_classes_... -
10:04 AM Revision 1738255f (git): [Misc #21688] [DOC] Include box.md in Ruby::Box documentation
-
10:01 AM Revision 4a0e01d7 (git): [Misc #21688] Teach RDoc about the toplevel module `Ruby`
- Re-open the exising module by calling `rb_define_module`.
RDoc (`RDoc::Parser::C#do_classes_and_modules`) does not recognize
`rb_path2class` as a class/module definition. -
09:08 AM Revision 422ed748 (git): [ruby/date] [DOC] Remove the name from same file references
- https://github.com/ruby/date/commit/e41082e068
-
08:56 AM Revision fed528a9 (git): [DOC] Remove the name from same file references
-
08:38 AM Bug #21374: FrozenError message is inconsistent when a singleton method is defined on a frozen object
- I submitted a pull request to fix this issue: https://github.com/ruby/ruby/pull/15303
-
05:26 AM Bug #21705 (Closed): `UNIXServer.open(nil)` segfaults on Windows
- Applied in changeset commit:git|beb85e7eeee4163cd45b69645a60cdb942f72c05.
----------
[Bug #21705] Fix segfaults on Windows
It should check the type of the argument and coercion before
converting the encoding. -
04:51 AM Bug #21705 (Closed): `UNIXServer.open(nil)` segfaults on Windows
- It should check the type of the argument and coercion before converting the encoding.
https://github.com/ruby/ruby/pull/15302 -
05:04 AM Bug #21702 (Third Party's Issue): `UNIXSocket` on Windows: suprising results in `#recvfrom` and `#remote_address`
- Whether it's a bug or a specification, both are the same as winsock.
Please report to Microsoft. -
04:55 AM Revision beb85e7e (git): [Bug #21705] Fix segfaults on Windows
- It should check the type of the argument and coercion before
converting the encoding. - 02:31 AM Revision a7f948c3 (git): [DOC] Fix a typo in enum.c documentation
- fix a minor misspelling in the documentation comments
11/22/2025
-
04:48 PM Revision dd489ee9 (git): [ruby/openssl] asn1: refactor converting ASN1_OBJECT to string
- ruby/openssl exposes OIDs to Ruby as strings in many places, but the
conversion logic has been duplicated and the behavior is inconsistent.
There are mainly two patterns:
- Returns the short name associated with the OID/NID, or the dot... -
04:48 PM Revision 424499dd (git): [ruby/openssl] ts: refactor converting string to ASN1_OBJECT
- obj_to_asn1obj() in ossl_ts.c and ossl_asn1.c are identical. Let's
remove one in ossl_ts.c.
eASN1Error can now be made static to ossl_asn1.c.
https://github.com/ruby/openssl/commit/dcb05c40c2 -
02:25 PM Revision f9efa0cc (git): [ruby/openssl] pkey/ec: fix OpenSSL::PKey::EC::Group#curve_name for unknown curves
- EC_GROUP_get_curve_name() returns NID_undef when OpenSSL does not
recognize the curve and there is no associated OID.
Handle this case explicitly and return nil instead of the string
"UNDEF", which should not be exposed outside the exte... -
01:52 PM Revision c7a84ae0 (git): [ruby/json] parser.c: Record escape positions while parsing
- We can then pass them to the decoder to save having to parse
the string again.
```
== Parsing activitypub.json (58160 bytes)
ruby 3.4.6 (2025-09-16 revision https://github.com/ruby/json/commit/dbd83256b1) +YJIT +PRISM [arm64-darwin24]
W... -
01:12 PM Revision 73576274 (git): [ruby/json] Fix the parser to not accept invalid escapes
- Only `"\/bfnrtu` are valid after a backslash.
https://github.com/ruby/json/commit/f7f8f552ed -
09:32 AM Revision ec296f63 (git): [ruby/json] Use booleans in string_scan
- https://github.com/ruby/json/commit/256cad5def
-
07:39 AM Misc #21681 (Closed): Clarification on the Status and Roadmap of Ruby Box for Ruby 4.0
-
06:16 AM Feature #21704 (Open): Expose rb_process_status_new to C extensions
- A fiber scheduler implementation with a hook for `#process_wait` needs to return a `Process::Status` object, but currently it is not possible for a C extension to directly create an instance of `Process::Status`. The technique currently ...
-
05:47 AM Bug #21685: Unnecessary context-switching, especially bad on multi-core machines.
- I created a PR with my original changes applied to master. It's [here](https://github.com/ruby/ruby/pull/15294).
The proposal to use a single-thread per process rather than one per ractor involves some complexity, but I think it's sim...