Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Trace Compass » Trace Compass is blocking the C project Build
Trace Compass is blocking the C project Build [message #1783863] Mon, 19 March 2018 16:54 Go to next message
Raghava Rao is currently offline Raghava RaoFriend
Messages: 87
Registered: July 2009
Member
Hello,

I am using trace compass 3.2.0 plugins as part of development.
Trace Compass Nature is added to Custom C project.
When ever is C project Build is initiated "Waiting for User Operation" is blocking the UI.
After initial Analysis I found that it is coming from TmfProjectRegistry.java
from below code
if (delta.getKind() == IResourceDelta.CHANGED &&
project.isOpen() && project.hasNature(TmfProjectNature.ID)) {
// If shadow project exists, handle resource change in the shadow project
if (TmfProjectModelHelper.shadowProjectAccessible(project)) {
handeParentProjectRefresh(project);
return;
}

Can you please help me in this to avoid UI blocking.
Re: Trace Compass is blocking the C project Build [message #1783865 is a reply to message #1783863] Mon, 19 March 2018 17:19 Go to previous messageGo to next message
Patrick Tasse is currently offline Patrick TasseFriend
Messages: 84
Registered: July 2009
Member
Hi Raghava,

Could you provide the output of jstack when this blocking is happening?

It's possible that this is fixed in Trace Compass 3.3, with the stack we should be able to verify.

Thank you,
Patrick
Re: Trace Compass is blocking the C project Build [message #1783866 is a reply to message #1783865] Mon, 19 March 2018 17:27 Go to previous messageGo to next message
Raghava Rao is currently offline Raghava RaoFriend
Messages: 87
Registered: July 2009
Member
Hello Patrick,

Thanks for Quick reply.
Looks like UI thread gets initiated for refreshing Parent project before completing the build.
TmfProjectRegistry.handeParentProjectRefresh ()

Is there a way to delay/wait this thread until build completes.

"main" #1 prio=6 os_prio=0 tid=0x00007f4db8015800 nid=0x7289 in Object.wait() [0x00007f4dbe389000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.eclipse.core.internal.jobs.ThreadJob.waitForRun(ThreadJob.java:272)
- locked <0x00000006c7006318> (a java.lang.Object)
at org.eclipse.core.internal.jobs.ThreadJob.joinRun(ThreadJob.java:197)
at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:92)
at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:307)
at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:121)
at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:2188)
at org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:1586)
at org.eclipse.tracecompass.tmf.ui.project.model.TmfProjectRegistry.lambda$4(TmfProjectRegistry.java:563)
at org.eclipse.tracecompass.tmf.ui.project.model.TmfProjectRegistry$$Lambda$138/886331424.run(Unknown Source)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
- locked <0x000000076f3212b8> (a org.eclipse.swt.widgets.RunnableLock)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4536)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4154)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:693)

Thanks,
Raghava Rao
Re: Trace Compass is blocking the C project Build [message #1783880 is a reply to message #1783866] Mon, 19 March 2018 19:30 Go to previous message
Patrick Tasse is currently offline Patrick TasseFriend
Messages: 84
Registered: July 2009
Member
This should be fixed with
https://bugs.eclipse.org/bugs/show_bug.cgi?id=528917
https://git.eclipse.org/r/#/c/113675/

That fix will be included in Trace Compass 3.3 that should be released this Wednesday.

If you notice other similar issues in the future, include all threads from the jstack so we can see which other thread is holding a workspace lock and waiting on the main thread (or just the main thread and that thread if you can figure out which one it is...).
Previous Topic:Network Tracing - Adding a new protocol
Next Topic:Cache issue in XmlTimeGraphView
Goto Forum:
  


Current Time: Thu Apr 25 17:38:27 GMT 2024

Powered by FUDForum. Page generated in 0.02845 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top