"erikh (Erik Hollensbe)" erik@hollensbe.org wrote:
Issue #6653 has been reported by erikh (Erik Hollensbe).
Bug #6653: 1.9.2/1.9.3 exhibit SEGV with many threads+tcp connections
https://bugs.ruby-lang.org/issues/6653
Author: erikh (Erik Hollensbe)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
the script: https://gist.github.com/4f36f8543ad702861096
the trace + output of the run: https://gist.github.com/cf7dd137ad65802c46ae
Private gist for public bug reports makes no sense. Private gists
requires account + ssh key on github to "git clone" from.
ruby -v is 1.9.2-p290, but we're seeing this in 1.9.3-p194 as well.
This does not exhibit on OS X, only linux, we tested on Ubuntu 12.04.
I can't reproduce this on a similar system (Debian testing (wheezy))
with 1.9.3-p194 nor Ruby 1.9.2-p290.
rb_fd_set() should not get called under 1.9.3 on Linux from
rb_thread_fd_writable(), can you show a backtrace from 1.9.3?
Are you certain /opt/ruby/lib/libruby.so.1.9 got changed/upgraded
to the 1.9.3 version?
The ruby/config.h header for 1.9.3 should have detected ppoll() and
set: #define HAVE_PPOLL 1
ppoll() usage would prevent rb_fd_set() usage in your particular code
path.
Also, what is the value of HAVE_RB_FD_INIT in ruby/config.h?
(it should be 1 on Linux for all Ruby 1.9.x)
If you have build logs handy, can you see if ppoll() got detected
on 1.9.3?