Execute SQL in debug window can fail and can end in a state where session can not be terminated

Claus Pedersen

Member³
This is a repost from the beta 15 forum.

When executing SQL in debug window, you can easily end in a state, where the SQL can not be executed and sometimes the session can not be terminated.

Steps to reproduce:

I have a test window containing the example code:

Code:
begin
  null;
end;

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:

SQL:
SELECT * FROM v$session

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:

SQL:
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

In version 14 and older it has sometimes 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 sometimes 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.

Please fix or at least improve this.
 
Back
Top