Bug #15779
Updated by buzztaiki (Taiki Sugawara) almost 6 years ago
Run following reproduce code, ruby freezes and takes 以下の再現用コードを実行すると、ruby が CPU 100% CPU. で固まってしまいます。 ``` require 'open-uri' begin "a" * 10000000000 ensure p open('https://www.ruby-lang.org/') end ``` But interestingly, the following code does not reproduce this issue. 不思議なことに、以下のように一度 NoMemoryError を rescue してから raise すると再現しません。 ``` require 'open-uri' begin begin "a" * 10000000000 rescue NoMemoryError raise end ensure p open('https://www.ruby-lang.org/') end ``` It was also reproduced when put ensure 節を `sleep 100` in ensure clause, run it and hit Ctrl-C. But `puts 等にして Ctrl-C を押した場合でも再現するようです。`puts 'XXX'` does not reproduce it. にした場合では再現しませんでした。