Debugger Break Hangs PL/SQL Developer

DJM

Member
I'm running:
PL/SQL Developer 7.0.3.1123
Oracle9i Enterprise Edition Release 9.2.0.7.0
Windows XP version 6.0 (build 2600) Service Pack 2

We are a development shop with a 50 user license. Within the last day or so, we are experiencing difficulties trying to break (shift+esc) out of the debugger. If I run to a breakpoint and then click the break, the application hangs. CPU usage in the Task Manager goes to 100%. The only way out is to have a DBA kill the application or kill it within the Task Manager. We run against several test databases and this is occurring on every one I've tested against.

Any suggestions??
 
I have the same problem.
I don't know why but the debug session just hanging up.

What i'm doing is hold down shift+esc for a moment.
Then the window changes and after a view seconds you will get your break. Commit all the exceptions.

Not nice but it is working for now.
 
Thanks for responding, Stef. I tried that and, you're right, it's not pretty. Lots of flashing and redrawing going on but it finally released.

Is this a recent problem for you too? Anyone else have an idea of the cause?
 
Marco - can you have a look at this plz? We're a fairly big shop and this is causing a problem for us.
 
I ran the application in debug mode, ran to the first breakpoint and attempted to break. Here is the debug.txt:

PL/SQL Developer 7.0.3.1123 13.27184 - 50 user license
C:\Program Files\PLSQL Developer\plsqldev.exe

