Project

General

Profile

Actions

Bug #19482

closed

Fix crash when allocating classes with newobj hook

Added by peterzhu2118 (Peter Zhu) about 1 year ago. Updated 10 months ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:112721]

Description

GitHub PR: https://github.com/ruby/ruby/pull/7464

We need to zero out the whole slot when running the newobj hook for a newly allocated class because the slot could be filled with garbage, which would cause a crash if a GC runs inside of the newobj hook.

For example, the following script crashes:

require "objspace"

GC.stress = true

ObjectSpace.trace_object_allocations {
  100.times do
    Class.new
  end
}
Actions

Also available in: Atom PDF

Like0
Like0Like0