Currently Being Moderated

How to take thread dumps and report problems when IntelliJ IDEA hangs and doesn't respond

VERSION 8

Created on: Aug 7, 2007 7:35 PM by Serge Baranov - Last Modified:  Nov 25, 2013 2:20 PM by Serge Baranov

This document is out of date, the new version is available at

http://intellij-support.jetbrains.com/entries/23348667

 

 

 

In case IntelliJ IDEA doesn't respond, a thread dump could be taken to help us analyze and fix the problem that you experience.

 

To get the thread dump you can use jstack command line utility that comes with your JDK and is located in the JDK bin directory. In order to use jstack you need to know the process id of the JVM which runs IntelliJ IDEA. You can use your favorite task manager to get it or use the jps JDK utility. Once the process ID is obtained, run this command in the terminal/command line console:

 

jstack -l <pid>

 

Substitute <pid> with the previously obtained process id.

 

You can also redirect the output to a file that you can attach to your report:

 

jstack -l <pid> > dump.txt

 

After the dump is saved you can attach it to the YouTrack issue or send to the support team.

 

 

There are also different ways to take thread dumps which are platform specific, use them only in case jstack doesn't work for you.

Windows

Run IntelliJ IDEA via IDEA_HOME\bin\idea.bat file. You have to set IDEA_JDK environment variable first which points to 1.6 installation home. One of the ways to set it is to add the following line in the beginning of idea.bat file:

 

SET IDEA_JDK=C:\Program Files\Java\jdk1.6.0_10

 

Reproduce the problem. When IntelliJ IDEA hangs, press Ctrl+Break (NOT Ctrl+C) in the console window, copy the thread dump from the console.

 

 

Mac OS

Browse to the /Applications/IntelliJ IDEA XX.app/Contents/MacOS/idea in Finder, in the context menu choose Open With, Terminal. To get a thread dump press Ctrl+\ in the Terminal window.

 

Linux/Mac OS/Generic Unix/Solaris

You have to run IntelliJ IDEA with the terminal window shown, start your terminal and run IntelliJ IDEA via IDEA_HOME/idea.sh startup script. Reproduce the problem. Now use the ps utility to find IntelliJ IDEA process (it should be java process started from the idea.sh script), note the process ID (PID). Now open the second terminal window and issue the following command:

 

kill -QUIT PID

 

where PID is the the java process ID shown by ps. Thread dump should be printed in the first terminal window.

 

IntelliJ IDEA also takes thread dumps and saves them automatically on certain conditions under the %idea.system.path%\log directory (in the subdirectories starting with threadDumps). However, in some cases they may not get recorded, therefore it's recommended to take dumps manually as described above at the moments when IntelliJ IDEA doesn't respond.

Tags: hang, dump, dump, hang, thread
Average User Rating
(4 ratings)




Randall Schulz Randall Schulz  says:

What about the "report problems" part of the title? I already knew how to get a thread dump, but came here looking for information on where to send it.

Serge Baranov Serge Baranov  says in response to Randall Schulz:

Use the support section on the jetbrains.com site or write to support@jetbrains.com .

WarnerJan Veldhuis WarnerJan Veldhuis  says:

On Linux, you can hit CTRL-\ instead of CTRL BREAK. (Fedora Core 11, with JDK 1.6.0_14)

Michael Parmeley Michael Parmeley  says:

There is also a executable that comes with Java  called jstack that gives you a thread dump (if "java" or "javac" is in your PATH this one is too):

 

http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jstack.html

Peter Niederwieser Peter Niederwieser  says:

When I run idea.sh from the terminal (Maia IU-90.116, Mac OS 10.6.1), something goes wrong: suddenly I'm asked to set JDK_HOME, and IDEA also thinks that I'm running it for the first time (asks me to import settings, type in license key, etc).

Serge Baranov Serge Baranov  says in response to Peter Niederwieser:

Running IDEA from idea.sh on Mac is possible, but is very tricky as it would require modification of several files including idea.sh, idea.properties and optionally idea.vmoptions. The easier way to run with Terminal window is to click on the IDEA Application folder and choose Show Package Contents from Finder, then navigate to Contents/MacOS folder, right click on idea binary and choose Open With > Terminal.

Stefan Endrullis Stefan Endrullis  says in response to Michael Parmeley:

Thank you very much.  Since killing IDEA with QUIT signal does often not work, jstack is a really good alternativ. It works great!

More Like This

  • Retrieving data ...