When executing SQL in debug window, you can easily end in a state, where the SQL can not be executed and the session can not be terminated.
Steps to reproduce:
I have a test window containing the code:
I press F9 to debug and Ctrl-O to enter the code block.
I press the button 'Execute SQL in debug session...'
I enter the query:
and get the error:
ORA-06558: buffer in dbms_pipe package is full. No more items allowed
ORA-06512: at "SYS.PBREAK", line 1513
<...>
This, I believe, is by "design" and is a known limitation in the database.
I open the debug session SQL window again and rewrite my SQL into:
SELECT v$session.sid FROM v$session
and get the error:
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at "SYS.PBREAK", line 1363
I try again and get the error:
ORA-00900: invalid SQL statement
Sometimes I also get the error:
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at "SYS.PBRPH", line 905
ORA-06512: at "SYS.DBMS_DEBUG", line 801
Sometimes is has helped to put a semicolon (;) at the end of the select to terminate the statement, but that does not help either.
This all ends in a loop that can not be terminated.
I can not break the debugger and eventually you will have to terminate PL/SQL developer via task manager to e.g. be able to compile program window.