From: Ian Duggan Date: 2009-05-29T02:52:35+09:00 Subject: [ruby-core:23594] [1].cycle.to_a causes very tight loop I'm not sure if this goes into the category of "just don't do that" but the following goes into a very tight loop that requires a "kill -9" to terminate. % ruby1.9 --version ruby 1.9.1p0 (2009-01-30 revision 21907) [i486-linux] % irb1.9 irb --> [1].cycle.to_a ^C^C^C^C^C zsh: suspended irb1.9 % kill 4554 % kill -9 4554 [1] + killed irb1.9 Perhaps it would be helpful if the object could be somehow tagged as being an infinite cycle so that things like to_a could warn rather than sink the process, at least in the simple cases like this? --Ian ^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^Z zsh: suspended irb1.9 :( [09-05-28 10:38:47] ijcd@bearcat:lib/nokogiri/xml (1032) % ps aux | grep irb ijcd 4554 44.9 13.3 281216 276860 pts/4 Tl 10:38 0:09 irb1.9 ijcd 4559 0.0 0.0 3180 724 pts/4 S+ 10:38 0:00 grep irb ijcd 11106 0.0 0.4 13196 8888 pts/3 S+ May27 0:00 irb :) [09-05-28 10:38:49] ijcd@bearcat:lib/nokogiri/xml (1033) % kill 4554 :) [09-05-28 10:38:54] ijcd@bearcat:lib/nokogiri/xml (1034) % fg [3] 4560 [3] - done jobs ${2:-%%} 2> /dev/null [1] - continued irb1.9 ^C^C^C^C^Z zsh: suspended irb1.9 :) [09-05-28 10:39:02] ijcd@bearcat:lib/nokogiri/xml (1036) % [1] + killed irb1.9 :) [09-05-28 10:39:02] ijcd@bearcat:lib/nokogiri/xml (1036) % :) [09-05-28 10:39:02] ijcd@bearcat:lib/nokogiri/xml (1036) % :) [09-05-28 10:39:03] ijcd@bearcat:lib/nokogiri/xml (1036) % :) [09-05-28 10:39:03] ijcd@bearcat:lib/nokogiri/xml (1036) % fg [2] 4563 [2] + exit 1 jobs ${2:-%%} 2> /dev/null fg: no current job :( [09-05-28 10:39:04] ijcd@bearcat:lib/nokogiri/xml (1037) % ruby --version ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]