Article

Remote Debugger terminates/Disconnects AppServer Agents hang

Information

 
Article Number000088695
EnvironmentProduct: OpenEdge
Version: 11.7.2.x
OS: Unix, Linux
Other: PDSOE
Question/Problem Description
When attempting to disconnect the debugger from a remote AppServer broker in PDSOE, the Agent process will hang and become unresponsive to any future debugger action (connected to via an External AVM: Appserver Broker configuration). The only way to stop the agent is to kill it. Issue always occurs when disconnecting or terminating from an AppServer broker when an agent is suspended, and seems to occur to a lesser extent when the agent is not suspended (at least not manually or via a breakpoint).
Steps to Reproduce1. Create a sports2000 database

2. Configure a Classic AppServer for debugging. Name it asbroker3 and use default port 3099

3. In PDSOE create a Debug Configuration using: Progress External OpenEdge AVM. In the Connection type select “AppServer broker”.

4. In the working directory, create a folder named: CustomerOrders and extract CustomerOrders_onServer.zip file attached to the article.

5. Extract to c:\temp or any other folder CustomerOrders_client.zip file. This file includes an OpenClient program that connects to asbroker3.
Also, the java openclient proxy is included, just set the following environment variables:

(This is OE 11.7.2, please update paths according to the OpenEdge version)

set CLASSPATH=.;C:\\Progress\\DLC117\\java\\o4glrt.jar;%CLASSPATH%
set JAVA_HOME=C:\\Progress\\DLC117\\jdk
set PATH=C:\\Progress\\DLC117\\jdk;C:\\Progress\\DLC117\\jdk\\bin;%PATH%


6. Start the AppServer from PDSOE (as Debug) so in the Debug Perspective the broker shows that is at <hostname>:3099 (check the AppServer Status, agents must be AVAILABLE)

7. Set a breakpoint in the code on line 20

8. Run OpenClient code. Check AppServer agent status, it should be RUNNING

9. Click on the root element in the tree displayed in the Debug pane in Debug perspective in PDSOE. The one that says: asbroker3 at <host>:3099

10 .Click on the button “Disconnect”. Now check the AppServer Status, it should say RUNNING. Look at the window where the code is running, it is waiting or hanging there. Ctrl-c and stop the program. Check the Appserver status, it’s still in RUNNING.

11. Getting progetstack of the AppServer agent it says that is on Line 1, when the breakpoint was set on line 20

12. Now run the Debug Configuration created above. The root element in the Debug pane is :
<debug configuration> [Progress External OpenEdge AVM]

13. Run OpenClient code. It should stop. (Check agent status, it should be RUNNING)

14. Click on the Configuration element (<debug configuration> [Progress External OpenEdge AVM]). You should have 2 buttons enabled on the toolbar “Terminate” and “Disconnect”. Press Terminate. Check the AppServer status, it is RUNNING. The code is still running.

15. Same issue when using option “Terminate/Disconnect all” from the right-click menu in the debug perspective.
Clarifying Information
- PDSOE side is on Windows and AppServer Broker on Unix
- Client application is a Java OpenClient
Error Message
Defect/Enhancement NumberDefect PSC00363589
Cause
The exact cause is not known at this time.
Resolution
None at this time.
Workaround
Skip all breakpoints and let the process run normally.
Notes
Attachment 
Last Modified Date4/20/2018 3:59 PM
Disclaimer

The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.



Feedback
 
Was this article helpful?

   

Your feedback is appreciated.

Please tell us how we can make this article more useful. Please provide us a way to contact you, should we need clarification on the feedback provided or if you need further assistance.

Characters Remaining: 1025