2007/11/14 2:23:48 PM Application started
2007/11/14 2:23:48 PM InitPreferences
2007/11/14 2:23:48 PM Load C:\Program Files\PLSQL Developer\Preferences\Default = 0
2007/11/14 2:23:48 PM PreferenceSet.Load C:\Program Files\PLSQL Developer\Preferences\Default\Default.ini
2007/11/14 2:23:48 PM PreferenceSet.Load OK
2007/11/14 2:23:48 PM Load C:\Program Files\PLSQL Developer\Preferences\DJMORRIS = 0
2007/11/14 2:23:48 PM PreferenceSet.Load C:\Program Files\PLSQL Developer\Preferences\DJMORRIS\default.ini
2007/11/14 2:23:48 PM PreferenceSet.Load OK
2007/11/14 2:23:48 PM PreferenceSet.Load C:\Program Files\PLSQL Developer\Preferences\DJMORRIS\user.prefs
2007/11/14 2:23:48 PM PreferenceSet.Load OK
2007/11/14 2:23:48 PM InitPreferences end
2007/11/14 2:23:48 PM SortPreferenceSets
2007/11/14 2:23:48 PM -
2007/11/14 2:23:48 PM - System Default
2007/11/14 2:23:48 PM LoadPreferences
2007/11/14 2:23:48 PM LoadPreferences searching for default
2007/11/14 2:23:48 PM C:\Program Files\PLSQL Developer\Preferences\DJMORRIS\default.ini
2007/11/14 2:23:48 PM LoadPreferences end
2007/11/14 2:23:48 PM FormCreate Logon.Execute
2007/11/14 2:23:51 PM LogonHistorySave start
2007/11/14 2:23:51 PM ChangeUserPref LogonHistory,
2007/11/14 2:23:51 PM ChangeUserPref DSA,
2007/11/14 2:23:51 PM ChangeUserPref end
2007/11/14 2:23:51 PM ChangeUserPref ColumnAssociations,
2007/11/14 2:23:51 PM ChangeUserPref end
2007/11/14 2:23:51 PM ChangeUserPref ImportAssociations,
2007/11/14 2:23:51 PM ChangeUserPref end
2007/11/14 2:23:51 PM ChangeUserPref BrowserFilters,
2007/11/14 2:23:51 PM ChangeUserPref end
2007/11/14 2:23:51 PM ChangeUserPref BrowserFolders,
2007/11/14 2:23:51 PM ChangeUserPref end
2007/11/14 2:23:51 PM ChangeUserPref SessionQueries,
2007/11/14 2:23:51 PM ChangeUserPref end
2007/11/14 2:23:51 PM ChangeUserPref ExternalTools,
2007/11/14 2:23:51 PM ChangeUserPref end
2007/11/14 2:23:51 PM ChangeUserPref Documents,
2007/11/14 2:23:51 PM ChangeUserPref end
2007/11/14 2:23:51 PM ChangeUserPref Reports,
2007/11/14 2:23:51 PM ChangeUserPref end
2007/11/14 2:23:51 PM LogonHistorySave end
2007/11/14 2:23:51 PM FormCreate Session.Connected
2007/11/14 2:23:51 PM FormCreate Logon.Executed -1
2007/11/14 2:23:51 PM FormCreate TDBNames.Make
2007/11/14 2:23:51 PM FormCreate SessionChanged
2007/11/14 2:23:51 PM SessionChanged SetDBAViews
2007/11/14 2:23:51 PM SessionChanged Authorizations.Load
2007/11/14 2:23:51 PM SessionChanged EnableAuthorizedMenus
2007/11/14 2:23:51 PM SetSessionAction starts: Main session
2007/11/14 2:23:51 PM SetSessionAction ends
2007/11/14 2:23:51 PM ExecuteConnectScript starts
2007/11/14 2:23:51 PM ExecuteConnectScript ends
2007/11/14 2:23:51 PM SessionChanged LoadRecentObjects
2007/11/14 2:23:51 PM SessionChanged Notify children
2007/11/14 2:23:51 PM SessionChanged Logoff secondary sessions
2007/11/14 2:23:51 PM SessionChanged SessionMode = smMulti
2007/11/14 14:23:51 SessionChanged EnableChildFunctions
2007/11/14 14:23:51 Toolbar.NavDisable
2007/11/14 14:23:51 SessionChanged
OracleHomeKey: SOFTWARE\ORACLE\KEY_OraHome9i
OracleHomeDir: f:\winapp\oracle\ora9i
Found: oci.dll
Using: f:\winapp\oracle\ora9i\bin\oci.dll
2007/11/14 14:23:52 Toolbar.NavDisable
2007/11/14 14:23:52 SortPreferenceSets
2007/11/14 14:23:52 -
2007/11/14 14:23:52 - System Default
2007/11/14 14:23:53 Toolbar.NavDisable
2007/11/14 14:23:53 Toolbar.NavDisable
2007/11/14 14:23:53 Toolbar.NavDisable
2007/11/14 14:23:53 WMUpdatePopups starts
2007/11/14 14:23:53 LoadDesktop starts
2007/11/14 14:23:53 LoadDesktop ends
2007/11/14 14:23:53 WMUpdatePopups ends
2007/11/14 14:24:03 Create TTestForm
2007/11/14 14:24:03 Toolbar.NavDisable
2007/11/14 14:24:03 FileAge: C:\temp\debug.tst = 14:20:50
2007/11/14 14:24:03 NavigationBookmarks.EnableButtons(Rebuild)
2007/11/14 14:24:03 NavigationBookmarks: Backward=0, Forward=0
2007/11/14 14:24:03 CheckFileDate WindowFileDate = 14:20:50
2007/11/14 14:24:03 FileAge: C:\temp\debug.tst = 14:20:50
2007/11/14 14:24:06 AddNavigationBookmark starts
2007/11/14 14:24:06 AddNavigationBookmark GNV00001
2007/11/14 14:24:06 NavigationBookmarks.EnableButtons(Rebuild)
2007/11/14 14:24:06 NavigationBookmarks: Backward=1, Forward=0
2007/11/14 14:24:06 AddNavigationBookmark ends
2007/11/14 14:24:06 Create TProcEditForm
2007/11/14 14:24:06 ProcEditForm.GetTabNames
2007/11/14 14:24:06 + wrte_adj_ovrpymnt
2007/11/14 14:24:06 ProcEditForm.GetTabNames done
2007/11/14 14:24:06 UpdateContents(Clear)
2007/11/14 14:24:06 Source = CREATE OR REPLACE PROCEDURE wrte_adj_ovrpymnt
2007/11/14 14:24:06 UpdatingContents: Thread Started
2007/11/14 14:24:06 NavigationBookmarks.EnableButtons(Rebuild)
2007/11/14 14:24:06 NavigationBookmarks: Backward=1, Forward=0
2007/11/14 14:24:06 AddNavigationBookmark starts
2007/11/14 14:24:06 AddNavigationBookmark GNV00002
2007/11/14 14:24:06 NavigationBookmarks.EnableButtons(Rebuild)
2007/11/14 14:24:06 NavigationBookmarks: Backward=2, Forward=0
2007/11/14 14:24:06 AddNavigationBookmark ends
2007/11/14 14:24:06 NavigationBookmarks.EnableButtons(Rebuild)
2007/11/14 14:24:06 NavigationBookmarks: Backward=2, Forward=0
2007/11/14 14:24:06 ContentsThread: Execute
2007/11/14 14:24:06 ContentsThread: Analyze
2007/11/14 14:24:06 ContentsThread: Valid
2007/11/14 14:24:06 ContentsUpdated
2007/11/14 14:24:06 ContentsUpdated: Valid
2007/11/14 14:24:06 ContentsUpdated: Refresh Code Contents
2007/11/14 14:24:06 ContentsThread: Suspend started
2007/11/14 14:24:19 AddNavigationBookmark starts
2007/11/14 14:24:19 NavigationBookmarks.EnableButtons(Rebuild)
2007/11/14 14:24:19 NavigationBookmarks: Backward=2, Forward=0
2007/11/14 14:24:19 AddNavigationBookmark ends
2007/11/14 14:24:19 NavigationBookmarks.EnableButtons(Rebuild)
2007/11/14 14:24:19 NavigationBookmarks: Backward=2, Forward=0
2007/11/14 14:24:19 CheckFileDate WindowFileDate = 14:20:50
2007/11/14 14:24:19 FileAge: C:\temp\debug.tst = 14:20:50
2007/11/14 14:24:20 SetConnected starts
2007/11/14 14:24:20 SetConnected: ForceLogoff starts
2007/11/14 14:24:20 SetConnected: ForceLogoff ends
2007/11/14 14:24:20 SetConnected: Connect starts
2007/11/14 14:24:20 SetConnected: (Dis)connect ends
2007/11/14 14:24:20 SetSessionAction starts: Test Window - debug.tst
2007/11/14 14:24:20 SetSessionAction ends
2007/11/14 14:24:20 ExecuteConnectScript starts
2007/11/14 14:24:20 ExecuteConnectScript ends
2007/11/14 14:24:20 InitHTPOutput starts
2007/11/14 14:24:20 InitHTPOutput finished
2007/11/14 14:24:20 EnableOutput starts
2007/11/14 14:24:20 EnableOutput done
2007/11/14 14:24:20 InitializeTargetSession starts
2007/11/14 14:24:20 SetSessionAction starts: Debug Test Window - debug.tst
2007/11/14 14:24:20 SetSessionAction ends
2007/11/14 14:24:20 ExecuteConnectScript starts
2007/11/14 14:24:20 ExecuteConnectScript ends
2007/11/14 14:24:20 InitializeTargetSession ends
2007/11/14 14:24:20 InitStatistics starts
2007/11/14 14:24:20 TStatistics.Init starts
2007/11/14 14:24:20 InitStatNames starts
2007/11/14 14:24:20 select name from v$statname order by statistic#
2007/11/14 14:24:20 InitStatNames ends
2007/11/14 14:24:20 StatQuery.Describe starts
2007/11/14 14:24:20 StatQuery.Describe ends
2007/11/14 14:24:20 TStatistics.Init ends
2007/11/14 14:24:20 InitStatistics ends
2007/11/14 14:24:20 NavigationBookmarks.EnableButtons(Rebuild)
2007/11/14 14:24:20 NavigationBookmarks: Backward=2, Forward=0
2007/11/14 14:24:20 Debugger.Attach starts
2007/11/14 14:24:20 TSQLThread SQLThread.Execute
2007/11/14 14:24:20 Debugger.Attach ends with 0
2007/11/14 14:24:20 NavigationBookmarks.EnableButtons(Rebuild)
2007/11/14 14:24:20 NavigationBookmarks: Backward=2, Forward=0
2007/11/14 14:24:20 Continue starts(12,0) .[] - L: T:0 B: S: I:1 R:2
2007/11/14 14:24:20 Continue ends with 0 .[] - L:3 T: B:0 S:1 I: R:6
2007/11/14 14:24:20 NavigationBookmarks.EnableButtons(Rebuild)
2007/11/14 14:24:20 NavigationBookmarks: Backward=2, Forward=0
2007/11/14 14:24:20 AddDBSource starts
2007/11/14 14:24:20 AddDBSource finished
2007/11/14 14:24:20 GetCallStack starts
2007/11/14 14:24:20 GetCallStack ends
2007/11/14 14:24:21 NavigationBookmarks.EnableButtons(Rebuild)
2007/11/14 14:24:21 NavigationBookmarks: Backward=2, Forward=0
2007/11/14 14:24:21 SetBreakpoint starts: DJMORRIS.WRTE_ADJ_OVRPYMNT[1], Line 205
2007/11/14 14:24:21 SetBreakpoint ends with 0
2007/11/14 14:24:21 Continue starts(0,0) .[] - L:3 T: B:0 S:1 I: R:6
2007/11/14 14:24:21 Continue ends with 0 DJMORRIS.WRTE_ADJ_OVRPYMNT[1] - L:205 T: B:1 S:2 I: R:3
2007/11/14 14:24:21 NavigationBookmarks.EnableButtons(Rebuild)
2007/11/14 14:24:21 NavigationBookmarks: Backward=2, Forward=0
2007/11/14 14:24:21 AddDBSource starts
2007/11/14 14:24:21 About to determine ObjectType
2007/11/14 14:24:21 ProgramType(1, "DJMORRIS"."WRTE_ADJ_OVRPYMNT")
2007/11/14 14:24:21 GetObjectType("DJMORRIS"."WRTE_ADJ_OVRPYMNT")
2007/11/14 14:24:21 ObjectType = "PROCEDURE"
2007/11/14 14:24:21 ObjectType determined: "PROCEDURE"
2007/11/14 14:24:21 Loading source for "PROCEDURE" "DJMORRIS"."WRTE_ADJ_OVRPYMNT"
2007/11/14 14:24:21 CREATE OR REPLACE PROCEDURE wrte_adj_ovrpymnt
2007/11/14 14:24:21 AddDBSource finished
2007/11/14 14:24:21 GetCallStack starts
2007/11/14 14:24:21 GetCallStack ends
2007/11/14 14:24:24 NavigationBookmarks.EnableButtons(Rebuild)
2007/11/14 14:24:24 NavigationBookmarks: Backward=1, Forward=0
2007/11/14 14:24:24 Continue starts(12,0) DJMORRIS.WRTE_ADJ_OVRPYMNT[1] - L:205 T: B:1 S:2 I: R:3
2007/11/14 14:24:24 Continue ends with 0 DJMORRIS.WRTE_ADJ_OVRPYMNT[1] - L:211 T: B:0 S:2 I: R:9
2007/11/14 14:24:25 NavigationBookmarks.EnableButtons(Rebuild)
2007/11/14 14:24:25 NavigationBookmarks: Backward=1, Forward=0
2007/11/14 14:24:25 AddDBSource starts
2007/11/14 14:24:25 AddDBSource finished
2007/11/14 14:24:25 GetCallStack starts
2007/11/14 14:24:25 GetCallStack ends
2007/11/14 14:24:26 NavigationBookmarks.EnableButtons(Rebuild)
2007/11/14 14:24:26 NavigationBookmarks: Backward=1, Forward=0
2007/11/14 14:24:26 Continue starts(8192,0) DJMORRIS.WRTE_ADJ_OVRPYMNT[1] - L:211 T: B:0 S:2 I: R:9
2007/11/14 14:24:26 Continue ends with 0 .[] - L: T:1 B: S: I:0 R:25
2007/11/14 14:24:31 Continue starts(2,1) .[] - L: T:1 B: S: I:0 R:25
2007/11/14 14:24:31 Continue ends with 0 .[] - L: T:1 B: S: I:0 R:25
2007/11/14 14:24:31 FinalizeTargetSession starts
2007/11/14 14:24:31 NavigationBookmarks.EnableButtons(Rebuild)
2007/11/14 14:24:31 NavigationBookmarks: Backward=1, Forward=0
2007/11/14 14:24:31 AddDBSource starts
2007/11/14 14:24:31 AddDBSource finished
2007/11/14 14:24:31 Detach starts
2007/11/14 14:24:31 Detach ends
 
