Opening SonarQube Prefs Page in Eclipse freezes UI indefinitely

Please provide

  • Operating system: Windows 10
  • IDE name and version: Eclipse 2025-09
  • SonarQube for Eclipse plugin version: 11.18.0.83162
  • Programming language you’re coding in: Java
  • Is connected mode used:
    • SonarQube Cloud, SonarQube Server, or SonarQube Community Build? (if one of the latter two, which version?): no

And a thorough description of the problem / question:

Trying to open the SonarQube Prefereces page complete freezes the Eclipse UI requiring to kill the eclipse process.

The main thread is blocked by:


"main" #1 [13468] prio=6 os_prio=0 cpu=1906375.00ms elapsed=141868.87s tid=0x0000025433e1f890 nid=13468 waiting on condition  [0x000000e86d0fd000]
   java.lang.Thread.State: WAITING (parking)
        at jdk.internal.misc.Unsafe.park(java.base@21.0.8/Native Method)
        - parking to wait for  <0x0000000791d6e480> (a java.util.concurrent.CompletableFuture$Signaller)
        at java.util.concurrent.locks.LockSupport.park(java.base@21.0.8/LockSupport.java:221)
        at java.util.concurrent.CompletableFuture$Signaller.block(java.base@21.0.8/CompletableFuture.java:1864)
        at java.util.concurrent.ForkJoinPool.unmanagedBlock(java.base@21.0.8/ForkJoinPool.java:3780)
        at java.util.concurrent.ForkJoinPool.managedBlock(java.base@21.0.8/ForkJoinPool.java:3725)
        at java.util.concurrent.CompletableFuture.waitingGet(java.base@21.0.8/CompletableFuture.java:1898)
        at java.util.concurrent.CompletableFuture.join(java.base@21.0.8/CompletableFuture.java:2117)
        at org.sonarlint.eclipse.ui.internal.preferences.SonarLintPreferencePage$NodeJsField.provideDefaultValue(SonarLintPreferencePage.java:152)
        at org.sonarlint.eclipse.ui.internal.preferences.AbstractPathField.doFillIntoGrid(AbstractPathField.java:46)
        at org.eclipse.jface.preference.FieldEditor.createControl(FieldEditor.java:248)
        at org.eclipse.jface.preference.StringButtonFieldEditor.<init>(StringButtonFieldEditor.java:66)
        at org.sonarlint.eclipse.ui.internal.preferences.AbstractPathField.<init>(AbstractPathField.java:38)
        at org.sonarlint.eclipse.ui.internal.preferences.SonarLintPreferencePage$NodeJsField.<init>(SonarLintPreferencePage.java:142)
        at org.sonarlint.eclipse.ui.internal.preferences.SonarLintPreferencePage.createFieldEditors(SonarLintPreferencePage.java:86)
        at org.eclipse.jface.preference.FieldEditorPreferencePage.createContents(FieldEditorPreferencePage.java:227)
        at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:244)
        at org.eclipse.jface.preference.PreferenceDialog.createPageControl(PreferenceDialog.java:1427)
        at org.eclipse.jface.preference.PreferenceDialog$8.run(PreferenceDialog.java:1190)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
        at org.eclipse.ui.internal.JFaceUtil$$Lambda/0x00000007c033ec70.run(Unknown Source)
        at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:167)
        at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1182)
        at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:618)
        at org.eclipse.jface.preference.PreferenceDialog$5.lambda$0(PreferenceDialog.java:659)
        at org.eclipse.jface.preference.PreferenceDialog$5$$Lambda/0x00000007c23d8228.run(Unknown Source)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
        at org.eclipse.jface.preference.PreferenceDialog$5.selectionChanged(PreferenceDialog.java:656)
        at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:819)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
        at org.eclipse.ui.internal.JFaceUtil$$Lambda/0x00000007c033ec70.run(Unknown Source)
        at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:167)
        at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:816)
        at org.eclipse.jface.viewers.ColumnViewer.firePostSelectionChanged(ColumnViewer.java:1051)
        at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:1184)
        at org.eclipse.jface.viewers.StructuredViewer$$Lambda/0x00000007c09d9c90.accept(Unknown Source)
        at org.eclipse.swt.events.SelectionListener$1.widgetSelected(SelectionListener.java:83)
        at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:283)
        at org.eclipse.jface.util.OpenStrategy$1.lambda$1(OpenStrategy.java:437)
        at org.eclipse.jface.util.OpenStrategy$1$$Lambda/0x00000007c115d5b0.run(Unknown Source)
        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
        - locked <0x0000000791d2e5e0> (a org.eclipse.swt.widgets.RunnableLock)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4135)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3751)
        at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
        at org.eclipse.jface.window.Window.open(Window.java:799)
        at org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.java:64)
        at org.eclipse.jface.action.Action.runWithEvent(Action.java:474)
        at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:581)
        at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:415)
        at org.eclipse.jface.action.ActionContributionItem$$Lambda/0x00000007c07ffa48.handleEvent(Unknown Source)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)
        at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1214)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4160)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3748)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042)
        at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
        at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:678)
        at org.eclipse.ui.internal.Workbench$$Lambda/0x00000007c041c9f8.run(Unknown Source)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:583)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:185)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:219)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:149)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:115)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:467)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:298)
        at java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.base@21.0.8/DirectMethodHandle$Holder)
        at java.lang.invoke.LambdaForm$MH/0x00000007c018d800.invoke(java.base@21.0.8/LambdaForm$MH)
        at java.lang.invoke.LambdaForm$MH/0x00000007c018dc00.invokeExact_MT(java.base@21.0.8/LambdaForm$MH)
        at jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(java.base@21.0.8/DirectMethodHandleAccessor.java:155)
        at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(java.base@21.0.8/DirectMethodHandleAccessor.java:103)
        at java.lang.reflect.Method.invoke(java.base@21.0.8/Method.java:580)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:627)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1431)

   Locked ownable synchronizers:
        - None

Please change SonarLintPreferencePage$NodeJsField.provideDefaultValue to not wait indefinitely but cancel or fail after some time.

threaddump.txt (171.5 KB)

Hey @sebx,

could you please provide the Full Logs from IDE Startup until opening the preferences (and the Freeze)?

This will be very helpful as the Node.ja Information is gathered before the preferences are opened and this seems to be a deeper issue.

Cheers :clinking_glasses: