History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: IDEA-17976
Type: Bug Bug
Status: Open Open
Assignee: Eugene Zhuravlev
Reporter: Joe Uhl
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
IDEA: Feedback

IDEA 7 debugger freezes debugged apps in Leopard

Created: 30 Apr 08 20:57   Updated: 30 Apr 08 21:48
Component/s: Debugger

File Attachments: 1. Text File jstack_output.txt (26 kb)
2. Text File threads_report.txt (55 kb)

Environment:
OSX 10.5.2
Java 1.5.0_13
IDEA 7.0.3, IDEA 7.0.4
Macbook Pro, 2.4 Ghz, 4gb RAM

Build: 7,807
Severity: High


 Description  « Hide
I've looked at other JIRA issues and could not find anything that matched this and allowed me to resolve mine.

I have an issue when Remote debugging through IDEA. This issue has occurred only in Leopard for me and it occurs for any version of IDEA I try. It is strange so I will try my best to summarize. Once IDEA starts behaving this way I cannot make the debugger work again. Basically the debugger will cause the application being debugged to freeze up. It doesn't matter where I set my breakpoint, even if the breakpoint is in no way involved in the code currently executing. The application being debugged completely freezes up the moment the debugger connects. IDEA remains functional but the breakpoint never activates - it will hang forever. As soon as I stop the debugger the target application will continue on its way without issue.

I was using an early build of IDEA 7 and debugging an application running in JBoss 4.2.2 GA. The debugger worked fine for weeks and one day it entered this problem state. We migrated our application to Tomcat 6.0.14 and suddenly the debugger worked again and it worked for months. Today it has starting doing its freezing thing again. I have removed and reinstalled IDEA multiple times (tried both 7.0.3 and 7.0.4 EAP), removed and reinstalled Tomcat. Nothing works and IDEA is functionally useless now that I cannot debug.

When the debugger enters this state, Tomcat will start grabbing a huge percentage of my CPU.

If I pause the debugger in IDEA it ALWAYS stops at the socketAccept method in java.net.PlainSocketImpl. This seems to be where it is getting stuck.

I have attached the output of jstack run against the pid of IDEA when in this state, as well as the thread export from the debugger when stuck in this state (paused it, with it stuck on socketAccept as usual, and did the export there).

Application restarts, system restarts, clearing the IDEA cache, reinstalling Tomcat, and reinstalling IDEA don't resolve this issue. In my debugger settings I have everything under IDE Settings -> Debugger -> Views unchecked including "Enable toString" and "Alternate view for Collection classes". I have tried many combinations of checking/unchecking these items and no combination solves the issue.

Unlike some other reported debugger issues my problem is my debugger completely freezes the target application so I never have a breakpoint fire. I can't even get to the point of attempting to step through code or see any object state information in the debugger.

Any help greatly appreciated, our application is relatively large (1600 classes) and debugging it with logging output is virtually impossible. Please let me know if I can provide any additional information as I can reproduce this problem effortlessly (just by attempting to start the debugger).

I do not remember having this issue in Tiger or Windows XP or OpenSuse, all previous environments where I used IDEA heavily for an extended period of time.



 All   Comments   Work Log   Change History      Sort Order:
Joe Uhl - 30 Apr 08 21:48
Couple things I meant to include:

[1] The presence of breakpoints doesn't matter. If I clear all breakpoints starting the debugger still freezes the debugged application.

[2] I am debugging an application running in Tomcat. I have this in the JVM startup of Tomcat:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

And in IDEA I am doing a Remote debug with host "localhost" and port "8000". Transport is "Socket" and Debugger mode is "Attached"