[jbosstools-issues] [JBoss JIRA] (JBIDE-11929) Project examples freezes during quickfix dialog

Rob Stryker (JIRA) jira-events at lists.jboss.org
Wed May 23 05:06:18 EDT 2012


    [ https://issues.jboss.org/browse/JBIDE-11929?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12694982#comment-12694982 ] 

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

        


More information about the jbosstools-issues mailing list