PL/SQL Dev Test Window Doesn't Terminate on Error

PaulB

Member²
When running a debug session in the Test Window, an error ocurring within the code causes the session to hang. PRessing Terminate has no effect, and it appears the the session is still active. I must kill PL/SQL Dev from Task Manager to reset. I cannot Terminate a valid Test session either, at a breakpoint. Same behavior occurs.

PL/SQL Developer
Version 7.1.4.1390
01.46458 - 1 user license
Windows XP Professional 5.1 Build 2600 (Service Pack 2)

Physical memory : 2,088,044 kB (296,952 available)
Paging file : 4,029,516 kB (2,158,100 available)
Virtual memory : 2,097,024 kB (1,886,312 available)

Parameters
C:\Program Files\PLSQL Developer\PlSqlDev.exe

Preferences
Session mode: Multi
OCI Library:
Use OCI7: False

Preference Files
C:\Program Files\PLSQL Developer\Preferences\Default\Default.ini
C:\Program Files\PLSQL Developer\Preferences\pbranden\default.ini

Plug-Ins
*Active Query Builder (C:\Program Files\PLSQL Developer\PlugIns\ActiveQueryBuilder.dll)
*PL/SQL Developer CompareSource Plug-In version 2003/12/03 (C:\Program Files\PLSQL Developer\PlugIns\CompareSource.dll)
*PL/SQL Developer FindAll Plug-In version 2003/11/18 (C:\Program Files\PLSQL Developer\PlugIns\FindAll.dll)
*FTP File Interface 2.1 (C:\Program Files\PLSQL Developer\PlugIns\ftp.dll)
*PL/SQL Documentation (plsqldoc) (C:\Program Files\PLSQL Developer\PlugIns\plsqldoc.dll)
*PL/SQL Developer Sort Plug-In version 2003-11-05 (C:\Program Files\PLSQL Developer\PlugIns\Sort.dll)
*TNSEditor Plugin (C:\Program Files\PLSQL Developer\PlugIns\TNSEditorPlugin.dll)
(* is Active)

Homes
OraDb11g_PCB (D:\Oracle\Product\11.1.0\PCB)

DLLs
D:\Oracle\Product\11.1.0\PCB\bin\oci.dll

TNS File
D:\Oracle\Product\11.1.0\PCB\Network\Admin\tnsnames.ora

Using
Home: OraDb11g_PCB
DLL: D:\Oracle\Product\11.1.0\PCB\bin\oci.dll
OCI: version 9.2
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0

Character Sets
Character size: 4 byte(s)
CharSetID: 873
NCharSetID: 2000
Unicode Support: True
NLS_LANG: AMERICAN_AMERICA.AL32UTF8
NLS_CHARACTERSET: AL32UTF8
NLS_NCHAR_CHARACTERSET: AL16UTF16
 
You could try the following:

1. Increase the shared pool size.

The Oracle Debugger seems to have some stability issues when there is not enough free memory in the shared pool.

2. Disable the call stack.

Go to Tools > Preferences > Debugger and disable the "Update call stack after each step".

3. Check for user trace files on the server.

It may be that the server process has died. Check if a trace file exist that is related to the problem, and if so, send it to me.
 
1. Increase the shared pool size.
It's not likely that the Shared pools are the problem. My current allocations while I am the only connection running are:
Automatic Shared Memory Management Enabled
Total SGA Size (MB) 600

SGA Component Current Allocation (MB)
Shared Pool 276
Buffer Cache 300
Large Pool 4
Java Pool 12
Other 8

2. Disable the call stack.
Doing this had no effect on the problem.

3. Check for user trace files on the server.
I have emailed you a .zip file containing trace files for several examples of the problem. The latest one is from a session after Disabling the call stack in #2.

I would suggest as an enhancement that the Test Window should actually terminate the client activity, even when the server is no longer responding. The "Terminate" action now assumes the session is still active, even if there is no response from the server. This would only stop the session when the user presses "Terminate", otherwise, the session continues regardless of the server session state.
 
I have same problem since 11g upgrade. Once expcetion is raised it is not thrown back to debug window until debug session is manually killed on server side. Killed session is in status 'active' and executing following code:
begin
sys.dbms_debug.default_timeout := 3600;
sys.dbms_debug.debug_off;
end;

Branko
 
