summaryrefslogtreecommitdiff
path: root/include/ruby/missing.h
diff options
context:
space:
mode:
authorPeter Zhu <peter@peterzhu.ca>2024-12-16 11:41:41 -0500
committerPeter Zhu <peter@peterzhu.ca>2024-12-16 12:24:24 -0500
commit516a6cd1ad620b880651c1333bd856a9d7dec3c4 (patch)
treec27c7b4f538b0a751f47498ad380c16c2eaec1f7 /include/ruby/missing.h
parent960f971ac86e0d171fbc3df12bda8c6c81d3ae29 (diff)
Check whether object is valid in allocation_info_tracer_compact
When reference updating ObjectSpace.trace_object_allocations, we need to check whether the object is valid or not because it does not mark the object so the object may be dead. This can cause a segmentation fault if the object is on a free heap page. For example, the following script crashes: require "objspace" objs = [] ObjectSpace.trace_object_allocations do 1_000_000.times do objs << Object.new end end objs = nil # Free pages that the objs were on GC.start # Run compaction and check that it doesn't crash GC.compact
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/12360
Diffstat (limited to 'include/ruby/missing.h')
0 files changed, 0 insertions, 0 deletions