[#102652] [Ruby master Bug#17664] Behavior of sockets changed in Ruby 3.0 to non-blocking — ciconia@...
Issue #17664 has been reported by ciconia (Sharon Rosner).
23 messages
2021/02/28
[ruby-core:102543] [Ruby master Bug#17636] Race condition in check_rvalue_consistency_force when using ractors
From:
peter@...
Date:
2021-02-16 15:25:21 UTC
List:
ruby-core #102543
Issue #17636 has been reported by peterzhu2118 (Peter Zhu).
----------------------------------------
Bug #17636: Race condition in check_rvalue_consistency_force when using ractors
https://bugs.ruby-lang.org/issues/17636
* Author: peterzhu2118 (Peter Zhu)
* Status: Open
* Priority: Normal
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
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
```ruby
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--------------------------------
crash.log (20.1 KB)
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>