summaryrefslogtreecommitdiff
path: root/test/objspace/test_ractor.rb
AgeCommit message (Collapse)Author
2024-05-04Adjust indent [ci skip]Nobuyoshi Nakada
2023-03-09Fix interpreter crash caused by RUBY_INTERNAL_EVENT_NEWOBJ + RactorsKJ Tsanaktsidis
When a Ractor is created whilst a tracepoint for RUBY_INTERNAL_EVENT_NEWOBJ is active, the interpreter crashes. This is because during the early setup of the Ractor, the stdio objects are created, which allocates Ruby objects, which fires the tracepoint. However, the tracepoint machinery tries to dereference the control frame (ec->cfp->pc), which isn't set up yet and so crashes with a null pointer dereference. Fix this by not firing GC tracepoints if cfp isn't yet set up. Notes: Merged: https://github.com/ruby/ruby/pull/5990