Once Upon a Time, Ruby
summary
Describes concrete failures and fixes: MRI’s conservative GC can miss a heap object when C extensions leave only a raw pointer on the stack causing a string internal buffer freed segfault; mitigations include allocator perturbation and gc stress mode or using a kernel timer via the system_timer gem for reliable timeouts; JRuby has a nested-timeout bug that blocks its workers; GitHub-scale deployment exposes these problems and pushes toward alternative VMs like Rubinius and JRuby.
AI-written summary · about
chapters (6)
- 0:00Ruby horror stories
- 1:40GitHub’s Ruby systems
- 2:44Mark and sweep GC
- 12:03Timeouts running out
- 22:37Ruby’s future
- 26:58Q&A Ruby implementations
related talks
27mUnicorns die with bullets made of glitter
42mRuby 124c41+
37mRubinius - tales from the trenches of developing a ruby implementation
55mComplex Ruby concepts dummified
41mIncremental GC for Ruby interpreter
33mThe Bug that Forced Me to Understand Memory Compaction
42mThe Mechanics of Ruby
46mRuby3: What's Missing?
