Project

General

Profile

Actions

Bug #11567

closed

Segmentation fault CFUNC :gets

Bug #11567: Segmentation fault CFUNC :gets

Added by dmitry_uk (D R) about 10 years ago. Updated over 8 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]
[ruby-core:<unknown>]

Description

Running the below code under 2.2.3 results in a segmentation fault. Runs without issue on 2.1.6. Output attached as a text file.

require 'open3' require 'pp' data_accessor = Mutex.new results = {} threads = [] 200.times.each do |i| threads << Thread.new do Open3.popen3('ping localhost -c 2') do |_stdin, stdout, stderr, thread| { out: stdout, err: stderr }.each do |key, stream| t = "#{i}-" + key.to_s data_accessor.synchronize do results[t] = [] end Thread.new do until (line = stream.gets).nil? data_accessor.synchronize do results[t].push line end end end end thread.join end end end threads.each(&:join) pp results 

Files

gets bug.txt (30.7 KB) gets bug.txt Segmentation fault output dmitry_uk (D R), 10/05/2015 05:16 PM
Actions

Also available in: PDF Atom