Skip to content

Open3 fails with varying signals on 9.0.0.0.pre1 #2494

@philr

Description

@philr

I am using jruby 9.0.0.0.pre1 (2.2.0p0) 2015-01-21 ac0d512 OpenJDK 64-Bit Server VM 24.65-b04 on 1.7.0_65-b32 +jit [linux-amd64].

I am executing processes using Open3. Instead of receiving the expected exit status, I am instead seeing a signal raised:

jruby-head :002 > Open3.popen3('ruby', '-e', 'exit true') {|i,o,e,t| t.value}
 => #<Process::Status: pid 21796 signal 36> 
jruby-head :003 > Open3.popen3('ruby', '-e', 'exit true') {|i,o,e,t| t.value}
 => #<Process::Status: pid 21817 signal 57> 

The signal number increases by about 22 with each execution before wrapping around at around 127.

With JRuby 1.7.18, I get the expected result:

jruby-1.7.18 :002 > Open3.popen3('ruby', '-e', 'exit true') {|i,o,e,t| t.value}
 => #<Process::Status: pid=18784,exited(0)> 

The capture3 method fails in the same way:

jruby-head :004 > Open3.capture3('ruby', '-e', 'i=STDIN.read; print i+"o"; STDOUT.flush; STDERR.print i+"e"', :stdin_data=>"i")
 => ["io", "ie", #<Process::Status: pid 21839 signal 79>] 

The above examples are based on code from test/mri/test_open3.rb. If I run test/mri/test_open3.rb, I get 16 test failures.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions