Skip to content

Long delay on Java: Initialize Workspace #754

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
builder173 opened this issue Mar 19, 2025 · 3 comments
Open

Long delay on Java: Initialize Workspace #754

builder173 opened this issue Mar 19, 2025 · 3 comments

Comments

@builder173
Copy link

When I first open a wpilib project, VSCode will take as long as 10 minutes with the step displayed in status bar as:
Java: Initializing Workspace - XX%

I am working on an M3 MacBook Air. Everything is functional once this step completes.

In the OUTPUT pane I see:
Activating task providers java
Error: there is no registered task type 'Java'. Did you miss installing an extension that provides a corresponding task provider?

If I click on that Initializing Workspace message I can open the log shown below. In this case it took 7 minutes to initialize. Honestly I'm not even sure what tasks are being performed at this point so not sure how to troubleshoot. Any guidance would be appreciated.

=======Java log (truncated) ==========
!SESSION 2025-03-18 19:46:25.624 -----------------------------------------------
eclipse.buildId=unknown
java.version=17.0.12
java.vendor=Eclipse Adoptium
BootLoader constants: OS=macosx, ARCH=aarch64, WS=cocoa, NL=en_US
Framework arguments: --pipe=/private/var/folders/sr/kwx1m1k13tz6lp39gzzf1g040000gn/T/lsp-76a806f35ae61dd44270b999b96cc9ed.sock
Command-line arguments: -data /Users/matt/wpilib/2025/vscode/code-portable-data/user-data/User/workspaceStorage/616aff0a078b317aebb5573e7f0fc08d/redhat.java/jdt_ws --pipe=/private/var/folders/sr/kwx1m1k13tz6lp39gzzf1g040000gn/T/lsp-76a806f35ae61dd44270b999b96cc9ed.sock

This is a continuation of log file /Users/matt/wpilib/2025/vscode/code-portable-data/user-data/User/workspaceStorage/616aff0a078b317aebb5573e7f0fc08d/redhat.java/jdt_ws/.metadata/.bak_1.log
Created Time: 2025-03-18 19:50:57.725

!ENTRY org.eclipse.osgi 2 0 2025-03-18 19:50:57.725
!MESSAGE While loading class "org.eclipse.buildship.core.BuildConfiguration", thread "Thread[Worker-3: Initialize Workspace,5,main]" timed out waiting (30018ms) for thread "Thread[Worker-1: Initialize After Load,5,main]" to finish starting bundle "org.eclipse.buildship.core_3.1.10.v20241104-0945-s [22]". To avoid deadlock, thread "Thread[Worker-3: Initialize Workspace,5,main]" is proceeding but "org.eclipse.buildship.core.BuildConfiguration" may not be fully initialized.
!STACK 0
org.osgi.framework.BundleException: Unable to acquire the state change lock for the module: osgi.identity; type="osgi.bundle"; version:Version="3.1.10.v20241104-0945-s"; osgi.identity="org.eclipse.buildship.core"; singleton:="true" [id=22] STARTED [STARTED]
at org.eclipse.osgi.container.Module.lockStateChange(Module.java:373)
at org.eclipse.osgi.container.Module.start(Module.java:447)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:528)
at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:122)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:620)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:347)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:414)
at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:41)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass0(BundleLoader.java:516)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:434)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:193)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
at org.eclipse.jdt.ls.core.internal.managers.GradleProjectImporter.getBuildConfiguration(GradleProjectImporter.java:532)
at org.eclipse.jdt.ls.core.internal.managers.GradleUtils.getGradleVersion(GradleUtils.java:148)
at org.eclipse.jdt.ls.core.internal.managers.GradleProjectImporter.inferGradleJavaHome(GradleProjectImporter.java:342)
at org.eclipse.jdt.ls.core.internal.managers.GradleProjectImporter.importToWorkspace(GradleProjectImporter.java:236)
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.importProjects(ProjectsManager.java:164)
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.initializeProjects(ProjectsManager.java:126)
at org.eclipse.jdt.ls.core.internal.handlers.InitHandler$1.runInWorkspace(InitHandler.java:277)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.util.concurrent.TimeoutException: Timeout after waiting 30 seconds to acquire the lock.
at org.eclipse.osgi.container.Module.lockStateChange(Module.java:368)
... 20 more
Caused by: org.eclipse.osgi.framework.util.ThreadInfoReport: Thread dump

