Jump to: navigation, search

How to report a deadlock

Revision as of 14:06, 2 June 2006 by John arthorne.ca.ibm.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Say you've encountered a problem in Eclipse that has one of the following symptoms:

  • A long pause where the GUI does not redraw or respond
  • A deadlock or freeze where the GUI stops responding indefinitely
  • CPU pegged at 100% indefinitely
  • A modal dialog that won't close

In all of these cases, you should enter a bug report. Include the following information in the report:

  1. What build of Eclipse you are using (see Help > About)
  2. What you were doing at the time of the deadlock (what dialog, wizard, editor, etc)
  3. Whether it is reproducible; if so, provide steps
  4. Once the bug report is created, attach a stack dump use the "Create a New Attachment" link in bugzilla.

The steps for producing a stack dump vary according to what operating system you are using:

Getting a stack trace on Windows

On Windows, the Java VM is typically started by an executable called javaw.exe. If you run with the java.exe executable instead, then a Java console window will appear while it is running. If you are interested in reporting bugs, it is useful to always run with a console open so you can obtain stack traces. Here is a typical command line for starting Eclipse using java.exe:

  eclipse -vm c:\jre\bin\java.exe -vmargs -Xmx300M

Once you have a Java console window, you can obtain a stack trace by simply hitting Ctrl+Break when the console window is active.

Getting a stack dump on other platforms

On all Unix-based platforms, the steps for producing a stack dump are the same:

  1. Use the "ps" command to find out the process id (pid) of the Java VM
  2. Invoke "kill -3 <pid>" where <pid> is the process id of the Java VM