Attempts to edit a Java file and press CTRL-C to copy some text result in workbench hangs when using IBM Rational Application Developer for WebSphere Software.
The Rational Application Developer workbench freezes when you edit a Java file and press CTRL-C to copy some text. The freeze time varies. Even after you disable the validations, the hang occurs when you edit a Java file and press CTRL-C to copy some text.
After some time, the workbench becomes responsive again and you can continue to work.
However, in some cases, you may need to close the workbench and restart Rational Application Developer.
If there are annotations in your project, during validation process or compilation, the Java model is building. As a part of the Java reconciliation process, annotation processing is invoked. The UI thread is waiting for Java reconciler thread. This may cause the editor or workbench to hang.
This is an known limitation.
Diagnosing the problem
Use the instructions to capture a javacore dump.
Important : Use only approach 1.
Since the UI thread hangs, you need to use non-intrusive javacores at the time the hang occurs to be able to tell what is happening with the UI thread.
Other approaches make use of the UI thread to produce the dumps, and that means that the javacore dumps are captured after the hang and will not be useful.
You DO NOT need to wait a minute for invoking CTRL+Break, you can capture a couple while it is hanging.
Resolving the problem
You need to disable Annotation Processing in the Java Editor, which has been known to be slowing down the editing operations.
You need to follow these STEPS for each project:
- Right click on a project.
- Select: Properties > Java Compiler > Annotation processing.
- Select: Enable project specific settings.
- Disable: Enable processing in editor.
- Click Apply.
- Accept to rebuild the project.
- Close the dialog.
From that moment, annotation processing should not be invoked during editing.
Note: This works only for Java compilers 1.5 or newer, which allow the use of annotations, without which there is no annotation processing.
The annotation processing is only disabled in the editor and it does not affect other annotation processing in general.