Backport #3118: backport r25230 and r25995 to fix segfault
http://redmine.ruby-lang.org/issues/show/3118

Author: Matthew Kent
Status: Open, Priority: High
Assigned to: Kirk Haines

Spent some time tracking down a segfault introduced in newer versions of 1.8.6. 

mkent@el-test:~/git/matzruby (p306)$ ruby -v ~/open4_segfault.rb
ruby 1.8.6 (2010-02-05 patchlevel 399) [x86_64-linux]
1000 calls
/home/mkent/.gem/ruby/1.8/gems/open4-1.0.1/lib/open4.rb:52: [BUG] Segmentation fault
ruby 1.8.6 (2010-02-05) [x86_64-linux]

Aborted

After much testing it seems the changes introduced in 1.8.6 p306 are at fault as p305 and earlier don't exhibit the problem. 

As 1.8.7 p174 and up work fine I've identified the following changes that correct the issue:

http://redmine.ruby-lang.org/repositories/revision/ruby-18?rev=25230
http://redmine.ruby-lang.org/repositories/revision/ruby-18?rev=25995
also requires
http://redmine.ruby-lang.org/repositories/revision/ruby-18?rev=16015

after which the example I've enclosed can do 200,000 calls without issue.


----------------------------------------
http://redmine.ruby-lang.org