From: nobu@... Date: 2015-08-13T15:56:32+00:00 Subject: [ruby-dev:49212] [Ruby trunk - Bug #11441] [Closed] Ruby 2.1 で TCPServer.new(port) がエラーになる場合 TypeError になる Issue #11441 has been updated by Nobuyoshi Nakada. Status changed from Open to Closed Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN to 2.0.0: DONTNEED, 2.1: REQUIRED, 2.2: DONTNEED 2.2以降の修正はr44497です。 ---------------------------------------- Bug #11441: Ruby 2.1 で TCPServer.new(port) がエラーになる場合 TypeError になる https://bugs.ruby-lang.org/issues/11441#change-53775 * Author: Masahiro Tomita * Status: Closed * Priority: Normal * Assignee: * ruby -v: ruby 2.1.6p336 (2015-04-13 revision 50298) [x86_64-linux] * Backport: 2.0.0: DONTNEED, 2.1: REQUIRED, 2.2: DONTNEED ---------------------------------------- `TCPServer.new(port)` がエラーになる場合、Ruby 2.1 だけ TypeError になってしまいます。 ``` % ruby -v -rsocket -e 'TCPServer.new(123)' ruby 2.1.6p336 (2015-04-13 revision 50298) [x86_64-linux] -e:1:in `initialize': no implicit conversion of nil into String (TypeError) from -e:1:in `new' from -e:1:in `
' ``` Ruby 2.0.0, 2.2 ではちゃんと適切なエラーになります。 ``` % ruby -v -rsocket -e 'TCPServer.new(123)' ruby 2.0.0p576 (2014-09-19 revision 47628) [x86_64-linux] -e:1:in `initialize': Permission denied - bind(2) (Errno::EACCES) from -e:1:in `new' from -e:1:in `
' % ruby -v -rsocket -e 'TCPServer.new(123)' ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux] -e:1:in `initialize': Permission denied - bind(2) for nil port 123 (Errno::EACCES) from -e:1:in `new' from -e:1:in `
' ``` -- https://bugs.ruby-lang.org/