It sounds like your question has nothing do with infinite loops, except that you think that might be an explanation of why you are not seeing output. Suggest changing the title of your question to something more appropriate, such as "Why does this PL/SQL block not produce output?". Probably the answer from Jay S is the most relevant to your actual question.
–
Dave CostaNov 8 '10 at 14:51

A loop containing a DBMS_OUTPUT.PUT_LINE will not be infinite (if serveroutput is enabled) as, eventually, it will fill the entire output buffer or the available memory. The limit used to be about 1 million bytes so would get hit quite quickly. If it goes to fill up the entire computer memory, that can take quite some time.

On infinite loops, I went through a bad patch of forgetting to go to the next element in a table.