Within the last day or so, we are experiencing difficulties trying to break (shift+esc) out of the debugger.
Did anything relevant change before that time? For example patches or upgrades on the client or server? I assume the same problem did not occur before that?
 
Marco -

This is a very large Federal Government department that has its own Desktop Management group. New patches and upgrades are installed on a constant basis and we, in the development group, would not necessarily know what is being installed. What I can tell you is that this is that this is not a new version of PL/SQL Developer and the problem just began for me on November 7th. Can you tell anything from the debug log?

Edited to add:
I've contacted our Desktop Department to see if I can get a list of recent updates/patches...
 
I seem to have had the debugger hang on a fairly regular basis, but not all of the time. I can usually get out of it by attempting to close the window and clicking on the Terminate button --I'll try the Shift-ESC. Sometimes debugging just hangs PSD and I have to terminate the app.

It is hung right now. Looking at Session/Current SQL (in another copy of PSD)almost always shows this anonymous block:
declare
i integer;
fr integer;
begin
i := 0;
loop
:result := sys.dbms_debug.get_value(variable_name => :variable_name,
frame# => :frame#,
scalar_value => :scalar_value,
format => :format);
if i = 0 then
fr := :result;
end if;
exit when (:result in (0, 1, 32)) or (i = 9);
i := i + 1;
:frame# := :frame# + 1;
end loop;
if :result 0 then
:result := fr;
end if;
end;