ThreadId: 1 ThreadName: main ThreadState: WAITING
Blocked On: java.lang.Object@64309f6f LockOwnerId: -1 LockOwnerName: null
Synchronizers Locked: none
Monitors Locked: none
Stack Trace:
java.base@17.0.12/java.lang.Object.wait(Native Method)
java.base@17.0.12/java.lang.Object.wait(Object.java:338)
org.eclipse.jdt.ls.core.internal.LanguageServerApplication.start(LanguageServerApplication.java:63)
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208)
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143)
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109)
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439)
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271)
java.base@17.0.12/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
java.base@17.0.12/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
java.base@17.0.12/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.base@17.0.12/java.lang.reflect.Method.invoke(Method.java:569)
app//org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668)
app//org.eclipse.equinox.launcher.Main.basicRun(Main.java:605)
app//org.eclipse.equinox.launcher.Main.run(Main.java:1481)
app//org.eclipse.equinox.launcher.Main.main(Main.java:1454)

ThreadId: 2 ThreadName: Reference Handler ThreadState: RUNNABLE
Blocked On: none
Synchronizers Locked: none
Monitors Locked: none
Stack Trace:
java.base@17.0.12/java.lang.ref.Reference.waitForReferencePendingList(Native Method)
java.base@17.0.12/java.lang.ref.Reference.processPendingReferences(Reference.java:253)
java.base@17.0.12/java.lang.ref.Reference$ReferenceHandler.run(Reference.java:215)

ThreadId: 3 ThreadName: Finalizer ThreadState: WAITING
Blocked On: java.lang.ref.ReferenceQueue$Lock@38967cd LockOwnerId: -1 LockOwnerName: null
Synchronizers Locked: none
Monitors Locked: none
Stack Trace:
java.base@17.0.12/java.lang.Object.wait(Native Method)
java.base@17.0.12/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
java.base@17.0.12/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176)
java.base@17.0.12/java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:172)

ThreadId: 4 ThreadName: Signal Dispatcher ThreadState: RUNNABLE
Blocked On: none
Synchronizers Locked: none
Monitors Locked: none
Stack Trace:

ThreadId: 12 ThreadName: Common-Cleaner ThreadState: TIMED_WAITING
Blocked On: java.lang.ref.ReferenceQueue$Lock@3e9047dd LockOwnerId: -1 LockOwnerName: null
Synchronizers Locked: none
Monitors Locked: none
Stack Trace:
java.base@17.0.12/java.lang.Object.wait(Native Method)
java.base@17.0.12/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
java.base@17.0.12/jdk.internal.ref.CleanerImpl.run(CleanerImpl.java:140)
java.base@17.0.12/java.lang.Thread.run(Thread.java:840)
java.base@17.0.12/jdk.internal.misc.InnocuousThread.run(InnocuousThread.java:162)

ThreadId: 13 ThreadName: Notification Thread ThreadState: RUNNABLE
Blocked On: none
Synchronizers Locked: none
Monitors Locked: none
Stack Trace:

ThreadId: 15 ThreadName: Active Thread: Equinox Container: 7ed64f32-34f2-47fa-a5fd-75307352abdd ThreadState: TIMED_WAITING
Blocked On: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@68ab0e91 LockOwnerId: -1 LockOwnerName: null
Synchronizers Locked: none
Monitors Locked: none
Stack Trace:
java.base@17.0.12/jdk.internal.misc.Unsafe.park(Native Method)
java.base@17.0.12/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
java.base@17.0.12/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1674)
java.base@17.0.12/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182)
java.base@17.0.12/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899)
java.base@17.0.12/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1062)
java.base@17.0.12/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1122)
java.base@17.0.12/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
java.base@17.0.12/java.lang.Thread.run(Thread.java:840)

ThreadId: 17 ThreadName: Refresh Thread: Equinox Container: 7ed64f32-34f2-47fa-a5fd-75307352abdd ThreadState: WAITING
Blocked On: org.eclipse.osgi.framework.eventmgr.EventManager$EventThread@8003f0c LockOwnerId: -1 LockOwnerName: null
Synchronizers Locked: none
Monitors Locked: none
Stack Trace:
java.base@17.0.12/java.lang.Object.wait(Native Method)
java.base@17.0.12/java.lang.Object.wait(Object.java:338)
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:396)
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)

ThreadId: 18 ThreadName: Framework Event Dispatcher: Equinox Container: 7ed64f32-34f2-47fa-a5fd-75307352abdd ThreadState: WAITING
Blocked On: org.eclipse.osgi.framework.eventmgr.EventManager$EventThread@40ff96ce LockOwnerId: -1 LockOwnerName: null
Synchronizers Locked: none
Monitors Locked: none
Stack Trace:
java.base@17.0.12/java.lang.Object.wait(Native Method)
java.base@17.0.12/java.lang.Object.wait(Object.java:338)
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:396)
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)

