From: Randal Moore Date: 2011-12-09T05:53:50+09:00 Subject: [ruby-core:41555] [Backport93 - Backport #5723] Ruby fails when standard input is closed Issue #5723 has been updated by Randal Moore. Ruby is being forked as a subprocess by a service which runs on both windows and linux. With ruby 1.8, a closed STDIN worked and was portable to both platforms. As a work-around, we are in the middle of switching to using NULL on Windows and /dev/null on Linux. This will likely be a better long term solution for our service, as other programs are also unhappy with closed STDIN. We expect our work-around will work, so this issue is low priority. Just thought someone could look into the regression. Thanks ---------------------------------------- Backport #5723: Ruby fails when standard input is closed http://redmine.ruby-lang.org/issues/5723 Author: Randal Moore Status: Open Priority: Normal Assignee: Category: Target version: If the ruby process is launched with its standard input closed, it does not behave very well. The following output was logged by the ruby process under these circumstances. The attached source file can be used to produce a minimal executable that duplicates the issue. Note that this appears to be something that changed between 1.9.2 and 1.9.3. [BUG] rb_update_max_fd: invalid fd (0) given. ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux] -- Control frame information ----------------------------------------------- c:0001 p:---- s:0002 b:0002 l:000001 d:000001 TOP -- C level backtrace information ------------------------------------------- -e [0x8173762] -e [0x81b7de8] -e(rb_bug+0x35) [0x81b7e85] -e [0x8073427] -e [0x8079be0] -e [0x806da5a] -e(ruby_init+0x97) [0x805b317] -e [0x8058887] /lib/libc.so.6(__libc_start_main+0xdc) [0x3cedec] -e [0x8058781] -- Other runtime information ----------------------------------------------- 0: can't convert false into String (TypeError) -- http://redmine.ruby-lang.org