Backport #5593

Windows上で \\.\ から始まるデバイスをopenするとクラッシュ

Added by 宗介 相良 over 3 years ago. Updated about 3 years ago.

[ruby-dev:44837]
Status:Closed
Priority:Normal
Assignee:-

Description

Windows 上で \.\ から始まるデバイスを open すると ruby がクラッシュします。

ruby -e "open('//./c:', 'rb:binary')"
-e:1: [BUG] rb_update_max_fd: invalid fd (3) given.
.... なんたらかんたら ....

原因は io.c の rb_update_max_fd で呼ばれる fstat が、デバイス fd を与えると常に失敗するためのようです。

対応をお願いします。


Related issues

Related to Ruby trunk - Bug #5591: Windows bug when using "shortcut" syntax with output redirection Closed 11/08/2011

Associated revisions

Revision 33692
Added by Nobuyoshi Nakada over 3 years ago

Revision 34437
Added by Usaku NAKAMURA about 3 years ago

merge revision(s) 33691,33692

[Backport #5593]

Revision 34445
Added by Yui NARUSE about 3 years ago

merge revision(s) 33691,33692:

* io.c (rb_update_max_fd): fstat(2) can fail with other than
  EBADF.   [Backport #4339].  Cf.
  http://pubs.opengroup.org/onlinepubs/9699919799/functions/fstat.html
  EBADF.   [Bug #5593].  Cf.

History

#1 Updated by Usaku NAKAMURA over 3 years ago

  • Status changed from Open to Assigned
  • Assignee set to Usaku NAKAMURA
  • Category set to core

#2 Updated by Usaku NAKAMURA over 3 years ago

正当なfdなんだけどfstat()できないものもあるという事態なんですが、
どーすればいいでしょうか?>arkさん

#3 Updated by Usaku NAKAMURA over 3 years ago

  • ruby -v changed from ruby 1.9.3p0 (2011-10-30) [i386-mingw32] to -

こんにちは、なかむら(う)です。

In message " [ruby-trunk - Bug #5593] Windows上で \.\ から始まるデバイスをopenするとクラッシュ"
on Nov.09,2011 16:48:02, usa@garbagecollect.jp wrote:

正当なfdなんだけどfstat()できないものもあるという事態なんですが、
どーすればいいでしょうか?>arkさん

大変失礼しました。akrさん宛です。

それでは。
--
U.Nakamura usa@garbagecollect.jp

#4 Updated by Nobuyoshi Nakada over 3 years ago

  • % Done changed from 0 to 100
  • Status changed from Assigned to Closed

This issue was solved with changeset r33692.
宗介, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


#5 Updated by Usaku NAKAMURA over 3 years ago

  • Tracker changed from Bug to Backport
  • Project changed from Ruby trunk to Backport193
  • Category deleted (core)
  • Status changed from Closed to Open
  • Assignee deleted (Usaku NAKAMURA)
  • Target version deleted (1.9.3)

#6 Updated by Motohiro KOSAKI over 3 years ago

Usaさん、

redmineに記録されてるコミットはr33692だけですが、これはコードを一行も変えてないので、
backport requestは r33691 と r33692 の2コミットに対してなされていると推測していますが
あっていますか?勝手に推測して間違っていると目も当てられないのでお手数ですが確認お願い出来ますでしょうか。

#7 Updated by Usaku NAKAMURA about 3 years ago

  • Status changed from Open to Closed

This issue was solved with changeset r34437.
宗介, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


merge revision(s) 33691,33692

[Backport #5593]

Also available in: Atom PDF