ThreadId: 19 ThreadName: Start Level: Equinox Container: 7ed64f32-34f2-47fa-a5fd-75307352abdd ThreadState: WAITING
Blocked On: org.eclipse.osgi.framework.eventmgr.EventManager$EventThread@2157984 LockOwnerId: -1 LockOwnerName: null
Synchronizers Locked: none
Monitors Locked: none
Stack Trace:
java.base@17.0.12/java.lang.Object.wait(Native Method)
java.base@17.0.12/java.lang.Object.wait(Object.java:338)
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:396)
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)

ThreadId: 21 ThreadName: Bundle File Closer ThreadState: WAITING
Blocked On: org.eclipse.osgi.framework.eventmgr.EventManager$EventThread@7c6d8fa3 LockOwnerId: -1 LockOwnerName: null
Synchronizers Locked: none
Monitors Locked: none
Stack Trace:
java.base@17.0.12/java.lang.Object.wait(Native Method)
java.base@17.0.12/java.lang.Object.wait(Object.java:338)
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:396)
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)

ThreadId: 22 ThreadName: SCR Component Actor ThreadState: WAITING
Blocked On: java.util.LinkedList@4c02c939 LockOwnerId: -1 LockOwnerName: null
Synchronizers Locked: none
Monitors Locked: none
Stack Trace:
java.base@17.0.12/java.lang.Object.wait(Native Method)
java.base@17.0.12/java.lang.Object.wait(Object.java:338)
org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:83)
java.base@17.0.12/java.lang.Thread.run(Thread.java:840)

ThreadId: 24 ThreadName: Worker-JM ThreadState: WAITING
Blocked On: java.util.ArrayList@457367ea LockOwnerId: -1 LockOwnerName: null
Synchronizers Locked: none
Monitors Locked: none
Stack Trace:
java.base@17.0.12/java.lang.Object.wait(Native Method)
org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:61)

ThreadId: 25 ThreadName: Worker-0 ThreadState: TIMED_WAITING
Blocked On: org.eclipse.core.internal.jobs.WorkerPool@7951131a LockOwnerId: -1 LockOwnerName: null
Synchronizers Locked: none
Monitors Locked: none
Stack Trace:
java.base@17.0.12/java.lang.Object.wait(Native Method)
org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:200)
org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:242)
org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)

ThreadId: 26 ThreadName: Worker-1: Initialize After Load ThreadState: WAITING
Blocked On: com.google.common.util.concurrent.SettableFuture@69864878 LockOwnerId: -1 LockOwnerName: null
Synchronizers Locked:
java.util.concurrent.locks.ReentrantLock$NonfairSync@7906d06c
Monitors Locked: none
Stack Trace:
java.base@17.0.12/jdk.internal.misc.Unsafe.park(Native Method)
java.base@17.0.12/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:564)
com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:111)
com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:247)
com.google.common.cache.LocalCache$LoadingValueReference.waitForValue(LocalCache.java:3626)
com.google.common.cache.LocalCache$Segment.waitForLoadingValue(LocalCache.java:2209)
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2196)
com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2079)
com.google.common.cache.LocalCache.get(LocalCache.java:4017)
com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4040)
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4989)
com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4996)
org.eclipse.buildship.core.internal.preferences.DefaultModelPersistence.loadModel(DefaultModelPersistence.java:70)
org.eclipse.buildship.core.internal.CorePlugin.scheduleSynchronizationForAbsentModels(CorePlugin.java:223)
org.eclipse.buildship.core.internal.CorePlugin.start(CorePlugin.java:120)
org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:822)
org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:1)
java.base@17.0.12/java.security.AccessController.executePrivileged(AccessController.java:807)
java.base@17.0.12/java.security.AccessController.doPrivileged(AccessController.java:569)
org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:814)
org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:764)
org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1057)
org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:387)
org.eclipse.osgi.container.Module.doStart(Module.java:639)
org.eclipse.osgi.container.Module.start(Module.java:498)
org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:528)
org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:122)
org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:620)
org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:347)
org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:414)
org.eclipse.osgi.internal.loader.BundleLoader.findClass0(BundleLoader.java:520)
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:434)
org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:193)
java.base@17.0.12/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:643)
org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:221)
org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(Ex

@ThadHouse
Copy link
Member

Are you on a school network? It’s possible that is trying to reach out to the internet, and just taking forever. If you disconnect from the internet does it still happen?

@builder173
Copy link
Author

This is on a fast home network. Is an internet connection required? I have noticed it doesn't seem to complete/progress if I'm connected to the robot network so I did think there was some internet connectivity requirement.

@builder173
Copy link
Author

builder173 commented Mar 19, 2025

To answer your other question, it also seems to happen if I'm disconnected from any network. Just tested by turning off wifi and opening VSCode.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants