General

Profile

luke-gru (Luke Gruber)

  • Login: luke-gru
  • Email: luke.gru@gmail.com
  • Registered on: 08/19/2011
  • Last sign in: 02/04/2026

Issues

open closed Total
Assigned issues 1 20 21
Reported issues 12 51 63

Projects

Project Roles Registered on
Ruby Committer 06/19/2025

Activity

01/29/2026

02:26 PM Ruby Bug #21840 (Open): Locking a mutex can lead to starvation
I wasn't aware of those old issues. I'll take a look, thanks!
I reverted the commit because of issues with a `Monitor` test in CI. I thought it was related to this change, but the test kept failing even after the revert. It turns out it...
luke-gru (Luke Gruber)

01/22/2026

07:30 PM Ruby Bug #21836: RUBY_MN_THREADS deadlock and sleep issues
I'm confused about what should happen. Shouldn't it return roughly after 1 second instead of 10 seconds? I'll look into the sleep issue with `RUBY_MN_THREADS=1`, but I can't reproduce the deadlock or segfault with a more recent commit (a... luke-gru (Luke Gruber)
07:13 PM Ruby Bug #21685: Unnecessary context-switching, especially bad on multi-core machines.
I did some benchmarking based on the updated solution (https://github.com/ruby/ruby/pull/15840). I've attached Puma benchmark results that I got using the PR from the previous post (d7ef5ecc9b) vs that PR's base commit (ad6b85450d). The ... luke-gru (Luke Gruber)

01/19/2026

09:02 PM Ruby Feature #21843 (Open): Simple Priority Scheduler
Hi,
There's a problem with Ruby's scheduler that I want to solve.
# The Problem
Since Ruby schedules threads using round-robin inside a Ractor, threads doing I/O after only running for a short time are punished. Once the I/O fin...
luke-gru (Luke Gruber)

01/15/2026

06:56 PM Ruby Bug #21840 (Open): Locking a mutex can lead to starvation
Continually locking a mutex `m` can lead to starvation if all other threads are on the waitq of `m`.
Let `T` be the thread that keeps on acquiring mutex `m` in a loop.
Iteration 1:
1) `T` locks mutex `m`
2) All other threads at...
luke-gru (Luke Gruber)

01/06/2026

08:12 PM Ruby Bug #21719: Thread deadlock with explicit require of a base clase in Linux Ruby 3.4
Here's my understanding of the issue after debugging it for a bit. This is based on `mame`'s code:
A: main thread
B: other thread
1. `A` calls `require` on `"./target"`, which locks the thread shield (TS) for the `"./target"` feature, ...
luke-gru (Luke Gruber)

01/05/2026

04:20 PM Ruby Bug #21812: Kernel#sleep without arguments returns immediately when subprocess exits in another thread (regression in Ruby 4.0)
@mame Yes no problem, I have a fix coming. Thanks for the bisect btw, it saved me quite a bit of time 😊 luke-gru (Luke Gruber)

12/12/2025

10:30 PM Ruby Bug #21696 (Closed): Performance degradation for long running processes in Ruby 4.0.0-preview2
luke-gru (Luke Gruber)
03:12 PM Ruby Bug #21685: Unnecessary context-switching, especially bad on multi-core machines.
I'm with John that I think this is very promising but should not be introduced in ruby 4.0. It needs more testing to make sure it's working correctly and it needs more benchmarks for more realistic workloads. We can't do that in 2 weeks.... luke-gru (Luke Gruber)

12/11/2025

04:02 PM Ruby Bug #21710 (Closed): Segfault when reading object_id after it is set inside RUBY_INTERNAL_EVENT_NEWOBJ
luke-gru (Luke Gruber)

Also available in: Atom