Same problem here with PL/SQL Developer 7.1.5.1398. Exactly same symptoms as bdjapic. This one is really bad. Makes the debugger practically unusable.

Ara
 
I should add that the DBAs do not give us the privilege to kill sessions. Otherwise, that would have been a workaround--Ara
 
Yes, and nothing worked. I assume they also did not work for the other users, since they continued to complain about the issue.

Thanks for any help,
Ara
 
I would agree with Ara since I supplied feedback in my last reply in March and am awaiting a solution.

Thanks for your help.
 
Just to add fuel to the fire... :-) I am debugging an issue right now and am getting a little tired of killing PL/SQL Developer every time I want to cancel a debug session or simply run into an issue.

DBAs do not want to give me the privilege of killing a session, since that requires ALTER SYSTEM.

This is bad enough that I am considering switching to another IDE (and I have NEVER considered that for the last 5 years that I have used PL/SQL Developer, but this is core functionality).

Ara
 
We have the same problems sometimes. It would be very helpful to have the possibility to close such a hanging test window, regardless the cause (database error or procedure creator's mistakes).
 
As it turns out, even doing the kill is not always successful. I guess something does not get cleaned up in PL/SQL Developer, so you still have to kill the application.

I don't have these issues when I use the 10g client home.

Ara
 
If you are on a PC connected to an Oracle server, one other possibility (to regain control over PL/SQL Developer) is to unhook your ethernet connection, wait a few seconds (for your connection to time out), then reconnect your computer to the network.

In some cases, this might not kill the Oracle session (but in these same kinds of cases, killing PL/SQL Developer will also leave the Oracle session running).
 
I have to admit, Albert has a good point. Marco, I am baffled why this issue doesn't receive any indication of an action occurring. I believe your attention to other issues has been stellar, yet we don't even hear from you saying you "have no idea of the cause" on this issue.

Do you recognize that you have a host of users on this thread that are willing and able to reproduce the issue? We have found great annoyance by it, because it affects what has always been considered Basic functionality. If the OCI has changed to prevent you from invoking the Debugger in some way, at least an explaination of this fact would be in order.

Marco, Please help us help you by indicating your current disposition on this issue, and if we can assist you in diagnosis in some way. Emails have been sent to you in the past detailing the error, with no reply indicating a proper diagnosis or resolution.

My renewal for PL/SQL Developer Support is now due, and I would hope I could continue to recieve the same excellent improvements and corrections in the product as I have in the past. This is made very difficult in an area of the product that I rely on heavily to meet my debugging needs. I've had to depend on Oracle's own SQL*Developer product to fill the gap in some cases.

I've posted this to your Email as well.
 
I will second Paul's message. In my organization, we are in the process of transitioning from SQL Navigator to a less costly option. Issues that affect the basic functionality of a product, behavior on the part of the support team that indicates lack of support and possible internal issues within a vendor's organization--these are obstacles to adoption.

Ara
 
The problem has our attention. It's not easy to fix though, since it's not easily reproducible. I will post here if we have any findings.
 
Hello, Marco!
Some suggestions
First of all To reproduce this error you need have some trigger on system error on your database.
And please see my post ( Why debug sess.is in state of waiting for pipe when trigger on sys.err.exists on db )
With high probability there are only two possible causes of this error (I deeply analysed this situation)
1.Small timeout (see second Pl/Sql block in my post at above mentioned link). In this case necessary to increase value of this parameter
2.The Debug session doesn't wait for target session which executes code
Suggestion:
To do available for user timeout value for target session as a parameter for debugger (The default value is 3600 sec. This value is too large for my mind)
May be to do available for user other timeout parameters which are used for dbms_debug (At least for testing)
Personally I'm ready to help you in isolation of this error
 
Albert, I want to personally thank you for your assistance with isolating this issue.

There you have it, Marco. You have users willing to help.
 
Hi,
we have the same problem in our company and we had it also in the company I worked before. So this is really a general problem.
Please inform me what the solution will be.

Regards,
Patrick
 
We are having same problem ( test window, debug packaged procedure, step into, one more time and hung ).

I have tried oci 9,10 and 11. Same problem.

PL/SQL developer 7.1.1.339
 
Hi everyone.
Is there any update on this problem?

When we were using database version 10 debug ran smoothly; after updating to oracle 11, the debug problems appeared. Now the debug hangs on error, and we can't terminate it.
 
Back
Top