Tagged: Webclipse deadlocks
- This topic has 1 reply, 2 voices, and was last updated 6 years, 3 months ago by Brian Fernandes.
-
AuthorPosts
-
PetreParticipantI am using Eclipse Photon on developing J2EE applications. Some of the Workspaces do, other don’t contain front end code (with Typescript, npm etc). I’ve noticed the IDE instance that opens a Workspace containing projects with front end code will sometime gets into an infinite refreshing loop that eventually hang it (I have to kill the process to slow down the CPU usage too)
I noticed that the typical scenario in which this seem to happen is in Workspaces with more then one project containing also typescript code. In such a case, clicking on the first project with typescript works fine but when I try to open a second one, the IDE gets into the refreshing business that never ends. If I open the Progress View in this case it typically displays a ‘Building Typescript Project XYZ validating ../../xyz.ts (0%)’ where the xyz.ts is one of the files of the project newly open
The deadlock never happens when there is not Typescript code in any project of a given Workspace so I am guessing it must be the way Webclipse + NodeJS try to bind/validate to the project files that is causing the IDE to hang
Is there a patch available to fix this issue?
I have collected some error logs from the .log file of the workspace that seem to have been thrown by Webclipse after restarting the IDE that previously hung:
!ENTRY org.eclipse.core.resources 2 10035 2018-09-07 15:40:30.363
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.!ENTRY org.eclipse.ui 4 4 2018-09-07 15:40:48.024
!MESSAGE To avoid deadlock while executing Display.syncExec() with argument: com.genuitec.eclipse.webclipse.dashboard.WebclipseDashboardPlugin$1$1@56eadf51, thread Worker-12: Show Webclipse Dashboard will interrupt UI thread.
!SUBENTRY 1 org.eclipse.ui 4 4 2018-09-07 15:40:48.024
!MESSAGE Worker-12: Show Webclipse Dashboard thread is an instance of Worker or owns an ILock
!STACK 0
java.lang.IllegalStateException: Call stack for thread Worker-12: Show Webclipse Dashboard
at sun.management.ThreadImpl.dumpThreads0(Native Method)
at sun.management.ThreadImpl.getThreadInfo(Unknown Source)
at org.eclipse.ui.internal.UILockListener.reportInterruption(UILockListener.java:206)
at org.eclipse.ui.internal.UILockListener.interruptUI(UILockListener.java:176)
at org.eclipse.ui.internal.PendingSyncExec.waitUntilExecuted(PendingSyncExec.java:82)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:153)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
at com.genuitec.eclipse.webclipse.dashboard.WebclipseDashboardPlugin$1.run(WebclipseDashboardPlugin.java:60)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
!SUBENTRY 1 org.eclipse.ui 4 4 2018-09-07 15:40:48.024
!MESSAGE UI thread waiting on a job or lock.
!STACK 0
java.lang.IllegalStateException: Call stack for thread main
at java.lang.Object.wait(Native Method)
at org.eclipse.core.internal.jobs.Semaphore.acquire(Semaphore.java:39)
at org.eclipse.core.internal.jobs.OrderedLock.doAcquire(OrderedLock.java:170)
at org.eclipse.core.internal.jobs.OrderedLock.acquire(OrderedLock.java:106)
at org.eclipse.core.internal.jobs.OrderedLock.acquire(OrderedLock.java:82)
at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:122)
at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:2237)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2284)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)- This topic was modified 6 years, 3 months ago by Petre. Reason: More details
Brian FernandesModeratorPetre,
In a couple of weeks, we are releasing a major update to Webclipse, basing it on our CodeMix 2.0 platform. This update will completely change the way in which TypeScript and Angular are supported, improving it significantly over the support we have now.
While I would normally dive deep into your problem, given that this code will not be alive for much longer, I would recommend instead that you wait for the update, or install CodeMix into your current environment right now (CodeMix should disable the errant TypeScript validators you are having a problem with). For a more “clean” experience, you could uninstall Webclipse before installing CodeMix, or install CodeMix into a fresh Eclipse installation – though this should not be required.
For more on the upcoming changes, please see:
https://www.genuitec.com/products/webclipse/webclipse-licensing-model-changes/
and
https://www.genuitec.com/products/codemix/codemix-journey/Please let me know if you have any additional questions.
-
AuthorPosts