Files
Yusuke EndohandClaude Opus 5.5 bde63b65b7 Give a Ractor's main thread an ec serial from the new Ractor
Since ec serials became Ractor-local (4263f1d718), the root fiber of a
Ractor's main thread gets its serial from the creating Ractor, because it
is allocated there. The serial can then collide with one that the new
Ractor gives to its own threads. Mutex ownership is checked by ec serial,
so another thread could see a Mutex locked by the main thread as its own,
which led to "[BUG] invalid keeping_mutexes".

    Ractor.new {
      m = Mutex.new
      m.lock
      Thread.new {}.join
      Thread.new { m.unlock }.join # should raise ThreadError
    }.join
    #=> [BUG] invalid keeping_mutexes: Attempt to unlock a mutex which is not locked

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 05:40:21 +09:00
..
2020-04-27 10:39:07 +09:00
2025-12-19 13:36:42 +09:00
2025-05-31 04:01:33 +09:00