eclipse-egit / egit

EGit, the git integration of Eclipse IDE

Home Page:https://www.eclipse.org/egit/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Both Synchronizing and populating “Synchronize view” of “Team Sync Perspective” often hangs

ideas-into-software opened this issue · comments

  • Both Synchronizing and populating Synchronize view of Team Sync Perspective often hangs – regardless if going through Populate or Synchronize;
  • In Progress view, either Minimizing synchronization model, Updating Synchronize view for Git without local changes. or Synchronizing Git can be seen;
  • In all cases when this problem occurs, it causes Eclipse to stop responding and, when this happens, killing of Eclipse process is required in order to continue;
  • Regardless of version of Eclipse and plugins used, frequency of occurrence of this problem completely disrupts normal work flow;
  • Please see attached screenshots, screencasts, jstack traces and Eclipse IDE installation details: Configuration for more information.

Eclipse IDE:

  • Build id: 4.30.0.20231201-1200
  • Build id: 4.29.0.20230907-1200

EGit:

  • 6.8.0.202311291450-r
  • 6.7.0.202309050840-r

OS:

  • Ubuntu 24.04 LTS
  • Ubuntu 22.04.3 LTS

Hardware: Dell Precision 7560, Intel® Xeon(R) W-11855M CPU, 64 GB RAM, M.2 SSD disks

Team-Sync-Perspective_issues_jstack.zip
Team-Sync-Perspective_issues_screencasts.zip
Team-Sync-Perspective_issues_screenshots.zip
eclipse-20230907-1200_bndtools-7.1.0.DEV_configuration.txt
eclipse-20231201-1200_bndtools-7.0.0.REL_configuration.txt

I see this in the stack traces:

"Worker-14: Synchronizing Git" #72 prio=5 os_prio=0 cpu=1064.35ms elapsed=359.28s tid=0x00007fee5c000ff0 nid=0x35498 waiting on condition  [0x00007feebfbfd000]
   java.lang.Thread.State: WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@17.0.6/Native Method)
	- parking to wait for  <0x000000074c213dc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(java.base@17.0.6/LockSupport.java:341)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(java.base@17.0.6/AbstractQueuedSynchronizer.java:506)
	at java.util.concurrent.ForkJoinPool.unmanagedBlock(java.base@17.0.6/ForkJoinPool.java:3463)
	at java.util.concurrent.ForkJoinPool.managedBlock(java.base@17.0.6/ForkJoinPool.java:3434)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@17.0.6/AbstractQueuedSynchronizer.java:1623)
	at org.eclipse.emf.compare.ide.ui.internal.logical.resolver.ResourceComputationScheduler.waitForEndOfTasks(ResourceComputationScheduler.java:579)
	at org.eclipse.emf.compare.ide.ui.internal.logical.resolver.ResourceComputationScheduler.runAll(ResourceComputationScheduler.java:439)
	at org.eclipse.emf.compare.ide.ui.internal.logical.resolver.ResourceDependencyLocalResolver.updateDependencies(ResourceDependencyLocalResolver.java:251)
	at org.eclipse.emf.compare.ide.ui.internal.logical.resolver.LocalModelResolution$1.call(LocalModelResolution.java:73)
	at org.eclipse.emf.compare.ide.ui.internal.logical.resolver.LocalModelResolution$1.call(LocalModelResolution.java:1)
	at org.eclipse.emf.compare.ide.ui.internal.logical.resolver.ResourceComputationScheduler.call(ResourceComputationScheduler.java:330)
	- locked <0x000000074c213a30> (a org.eclipse.emf.compare.ide.ui.internal.logical.resolver.ResourceComputationScheduler)
	at org.eclipse.emf.compare.ide.ui.internal.logical.resolver.AbstractResolution.call(AbstractResolution.java:106)
	at org.eclipse.emf.compare.ide.ui.internal.logical.resolver.LocalModelResolution.run(LocalModelResolution.java:71)
	at org.eclipse.emf.compare.ide.ui.internal.logical.resolver.ThreadedModelResolver.resolveLocalModel(ThreadedModelResolver.java:131)
	at org.eclipse.emf.compare.ide.ui.internal.logical.EMFModelProvider.computeLogicalModel(EMFModelProvider.java:357)
	at org.eclipse.emf.compare.ide.ui.internal.logical.EMFModelProvider.getOrComputeLogicalModel(EMFModelProvider.java:282)
	- locked <0x000000074c27e178> (a com.google.common.cache.LocalCache$LocalLoadingCache)
	at org.eclipse.emf.compare.ide.ui.internal.logical.EMFModelProvider.computeLogicalModels(EMFModelProvider.java:447)
	at org.eclipse.emf.compare.ide.ui.internal.logical.EMFModelProvider.getMappings(EMFModelProvider.java:201)
	at org.eclipse.emf.compare.ide.ui.internal.logical.EMFModelProvider.getMappings(EMFModelProvider.java:147)
	at org.eclipse.core.resources.mapping.ModelProvider.getMappings(ModelProvider.java:141)
	at org.eclipse.emf.compare.ide.ui.internal.logical.EMFModelProvider.getMappings(EMFModelProvider.java:223)
	at org.eclipse.core.resources.mapping.ModelProvider.getMappings(ModelProvider.java:167)
	at org.eclipse.team.core.mapping.provider.SynchronizationScopeManager.getMappings(SynchronizationScopeManager.java:118)
	at org.eclipse.team.core.mapping.provider.SynchronizationScopeManager.getMappingsFromProviders(SynchronizationScopeManager.java:104)
	at org.eclipse.team.core.mapping.provider.SynchronizationScopeManager.addResourcesToScope(SynchronizationScopeManager.java:309)
	at org.eclipse.team.core.mapping.provider.SynchronizationScopeManager.performExpandScope(SynchronizationScopeManager.java:283)
	at org.eclipse.team.core.mapping.provider.SynchronizationScopeManager.internalRefreshScope(SynchronizationScopeManager.java:243)
	at org.eclipse.team.core.mapping.provider.SynchronizationScopeManager.lambda$1(SynchronizationScopeManager.java:187)
	at org.eclipse.team.core.mapping.provider.SynchronizationScopeManager$$Lambda$2370/0x0000000801e60580.run(Unknown Source)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2453)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2478)
	at org.eclipse.team.core.mapping.provider.SynchronizationScopeManager.refresh(SynchronizationScopeManager.java:187)
	at org.eclipse.team.core.subscribers.SubscriberScopeManager.access$1(SubscriberScopeManager.java:1)
	at org.eclipse.team.core.subscribers.SubscriberScopeManager.lambda$1(SubscriberScopeManager.java:104)
	at org.eclipse.team.core.subscribers.SubscriberScopeManager$$Lambda$2369/0x0000000801e60340.run(Unknown Source)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2453)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2478)
	at org.eclipse.team.core.subscribers.SubscriberScopeManager.refresh(SubscriberScopeManager.java:103)
	at org.eclipse.team.core.mapping.provider.SynchronizationContext.refresh(SynchronizationContext.java:103)
	at org.eclipse.team.internal.ui.synchronize.RefreshModelParticipantJob.doRefresh(RefreshModelParticipantJob.java:81)
	at org.eclipse.team.internal.ui.synchronize.RefreshParticipantJob.run(RefreshParticipantJob.java:336)
	at org.eclipse.team.internal.ui.synchronize.RefreshModelParticipantJob.run(RefreshModelParticipantJob.java:136)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

Try to disable "model participation in sync" preference:
image