Project

General

Profile

Actions

Bug #12234

closed

Kernel#exec with a command array broken on Windows as of Ruby 2.2.4

Added by vais (Vais Salikhov) over 6 years ago. Updated over 6 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.4p230 (2015-12-16 revision 53155) [i386-mingw32]
[ruby-core:74732]

Description

On Ruby 2.0.0 this worked as expected:

C:\Users\Administrator\GitHub\spec>ruby -ve "exec(['cmd.exe', '/C'], 'echo', 'argv_zero')"
ruby 2.0.0p247 (2013-06-27) [i386-mingw32]
argv_zero

On Ruby 2.2.4 it is broken - it seems to be getting stuck somehow in the new shell and never returns:

C:\Users\Administrator>c:\Ruby\ruby-2.2.4-i386-mingw32\bin\ruby.exe -ve "exec(['cmd.exe', '/C'], 'echo', 'argv_zero')"
ruby 2.2.4p230 (2015-12-16 revision 53155) [i386-mingw32]
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\Administrator>

Updated by nobu (Nobuyoshi Nakada) over 6 years ago

  • Description updated (diff)
  • Backport changed from 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN to 2.1: REQUIRED, 2.2: REQUIRED, 2.3: REQUIRED

Updated by nobu (Nobuyoshi Nakada) over 6 years ago

  • Status changed from Open to Rejected
  • Backport changed from 2.1: REQUIRED, 2.2: REQUIRED, 2.3: REQUIRED to 2.1: DONTNEED, 2.2: DONTNEED, 2.3: DONTNEED

It's wrong code.
The second argument must be '/C'.

exec(['cmd.exe', '/C'], '/C', 'echo', 'argv_zero')
Actions

Also available in: Atom PDF