General

Profile

rianmcguire (Rian McGuire)

  • Login: rianmcguire
  • Registered on: 01/06/2024
  • Last sign in: 06/23/2025

Issues

open closed Total
Assigned issues 0 0 0
Reported issues 0 2 2

Activity

04/28/2025

04:23 PM Ruby Revision 50b1759b (git): YJIT: Fix potential infinite loop when OOM (GH-13186)
Avoid generating an infinite loop in the case where:
1. Block `first` is adjacent to block `second`, and the branch from `first` to
`second` is a fallthrough, and
2. Block `second` immediately exits to the interpreter, and
3. Block `s...
rianmcguire (Rian McGuire)
12:50 PM Ruby Bug #21257 (Closed): YJIT can generate infinite loop when OOM
Applied in changeset commit:git|80a1a1bb8ae8435b916ae4f66a483e91ad31356a.
----------
YJIT: Fix potential infinite loop when OOM (GH-13186)
Avoid generating an infinite loop in the case where:
1. Block `first` is adjacent to block `seco...
rianmcguire (Rian McGuire)
12:50 PM Ruby Revision 80a1a1bb (git): YJIT: Fix potential infinite loop when OOM (GH-13186)
Avoid generating an infinite loop in the case where:
1. Block `first` is adjacent to block `second`, and the branch from `first` to
`second` is a fallthrough, and
2. Block `second` immediately exits to the interpreter, and
3. Block `s...
rianmcguire (Rian McGuire)

04/27/2025

04:17 AM Ruby Bug #21257: YJIT can generate infinite loop when OOM
I've had a swing at fixing this in https://github.com/ruby/ruby/pull/13186 rianmcguire (Rian McGuire)

04/09/2025

03:33 AM Ruby Bug #21257: YJIT can generate infinite loop when OOM
YJIT compiles the `first` and `second` methods to this (on x86_64-linux):
```
# regenerate_branch
# Block: first@infinite-jmp.rb:2 (chain_depth: 1)
# reg_temps: 00000001
# Insn: 0001 opt_send_without_block (stack_size: 1)
# call to Objec...
rianmcguire (Rian McGuire)
03:29 AM Ruby Bug #21257 (Closed): YJIT can generate infinite loop when OOM
We've found an edge case where YJIT can generate an infinite loop (jump to the same address) when it's out-of-memory.
Reproduction:
```ruby
def first
second
end
def second
::File
end
# Make `second` side exit on its fi...
rianmcguire (Rian McGuire)

01/06/2024

06:36 AM Ruby Revision 7db35e10 (git): Fix GC.measure_total_time regression
Commit 93ac7405b80cc61930d73da04441fa09af1851e1 introduced a regression
where measurements would still be taken after setting
GC.measure_total_time = false.
Fixes [Bug #20157]
rianmcguire (Rian McGuire)
06:36 AM Ruby Revision 913b26d0 (git): Add test case for GC.measure_total_time
rianmcguire (Rian McGuire)
04:27 AM Ruby Bug #20157: Regression in GC.measure_total_time
I've proposed a fix here: https://github.com/ruby/ruby/pull/9427 rianmcguire (Rian McGuire)
04:14 AM Ruby Bug #20157 (Closed): Regression in GC.measure_total_time
Setting `GC.measure_total_time = false` is no longer disabling GC time measurement in Ruby 3.3.0.
Reproduction script:
``` ruby
puts RUBY_DESCRIPTION
GC.measure_total_time = false
puts "measure_total_time is now false"
puts "...
rianmcguire (Rian McGuire)

Also available in: Atom