Actions
Bug #17636
closedRace condition in check_rvalue_consistency_force when using ractors
Description
When RGENGC_CHECK_MODE
is enabled and we use multiple ractors, there is a race condition in check_rvalue_consistency_force
that causes an assertion to fail. It happens when a page is created during the call to is_pointer_to_heap
, which causes the binary search to fail.
Reproduction¶
NUM_RACTORS = 10
rs = NUM_RACTORS.times.map do |i|
Ractor.new(i) do |i|
arr = []
10_000.times do |j|
arr << "foo.#{i}.#{j}"
end
arr
end
end
arrs = rs.map { |r| r.take }
The crash log is attached below in crash.log
.
Files
Actions
Like0
Like0Like0Like0Like0Like0