[
https://issues.jboss.org/browse/JBIDE-11929?page=com.atlassian.jira.plugi...
]
Rob Stryker commented on JBIDE-11929:
-------------------------------------
In general, the job inside MarkerDialog is a workspace job. Launching another job which
waits on resources family jobs to finish will never end, since job2 is waiting for
resource jobs to finish, but job1 is a resource job waiting for job2 to finish.
The solution was to move the join logic direct into the workspace job in MarkerDialog. I
left out the resource family in that instance, since that seemed to leave my job frozen
also (but able to be canceled). By limiting it only to examples and validation, and since
hte markerDialog job alreayd has the resource lock, all seems to be working much better.
Also the progress monitors work better
Project examples freezes during quickfix dialog
-----------------------------------------------
Key: JBIDE-11929
URL:
https://issues.jboss.org/browse/JBIDE-11929
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: project-examples
Affects Versions: 3.3.0.CR1
Reporter: Rob Stryker
Assignee: Snjezana Peco
Priority: Blocker
Fix For: 3.3.0.CR1
Attachments: jbide-11929.b.trace, JBIDE-11929.jstack, jbide-11929.v2.patch
When importing the dvd seam example project, a list of quickfixes was shown. After trying
to fix each one, the UI would freeze for 15-30 seconds. A Jstack revealed the following:
{code}
"main" prio=10 tid=0x00007f35b8009800 nid=0x26e1 in Object.wait()
[0x00007f35bd93c000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000fe463e08> (a
org.eclipse.core.internal.jobs.Semaphore)
at org.eclipse.core.internal.jobs.Semaphore.acquire(Semaphore.java:39)
- locked <0x00000000fe463e08> (a org.eclipse.core.internal.jobs.Semaphore)
at org.eclipse.core.internal.jobs.JobManager.join(JobManager.java:847)
at org.eclipse.core.internal.jobs.InternalJob.join(InternalJob.java:380)
at org.eclipse.core.runtime.jobs.Job.join(Job.java:385)
at
org.jboss.tools.project.examples.dialog.MarkerDialog.okPressed(MarkerDialog.java:237)
{code}
Clearly the UI thread is waiting on a newly scheduled background job, which causes the
freeze. The lines in this stacktrace match with lines in trunk. The offending lines of
code seem to be this:
{code}
ProjectExamplesActivator.waitForBuildAndValidation.schedule();
ProjectExamplesActivator.waitForBuildAndValidation.join();
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira