From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: poffice@blade.nagaokaut.ac.jp Delivered-To: poffice@blade.nagaokaut.ac.jp Received: from kankan.nagaokaut.ac.jp (kankan.nagaokaut.ac.jp [133.44.2.24]) by blade.nagaokaut.ac.jp (Postfix) with ESMTP id 4DFD619E005A for ; Mon, 21 Dec 2015 18:11:17 +0900 (JST) Received: from voscc.nagaokaut.ac.jp (voscc.nagaokaut.ac.jp [133.44.1.100]) by kankan.nagaokaut.ac.jp (Postfix) with ESMTP id B22B6B5D8BD for ; Mon, 21 Dec 2015 18:43:32 +0900 (JST) Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by voscc.nagaokaut.ac.jp (Postfix) with ESMTP id B59A818CC7B6 for ; Mon, 21 Dec 2015 18:43:32 +0900 (JST) Received: from [221.186.184.76] (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 9EDD0120500; Mon, 21 Dec 2015 18:43:31 +0900 (JST) X-Original-To: ruby-core@ruby-lang.org Delivered-To: ruby-core@ruby-lang.org Received: from o2.heroku.sendgrid.net (o2.heroku.sendgrid.net [67.228.50.55]) by neon.ruby-lang.org (Postfix) with ESMTPS id 9DE0F12047D for ; Mon, 21 Dec 2015 18:43:28 +0900 (JST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sendgrid.me; h=from:to:references:subject:mime-version:content-type:content-transfer-encoding:list-id; s=smtpapi; bh=nDQz67Bhfy1lbePxnJkh2AzPM5Y=; b=TLdyoAzGQro0W/fChd NG8QJvRmU6SD5Ku5aTXg3AujgVAGkdGq7gaI/NCAGnEmfOW7PWwID7Ue0aBonoe5 cW2dHMEim+RDGUnS+YniCmJHxK1PeB/g928vZeIgjW4Nfug1vAbJHqGg7q8qeL+f 4N68bYSrUGNY0k8H+lGjTPVuU= Received: by filter0561p1mdw1.sendgrid.net with SMTP id filter0561p1mdw1.31749.5677C9BC33 2015-12-21 09:43:24.516289539 +0000 UTC Received: from herokuapp.com (ec2-54-91-233-203.compute-1.amazonaws.com [54.91.233.203]) by ismtpd0003p1iad1.sendgrid.net (SG) with ESMTP id -KBRdRdPRiqk5NUvnkalgg for ; Mon, 21 Dec 2015 09:43:24.958 +0000 (UTC) Date: Mon, 21 Dec 2015 09:43:24 +0000 From: phasis@gmail.com To: ruby-core@ruby-lang.org Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Redmine-MailingListIntegration-Message-Ids: 47015 X-Redmine-Project: ruby-trunk X-Redmine-Issue-Id: 11854 X-Redmine-Issue-Author: phasis68 X-Redmine-Sender: phasis68 X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-SG-EID: ync6xU2WACa70kv/Ymy4QrNMhiuLXJG8OTL2vJD1yS46imLaj+k3Swm1OXoV9AN9fXHms2CH9wr3uC SFgefltqaR4kepmFFhJqujBHGJ9FJKy2xQ3MzUbpSRIXkmc5Te6M3/XpHVhDGqnNw5MQxI4aeElXLA nBqby2RcYGEe05hkBLtb9ZtjBM7PeF1WrceZ X-ML-Name: ruby-core X-Mail-Count: 72418 Subject: [ruby-core:72418] [Ruby trunk - Bug #11854] [Open] Socket.for_fd(-1) causes segmentaion fault on mingw32. X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" Issue #11854 has been reported by Heesob Park. ---------------------------------------- Bug #11854: Socket.for_fd(-1) causes segmentaion fault on mingw32. https://bugs.ruby-lang.org/issues/11854 * Author: Heesob Park * Status: Open * Priority: Normal * Assignee: * ruby -v: ruby 2.3.0dev (2015-12-20 trunk 53220) [i386-mingw32] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- The following command causes segmentation fault on mingw32 built version ~~~ C:>ruby -rsocket -ve 'Socket.for_fd(-1)' ~~~ ~~~ -e:1: [BUG] rb_update_max_fd: invalid fd (-1) given. ruby 2.3.0dev (2015-12-20 trunk 53220) [i386-mingw32] -- Control frame information ----------------------------------------------- c:0003 p:---- s:0008 e:000007 CFUNC :for_fd c:0002 p:0014 s:0004 E:001a68 EVAL -e:1 [FINISH] c:0001 p:0000 s:0002 E:0008e0 (none) [FINISH] -- Ruby level backtrace information ---------------------------------------- -e:1:in `
' -e:1:in `for_fd' -- C level backtrace information ------------------------------------------- C:\WINDOWS\SYSTEM32\ntdll.dll(ZwWaitForSingleObject+0xc) [0x771B6B1C] C:\WINDOWS\SYSTEM32\KERNELBASE.dll(WaitForSingleObject+0x12) [0x76E4DFF2] c:\usr\local\bin\msvcrt-ruby230.dll(rb_vm_bugreport+0xaa) [0x6305F47A] c:\usr\local\bin\msvcrt-ruby230.dll(rb_bug+0x4a) [0x62F05F5A] c:\usr\local\bin\msvcrt-ruby230.dll(rb_update_max_fd+0x65) [0x62F3EE65] [0x6E60169D] [0x6E60A829] c:\usr\local\bin\msvcrt-ruby230.dll(rb_error_arity+0x20a) [0x6304949A] c:\usr\local\bin\msvcrt-ruby230.dll(rb_vm_invoke_proc+0x33d) [0x6305485D] c:\usr\local\bin\msvcrt-ruby230.dll(rb_vm_invoke_proc+0x782) [0x63054CA2] c:\usr\local\bin\msvcrt-ruby230.dll(rb_vm_localjump_error+0xf7f) [0x6304EEDF] c:\usr\local\bin\msvcrt-ruby230.dll(rb_vm_localjump_error+0x5b97) [0x63053AF7] c:\usr\local\bin\msvcrt-ruby230.dll(rb_check_copyable+0x3202) [0x62F0B402] c:\usr\local\bin\msvcrt-ruby230.dll(ruby_run_node+0x2d) [0x62F0E6AD] [0x0040287F] [0x004013FA] C:\WINDOWS\SYSTEM32\KERNEL32.DLL(BaseThreadInitThunk+0x24) [0x76C338F4] C:\WINDOWS\SYSTEM32\ntdll.dll(RtlUnicodeStringToInteger+0x253) [0x771A56C3] -- Other runtime information ----------------------------------------------- * Loaded script: -e * Loaded features: 0 enumerator.so 1 thread.rb 2 rational.so 3 complex.so 4 c:/usr/local/lib/ruby/2.3.0/i386-mingw32/enc/encdb.so 5 c:/usr/local/lib/ruby/2.3.0/i386-mingw32/enc/trans/transdb.so 6 c:/usr/local/lib/ruby/2.3.0/i386-mingw32/enc/cp949.so 7 c:/usr/local/lib/ruby/2.3.0/unicode_normalize.rb 8 c:/usr/local/lib/ruby/2.3.0/i386-mingw32/rbconfig.rb 9 c:/usr/local/lib/ruby/2.3.0/rubygems/compatibility.rb 10 c:/usr/local/lib/ruby/2.3.0/rubygems/defaults.rb 11 c:/usr/local/lib/ruby/2.3.0/rubygems/deprecate.rb 12 c:/usr/local/lib/ruby/2.3.0/rubygems/errors.rb 13 c:/usr/local/lib/ruby/2.3.0/rubygems/version.rb 14 c:/usr/local/lib/ruby/2.3.0/rubygems/requirement.rb 15 c:/usr/local/lib/ruby/2.3.0/rubygems/platform.rb 16 c:/usr/local/lib/ruby/2.3.0/rubygems/basic_specification.rb 17 c:/usr/local/lib/ruby/2.3.0/rubygems/stub_specification.rb 18 c:/usr/local/lib/ruby/2.3.0/rubygems/util/list.rb 19 c:/usr/local/lib/ruby/2.3.0/i386-mingw32/stringio.so 20 c:/usr/local/lib/ruby/2.3.0/rubygems/specification.rb 21 c:/usr/local/lib/ruby/2.3.0/rubygems/exceptions.rb 22 c:/usr/local/lib/ruby/2.3.0/rubygems/core_ext/kernel_gem.rb 23 c:/usr/local/lib/ruby/2.3.0/monitor.rb 24 c:/usr/local/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb 25 c:/usr/local/lib/ruby/2.3.0/rubygems.rb 26 c:/usr/local/lib/ruby/2.3.0/rubygems/path_support.rb 27 c:/usr/local/lib/ruby/2.3.0/rubygems/dependency.rb 28 c:/usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0.rc1/lib/did_you_mean/version.rb 29 c:/usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0.rc1/lib/did_you_mean/core_ext/name_error.rb 30 c:/usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0.rc1/lib/did_you_mean/levenshtein.rb 31 c:/usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0.rc1/lib/did_you_mean/jaro_winkler.rb 32 c:/usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0.rc1/lib/did_you_mean/spell_checkable.rb 33 c:/usr/local/lib/ruby/2.3.0/delegate.rb 34 c:/usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0.rc1/lib/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb 35 c:/usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0.rc1/lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb 36 c:/usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0.rc1/lib/did_you_mean/spell_checkers/name_error_checkers.rb 37 c:/usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0.rc1/lib/did_you_mean/spell_checkers/method_name_checker.rb 38 c:/usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0.rc1/lib/did_you_mean/spell_checkers/null_checker.rb 39 c:/usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0.rc1/lib/did_you_mean/formatter.rb 40 c:/usr/local/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0.rc1/lib/did_you_mean.rb 41 c:/usr/local/lib/ruby/2.3.0/i386-mingw32/socket.so 42 c:/usr/local/lib/ruby/2.3.0/i386-mingw32/io/wait.so 43 c:/usr/local/lib/ruby/2.3.0/socket.rb [NOTE] You may have encountered a bug in the Ruby interpreter or extension libraries. Bug reports are welcome. For details: http://www.ruby-lang.org/bugreport.html This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. ~~~ Here is a patch for this issue: ~~~ --- init.c Tue Nov 24 07:57:29 2015 +++ init.c.new Mon Dec 21 18:31:28 2015 @@ -61,9 +61,9 @@ { rb_io_t *fp; - rb_update_max_fd(fd); if (!is_socket(fd)) rb_raise(rb_eArgError, "not a socket file descriptor"); + rb_update_max_fd(fd); MakeOpenFile(sock, fp); fp->fd = fd; ~~~ -- https://bugs.ruby-lang.org/