I had finally decided to try and upgrade to 7.1.4, and I was just checking the forum to see how 7.1.4 has been accepted, and I found this thread (about 7.1.0). I am currently running 7.1.1.1339.
 
No joy -- whatever the problem is, 7.1.4 doesn't seem to make a difference.

Sometimes I can debug, sometimes I can't. Sometimes I can compile with 'Add debug information when compiling' checked, sometimes I can't. (Yesterday I could - today I can't.)
 
Marco -

We've had our DBA's monitor a session and trace the SQL when the debugger is hanging. It stays at the following piece of code once the Break is hit...

DECLARE
ret BINARY_INTEGER;
BEGIN
ret := pbsde.debug_loop;
END;

Also, we downloaded the trial version 7.1.4.1390 but the problem continues.

Any suggestions?
 
This loop is an internal Oracle debugger loop, not directly executed by PL/SQL Developer. You could try the following though:

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.
 
Neither option 1 nor option 2 made any difference to the problem.

The DBA and I ran the debugger again while he watched the server side. The server process has not died. In fact, he has to kill it. No trace files are generated before I hit the set breakpoint and the break key . When I held down the and wait for it to break (which takes variable amounts of time), two user trace dumps were generated.

First:
Dump file /u01/oracle/admin/mpdev/udump/mpdev_ora_22539.trc
Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining options
JServer Release 9.2.0.7.0 - Production
ORACLE_HOME = /apps/oracle/product/9.2.0
System name: HP-UX
Node name: vahuxdv1
Release: B.11.11
Version: U
Machine: 9000/800
Instance name: mpdev
Redo thread mounted by this instance: 1
Oracle process number: 32
Unix process pid: 22539, image: oracle@vahuxdv1 (TNS V1-V3)

*** 2007-11-20 10:40:56.462
*** SESSION ID:(32.477) 2007-11-20 10:40:56.461
Probe:read_pipe: receive failed, status 3
Probe:S:debug_loop: timeout. Action 1

Second:
Dump file /u01/oracle/admin/mpdev/udump/mpdev_ora_22541.trc
Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining options
JServer Release 9.2.0.7.0 - Production
ORACLE_HOME = /apps/oracle/product/9.2.0
System name: HP-UX
Node name: vahuxdv1
Release: B.11.11
Version: U
Machine: 9000/800
Instance name: mpdev
Redo thread mounted by this instance: 1
Oracle process number: 33
Unix process pid: 22541, image: oracle@vahuxdv1 (TNS V1-V3)

*** 2007-11-20 10:40:49.037
*** SESSION ID:(33.4) 2007-11-20 10:40:49.027
Probe:write_pipe : pipe not open. Request 38 END 0
Probe:write_pipe : pipe not open. Request 38 END 1
Probe:write_pipe : pipe not open. Request 38 END 2
Probe:write_pipe : pipe not open. Request 38 END 3
Probe:write_pipe : pipe not open. Request 38 END 4
Probe:write_pipe : pipe not open. Request 38 END 5
Probe:write_pipe : pipe not open. Request 38 END 6
Probe:write_pipe : pipe not open. Request 38 END 7
Probe:write_pipe : pipe not open. Request 38 END 8
Probe:write_pipe : pipe not open. Request 38 END 9
 
Not really, the Probe:read_pipe and Probe:write_pipe messages are all internal Oracle Debugger messages.
 
Hi Marco.
Is sys.pbsde is supported by oracle on 11g ?
I know that there are other debug tools that should be use with oracle , like dbms_debug.

This is a major issue . Debugging with plsqldeveloper is not possible with 11g . This questions the relevant of the plsqldeveloper itself as an IDE for our developers.

Even if this is an oracle problem, I think that you should contact them...
I've opened a tar. but this is not enough..
 
Last edited:
Is sys.pbsde is supported by oracle on 11g ?
I know that there are other debug tools that should be use with oracle , like dbms_debug.
The sys.dbms_debug package calls sys.pbsde internally.

and another thing. the problem doesnt occur on newly installed 11g. It occurs with upgraded 11g.
As a result of previous dbms upgrades, the dbms_debug packages can cause problems. You can logon to the server computer, go to $ORACLE_HOME/rdbms/admin, start SQL*Plus under the SYS account, and run pbload.sql. This will reload the dbms_debug packages. Check if this has a positive influence on the problem.
 
Last edited:
Hi Marco.

reloading the pbload.sql didnt work.
We're still having the problem.

We've been trying to solve it with oracle over a month - and after alot of tries they are saying that it is something to do with the product itself.
 
Last edited:
Hi Marco.

We've tried debugging with sqlplus and found out that it acts wrong when debugging plsql blocks with 11g.

It seems that when deubbing cursors with 11g - it acts fine.

running the debugger like that will make plsqldeveloper hang when error occurs:
a number;
begin
a := loop_cursor(3);
end;

running the debugger like that will report the error and wont hang:
select loop_cursor(3) from dual;

hence the plsqldeveloper:

when debugging plsql blocks with plsqldeveloper with 11g it gets hung.

and when deugging cursors with plsqldeveloper with 11g it works.

Sagi
 
We also had this problem.

It went away when we dropped a trigger for:

after servererror on database

I don't know if this would help you but it did remove a tremendous amount of frustration for me...
 
we found out that it happens when the oracle spatial option is installed.
we installed spatial but not using it, so by deactivating a trigger called mdsys.sdo_geor_err_trigger , the debuuger is now working fine.
 
Back
Top