Bug #17196
openSegmentation Fault with Socket#close in Ractors
Description
While messing around with 3.0.0-preview1, I thought it would be fun to write a really, really simple webserver that used Ractor creation instead of forking or spawning threads. I was right, it was fun! Unfortunately it also caused a segfault. The segfault appears to be on socket closure when a lot of ractors are running at once.
The attached tarball includes the code you need to make it happen. Run bin/server
in one terminal/screen session/tmux window/whatever, and ./bug_bench.sh
with the other. You'll need to have the apache benchmark utility installed.
Files
Updated by ko1 (Koichi Sasada) over 2 years ago
- Assignee set to ko1 (Koichi Sasada)
Updated by hsbt (Hiroshi SHIBATA) over 1 year ago
- Status changed from Open to Assigned
Updated by wanabe (_ wanabe) about 1 year ago
I tried to reproduce the problem at hand, but it seems to have already been fixed in the current master.
According to git bisect, it seemed to be fixed by #18117 https://bugs.ruby-lang.org/projects/ruby-master/repository/git/revisions/bbedd29b6e98ef6e3fc2ce2b358d2b509b7cd1bb.
How about using 3.0.3 or 3.1.x or master?