General

Profile

Eregon (Benoit Daloze)

  • Login: Eregon
  • Registered on: 07/30/2009
  • Last sign in: 08/20/2026

Issues

open closed Total
Assigned issues 2 70 72
Reported issues 29 206 235

Projects

Project Roles Registered on
Ruby Committer 08/02/2012

Activity

08/20/2026

09:07 PM Ruby Revision bb106ff0 (git): Add regression test for [Bug #22251]
Eregon (Benoit Daloze)
08:38 PM Ruby Bug #22251: ObjectSpace::WeakMap#size can return a stale value
headius (Charles Nutter) wrote in #note-7:
> But your "failing" example only runs a single GC, which may not always be sufficient to clear the reference, in which case the size would not decrease. Ergo it's not deterministic and shouldn...
Eregon (Benoit Daloze)
09:22 AM Ruby Bug #22251: ObjectSpace::WeakMap#size can return a stale value
I bisected it to https://github.com/ruby/ruby/commit/b2feb09efe.
This seems big to backport, and I agree it's not so important, so marking all versions as `WONTFIX`.
`#size` is just `st_table_size(w->table)` so what changed is that purg...
Eregon (Benoit Daloze)
08:59 AM Ruby Bug #22251 (Closed): ObjectSpace::WeakMap#size can return a stale value
My reproducer isn't prefect because the `1; []; 0` output would be correct if a GC happens at the start of `m.keys`, but we can disable the GC to resolve that concern and make it fully reliable.
nobu (Nobuyoshi Nakada) wrote in #note-...
Eregon (Benoit Daloze)
08:44 AM Ruby Bug #22251: ObjectSpace::WeakMap#size can return a stale value
Both Java's `WeakHashMap` and JRuby's variant clean references in size(), so there is no issue there:
https://github.com/openjdk/jdk/blob/05eaf783b270ec5cd901704c5e16b6201de7a9e4/src/java.base/share/classes/java/util/WeakHashMap.java#L3...
Eregon (Benoit Daloze)

08/18/2026

10:59 AM Ruby Bug #22251 (Closed): ObjectSpace::WeakMap#size can return a stale value
```
$ ruby -e 'GC.disable; m = ObjectSpace::WeakMap.new; Thread.new { m[Object.new] = Object.new }.join; GC.start; p m.size; p m.keys; p m.size'
1
[]
0
```
The first line is 1 but I would expect 0.
Interestingly calling `#keys`...
Eregon (Benoit Daloze)

08/16/2026

01:50 PM Ruby Revision 40560156 (git): [ruby/prism] Remove rubyvm: keyword argument from Prism.find
(https://github.com/ruby/prism/pull/4202)
* This does not scale well with more find implementations.
* RubyVM is CRuby-specific and experimental so not something usually exposed in public APIs.
* Tests can use the specific class directl...
Eregon (Benoit Daloze)

08/10/2026

07:57 PM Ruby Bug #22200 (Open): ObjectSpace._id2ref can return a different object than the id's owner on Ruby 4.0 (stale id2ref_tbl entry for objects with generic fields)
Eregon (Benoit Daloze)
07:11 PM Ruby Bug #22200 (Closed): ObjectSpace._id2ref can return a different object than the id's owner on Ruby 4.0 (stale id2ref_tbl entry for objects with generic fields)
Applied in changeset commit:git|966f531e2b2e896f8f36beb8b933407d2df3e208.
----------
Fix ObjectSpace._id2ref returning wrong object for generic-field types (#18209)
Fix _id2ref returning wrong object for generic-field types [Bug #22200...
Eregon (Benoit Daloze)

08/09/2026

09:19 PM Ruby Bug #21324 (Closed): Namespace loads RubyGems in root Namespace but it should not
Fixed by #21881.
I confirmed the examples from https://bugs.ruby-lang.org/issues/21324#note-10 work now.
Eregon (Benoit Daloze)

Also available in: Atom