General

Profile

luke-gru (Luke Gruber)

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

Issues

open closed Total
Assigned issues 1 21 22
Reported issues 13 51 64

Projects

Project Roles Registered on
Ruby Committer 06/19/2025

Activity

05/13/2026

06:28 PM Ruby Feature #22067: New TypedData bit to allow the type to be freed in parallel
Thank you for your input Peter and Kunshan, I greatly appreciate it. As you may know, I am no GC expert :)
### Parallel marking
For parallel marking, I agree that the vast majority of all TypedData mark functions are thread-safe. I was...
luke-gru (Luke Gruber)

05/12/2026

07:55 PM Ruby Feature #22067: New TypedData bit to allow the type to be freed in parallel
Our current implementation of parallel sweeping has the sweep thread run both concurrently with the mutator and in parallel with the Ruby GC thread. I would prefer a bit that represents the safety in both situations. For MMTk, since it d... luke-gru (Luke Gruber)
03:08 PM Ruby Feature #22067 (Open): New TypedData bit to allow the type to be freed in parallel
CRuby `TypedData` types are used internally in the VM and in C extensions and currently any `free` functions for these types are run with the VM lock held as well as the VM barrier (or, in the case of MMTk, are not freed in parallel). In... luke-gru (Luke Gruber)

04/29/2026

05:16 PM Ruby Bug #22016: ruby segfaults regularly
Can you please provide the output of `lscpu` and/or `uname -a` along with the version of `gcc`? What happens when you install this exact Ruby version without pkgsrc, like from git or a tarball? Thanks. luke-gru (Luke Gruber)

04/17/2026

05:50 PM Ruby Bug #21993: `rb_gc_update_tbl_refs` is incorrectly documented as the dcompact pair for `rb_mark_tbl_no_pin`, and is unsafe for `st_table`s with non-VALUE keys
Oh yeah, thanks. There's even a helpful comment for it. I think changing `rb_gc_update_tbl_refs` to only move values probably makes sense. We could add something like `rb_mark_hash_nopin_values` where it marks values for moving but pins ... luke-gru (Luke Gruber)

04/16/2026

11:03 PM Ruby Bug #21993: `rb_gc_update_tbl_refs` is incorrectly documented as the dcompact pair for `rb_mark_tbl_no_pin`, and is unsafe for `st_table`s with non-VALUE keys
Looking into this further, it looks like `gc_update_table_refs` is only used once internally, with the finalizer_table. It looks to me like it's used wrong there because the key (finalized object) is not pinned so can be moved, but the s... luke-gru (Luke Gruber)
09:50 PM Ruby Bug #21993: `rb_gc_update_tbl_refs` is incorrectly documented as the dcompact pair for `rb_mark_tbl_no_pin`, and is unsafe for `st_table`s with non-VALUE keys
Nice catch! I think this would only be a problem if the key was a number that was also a valid pointer into the Ruby heap and it happened to point to a T_MOVED object. If it's another pointer from malloc or xmalloc it shouldn't be an iss... luke-gru (Luke Gruber)

03/10/2026

08:27 PM Ruby Bug #21926: Thread#value on popen3 wait thread hangs in finalizer
A note to whoever backports this (which could be me, I'm just waiting ~ 1 week and checking various CIs after the merge):
https://github.com/ruby/ruby/pull/16362 should be backported as well, they are really 1 fix in 2 separate commit...
luke-gru (Luke Gruber)

03/09/2026

05:29 PM Ruby Bug #21876 (Third Party's Issue): Addrinfo.getaddrinfo(AF_UNSPEC) deadlocks after fork on macOS for IPv4-only hosts
luke-gru (Luke Gruber)
05:16 PM Ruby Bug #21876: Addrinfo.getaddrinfo(AF_UNSPEC) deadlocks after fork on macOS for IPv4-only hosts
I'm getting a segfault when running your minimal reproduction script on my Macbook Pro (`Darwin Mac 25.2.0 Darwin Kernel Version 25.2.0 (Apple Silicon)`).
I get the segfault when compiling under all 3 `GETADDRINFO_IMPL` implementations ...
luke-gru (Luke Gruber)

Also available in: Atom