# \[Bug:1.9\] test\_dup(TestIO) may cause infinite loop

**URL:** <https://www.ruby-forum.com/t/bug-1-9-test-dup-testio-may-cause-infinite-loop/148706>\
**Category:** Development\
**Created:** [September 16, 2008, 1:22pm UTC](https://www.ruby-forum.com/t/bug-1-9-test-dup-testio-may-cause-infinite-loop/148706 "2008-09-16T13:22:13Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kazuhiro\_NISHIYAMA](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/77aa72/32.png) [@Kazuhiro\_NISHIYAMA](https://www.ruby-forum.com/u/Kazuhiro_NISHIYAMA)\
**Post date:** [September 16, 2008, 1:22pm UTC](https://www.ruby-forum.com/t/bug-1-9-test-dup-testio-may-cause-infinite-loop/148706/1 "2008-09-16T13:22:13Z")

</div>

e$B@\>;3OB9-$G$9!#e(B

test\_dup(TestIO)e$B$GL58B%k!\<%W$K$J$C$F$7$^$&$3$H$,$"$k$h$&$G$9!#e(B

stracee$B$7$F$\_$?$H$3$m!"e(B1e$B$DL$Ne(Bdupe$B$GNc30$K$J$i$J$+$C$?\>l9g!"e(B  
e$B=PMh$?e(BIOe$B$,e(B2e$B$DL$Ne(Bdupe$B$NCf$Ge(BGCe$B$5$l$F!“e(B2e$B$DL$Ne(Bdupe$B$G=PMh$?e(BIOe$B$,e(B  
1e$B$DL$Ne(Bdupe$B$Ge(BGCe$B$5$l$F!”$H$$$&$O$^$jJ}$K8+$($^$9!#e(B

# Index: test/ruby/test\_io.rb

— test/ruby/test\_io.rb (revision 19381)  
+++ test/ruby/test\_io.rb (working copy)  
@@ -633,7 +633,7 @@  
loop {a \<\< IO.pipe}  
end  
assert\_raise(Errno::EMFILE, Errno::ENFILE, Errno::ENOMEM) do

- 

```
 loop {a[-1][0].dup; a[-1][1].dup}

```

- 

```
 loop {a << [a[-1][0].dup, a[-1][1].dup]}

```

end  
a.each do |r, w|  
r.close unless !r || r.closed?

---

<div class="post-metadata">

**Author:** ![Kazuhiro\_NISHIYAMA](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/77aa72/32.png) [@Kazuhiro\_NISHIYAMA](https://www.ruby-forum.com/u/Kazuhiro_NISHIYAMA)\
**Post date:** [September 17, 2008, 12:53pm UTC](https://www.ruby-forum.com/t/bug-1-9-test-dup-testio-may-cause-infinite-loop/148706/2 "2008-09-17T12:53:28Z")

</div>

e$B%A%1%C%He(B #568 e$B$,99?7$5$l$^$7$?!#e(B (by Anonymous)

e$B%9%F!\<%?%9e(B Opene$B$+$ie(BClosede$B$KJQ99e(B  
e$B?JD=e(B % 0e$B$+$ie(B100e$B$KJQ99e(B

## Applied in changeset r19396.

[http://redmine.ruby-lang.org/issues/show/568](http://redmine.ruby-lang.org/issues/show/568)
