bndtools / bnd

Bnd/Bndtools. Tooling to build OSGi bundles including Eclipse, Maven, and Gradle plugins.
https://bndtools.org
Other
528 stars 306 forks source link

Eclipse 2024-06 Error when installing with bndtools m2e #6199

Closed chrisrueger closed 3 weeks ago

chrisrueger commented 1 month ago

A colleague had accidentally installed bndtools snapshot like this with all 3 items checked.

image

Then he ran into errors like this:

image

org.eclipse.core.runtime.CoreException: Plug-in bndtools.core was unable to load class bndtools.views.repository.RepositoriesView.

He got it resolved by uninstalling

basically just installing it like this and everything worked fine again:

image

The question is: Can we do something about it? I have not used Bndtools m2e or Bndtools PDE and don't know if it relevant. But maybe this error could be confusing to new users and could be prevented? e.g. could we just uncheck Bndtools m2e and Bndtools m2e or Bndtools PDE by default?

The eclipse log showed it might be related to m2e: here is an excerpt from the log.

!ENTRY org.eclipse.core.jobs 4 2 2024-08-02 08:03:43.158
!MESSAGE An internal error occurred during: "Building".
!STACK 0
java.lang.NoClassDefFoundError: bndtools/central/Central
    at org.bndtools.builder.BndtoolsDynamicReferenceProvider.getDependentProjects(BndtoolsDynamicReferenceProvider.java:27)
    at org.eclipse.core.internal.resources.ProjectDescription.computeDynamicReferencesForProject(ProjectDescription.java:949)
    at org.eclipse.core.internal.resources.ProjectDescription.getAllBuildConfigReferences(ProjectDescription.java:265)
    at org.eclipse.core.internal.resources.Project.internalGetReferencedBuildConfigs(Project.java:830)
    at org.eclipse.core.internal.resources.Workspace.computeActiveBuildConfigGraph(Workspace.java:847)
    at org.eclipse.core.internal.resources.Workspace.getBuildGraph(Workspace.java:1704)
    at org.eclipse.core.internal.resources.Workspace.getBuildOrder(Workspace.java:1685)
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:207)
    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:300)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.lang.ClassNotFoundException: An error occurred while automatically activating bundle bndtools.core (548).
    ... 10 more

!ENTRY bndtools.m2e 4 0 2024-08-02 08:04:03.367
!MESSAGE bundle bndtools.m2e:7.1.0.202407250806-SNAPSHOT (551)[bndtools.m2e.BndConfigurator$Injector(136)] : unbind method [unsetDecorator] not found; Component will fail

!ENTRY bndtools.m2e 4 0 2024-08-02 08:04:03.373
!MESSAGE bundle bndtools.m2e:7.1.0.202407250806-SNAPSHOT (551)[bndtools.m2e.BndConfigurator$Injector(136)] : unbind method [unsetDecorator] not found

!ENTRY ch.qos.logback.classic 1 0 2024-08-02 08:04:19.200
!MESSAGE Logback config file: /Users/xxxxxxxxx/eclipse-workspace/.metadata/.plugins/org.eclipse.m2e.logback/logback.2.6.1.20240411-1122.xml

!ENTRY org.eclipse.osgi 4 0 2024-08-02 08:04:21.944
!MESSAGE An error occurred while automatically activating bundle bndtools.core (548).
!STACK 0
org.osgi.framework.BundleException: Exception in bndtools.Plugin.start() of bundle bndtools.core.
    at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:854)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:775)
    at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1057)
    at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:387)
    at org.eclipse.osgi.container.Module.doStart(Module.java:639)
    at org.eclipse.osgi.container.Module.start(Module.java:498)
    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:348)
    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:499)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:434)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:174)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
    at bndtools.m2e.MavenWorkspaceRepository.lambda$activate$2(MavenWorkspaceRepository.java:153)
    at org.osgi.util.promise.DeferredPromiseImpl$ThenAccept.accept(DeferredPromiseImpl.java:433)
    at org.osgi.util.promise.DeferredPromiseImpl.result(DeferredPromiseImpl.java:151)
    at org.osgi.util.promise.DeferredPromiseImpl$ThenAccept.run(DeferredPromiseImpl.java:426)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    at java.base/java.lang.Thread.run(Thread.java:1570)
Caused by: java.lang.NullPointerException: toQuery
    at java.base/java.util.Objects.requireNonNull(Objects.java:246)
    at org.eclipse.jface.resource.JFaceResources.getResources(JFaceResources.java:214)
    at org.eclipse.jface.resource.JFaceResources.getImageRegistry(JFaceResources.java:414)
    at org.eclipse.ui.internal.progress.ProgressManager.setUpImage(ProgressManager.java:561)
    at org.eclipse.ui.internal.progress.ProgressManager.setUpImages(ProgressManager.java:403)
    at org.eclipse.ui.internal.progress.ProgressManager.<init>(ProgressManager.java:350)
    at org.eclipse.ui.internal.progress.ProgressManager.getInstance(ProgressManager.java:186)
    at org.eclipse.ui.internal.Workbench$25.compute(Workbench.java:2167)
    at org.eclipse.e4.core.internal.contexts.ValueComputation.get(ValueComputation.java:70)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.internalGet(EclipseContext.java:265)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.get(EclipseContext.java:230)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.get(EclipseContext.java:586)
    at org.eclipse.ui.internal.Workbench.getProgressService(Workbench.java:3119)
    at org.eclipse.search2.internal.ui.InternalSearchUI.<init>(InternalSearchUI.java:134)
    at org.eclipse.search2.internal.ui.InternalSearchUI.getInstance(InternalSearchUI.java:142)
    at org.eclipse.search.ui.NewSearchUI.addQueryListener(NewSearchUI.java:203)
    at bndtools.javasearch.JavaSearchStartupParticipant.start(JavaSearchStartupParticipant.java:27)
    at bndtools.Plugin.runStartupParticipants(Plugin.java:113)
    at bndtools.Plugin.start(Plugin.java:84)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:833)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:1)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:571)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:825)
    ... 22 more
Root exception:
java.lang.NullPointerException: toQuery
    at java.base/java.util.Objects.requireNonNull(Objects.java:246)
    at org.eclipse.jface.resource.JFaceResources.getResources(JFaceResources.java:214)
    at org.eclipse.jface.resource.JFaceResources.getImageRegistry(JFaceResources.java:414)
    at org.eclipse.ui.internal.progress.ProgressManager.setUpImage(ProgressManager.java:561)
    at org.eclipse.ui.internal.progress.ProgressManager.setUpImages(ProgressManager.java:403)
    at org.eclipse.ui.internal.progress.ProgressManager.<init>(ProgressManager.java:350)
    at org.eclipse.ui.internal.progress.ProgressManager.getInstance(ProgressManager.java:186)
    at org.eclipse.ui.internal.Workbench$25.compute(Workbench.java:2167)
    at org.eclipse.e4.core.internal.contexts.ValueComputation.get(ValueComputation.java:70)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.internalGet(EclipseContext.java:265)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.get(EclipseContext.java:230)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.get(EclipseContext.java:586)
    at org.eclipse.ui.internal.Workbench.getProgressService(Workbench.java:3119)
    at org.eclipse.search2.internal.ui.InternalSearchUI.<init>(InternalSearchUI.java:134)
    at org.eclipse.search2.internal.ui.InternalSearchUI.getInstance(InternalSearchUI.java:142)
    at org.eclipse.search.ui.NewSearchUI.addQueryListener(NewSearchUI.java:203)
    at bndtools.javasearch.JavaSearchStartupParticipant.start(JavaSearchStartupParticipant.java:27)
    at bndtools.Plugin.runStartupParticipants(Plugin.java:113)
    at bndtools.Plugin.start(Plugin.java:84)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:833)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:1)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:571)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:825)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:775)
    at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1057)
    at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:387)
    at org.eclipse.osgi.container.Module.doStart(Module.java:639)
    at org.eclipse.osgi.container.Module.start(Module.java:498)
    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:348)
    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:499)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:434)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:174)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
    at bndtools.m2e.MavenWorkspaceRepository.lambda$activate$2(MavenWorkspaceRepository.java:153)
    at org.osgi.util.promise.DeferredPromiseImpl$ThenAccept.accept(DeferredPromiseImpl.java:433)
    at org.osgi.util.promise.DeferredPromiseImpl.result(DeferredPromiseImpl.java:151)
    at org.osgi.util.promise.DeferredPromiseImpl$ThenAccept.run(DeferredPromiseImpl.java:426)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    at java.base/java.lang.Thread.run(Thread.java:1570)

!ENTRY org.eclipse.ui 4 4 2024-08-02 08:04:24.488
!MESSAGE Unable to create part
!STACK 1
org.eclipse.ui.PartInitException: Plug-in bndtools.core was unable to load class bndtools.explorer.BndtoolsExplorer.
    at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:107)
    at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPart(CompatibilityPart.java:304)
    at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:342)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
    at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:977)
    at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:939)
    at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:139)
    at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:386)
    at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:312)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:203)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:90)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:59)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:42)
    at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:132)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:991)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:658)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$1.run(PartRenderingEngine.java:543)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:527)
    at org.eclipse.e4.ui.workbench.renderers.swt.ElementReferenceRenderer.createWidget(ElementReferenceRenderer.java:73)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:991)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:658)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
    at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1389)
    at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.postProcess(LazyStackRenderer.java:114)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:676)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
    at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:72)
    at org.eclipse.e4.ui.workbench.renderers.swt.SashRenderer.processContents(SashRenderer.java:147)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:672)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
    at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:72)
    at org.eclipse.e4.ui.workbench.renderers.swt.SashRenderer.processContents(SashRenderer.java:147)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:672)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
    at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:72)
    at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveRenderer.processContents(PerspectiveRenderer.java:48)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:672)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
    at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.showTab(PerspectiveStackRenderer.java:79)
    at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.postProcess(LazyStackRenderer.java:114)
    at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.postProcess(PerspectiveStackRenderer.java:61)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:676)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
    at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:72)
    at org.eclipse.e4.ui.workbench.renderers.swt.SashRenderer.processContents(SashRenderer.java:147)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:672)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
    at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:72)
    at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.processContents(WBWRenderer.java:660)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:672)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1079)
    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:152)
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1481)
Caused by: org.eclipse.core.runtime.CoreException: Plug-in bndtools.core was unable to load class bndtools.explorer.BndtoolsExplorer.
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.throwException(RegistryStrategyOSGI.java:242)
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:225)
    at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:987)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:275)
    at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:65)
    at org.eclipse.ui.internal.registry.ViewDescriptor.createView(ViewDescriptor.java:61)
    at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:104)
    ... 96 more
Caused by: java.lang.ClassNotFoundException: An error occurred while automatically activating bundle bndtools.core (548).
    at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:134)
    at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:620)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:348)
    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:499)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:434)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:174)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
    at bndtools.m2e.MavenWorkspaceRepository.lambda$activate$2(MavenWorkspaceRepository.java:153)
    at org.osgi.util.promise.DeferredPromiseImpl$ThenAccept.accept(DeferredPromiseImpl.java:433)
    at org.osgi.util.promise.DeferredPromiseImpl.result(DeferredPromiseImpl.java:151)
    at org.osgi.util.promise.DeferredPromiseImpl$ThenAccept.run(DeferredPromiseImpl.java:426)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    at java.base/java.lang.Thread.run(Thread.java:1570)
Caused by: org.osgi.framework.BundleException: Exception in bndtools.Plugin.start() of bundle bndtools.core.
    at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:854)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:775)
    at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1057)
    at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:387)
    at org.eclipse.osgi.container.Module.doStart(Module.java:639)
    at org.eclipse.osgi.container.Module.start(Module.java:498)
    at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:528)
    at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:122)
    ... 15 more
Caused by: java.lang.NullPointerException: toQuery
    at java.base/java.util.Objects.requireNonNull(Objects.java:246)
    at org.eclipse.jface.resource.JFaceResources.getResources(JFaceResources.java:214)
    at org.eclipse.jface.resource.JFaceResources.getImageRegistry(JFaceResources.java:414)
    at org.eclipse.ui.internal.progress.ProgressManager.setUpImage(ProgressManager.java:561)
    at org.eclipse.ui.internal.progress.ProgressManager.setUpImages(ProgressManager.java:403)
    at org.eclipse.ui.internal.progress.ProgressManager.<init>(ProgressManager.java:350)
    at org.eclipse.ui.internal.progress.ProgressManager.getInstance(ProgressManager.java:186)
    at org.eclipse.ui.internal.Workbench$25.compute(Workbench.java:2167)
    at org.eclipse.e4.core.internal.contexts.ValueComputation.get(ValueComputation.java:70)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.internalGet(EclipseContext.java:265)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.get(EclipseContext.java:230)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.get(EclipseContext.java:586)
    at org.eclipse.ui.internal.Workbench.getProgressService(Workbench.java:3119)
    at org.eclipse.search2.internal.ui.InternalSearchUI.<init>(InternalSearchUI.java:134)
    at org.eclipse.search2.internal.ui.InternalSearchUI.getInstance(InternalSearchUI.java:142)
    at org.eclipse.search.ui.NewSearchUI.addQueryListener(NewSearchUI.java:203)
    at bndtools.javasearch.JavaSearchStartupParticipant.start(JavaSearchStartupParticipant.java:27)
    at bndtools.Plugin.runStartupParticipants(Plugin.java:113)
    at bndtools.Plugin.start(Plugin.java:84)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:833)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:1)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:571)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:825)
    ... 22 more
!SUBENTRY 1 org.eclipse.ui 4 1 2024-08-02 08:04:24.489
!MESSAGE Plug-in bndtools.core was unable to load class bndtools.explorer.BndtoolsExplorer.
!STACK 1
org.eclipse.core.runtime.CoreException: Plug-in bndtools.core was unable to load class bndtools.explorer.BndtoolsExplorer.
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.throwException(RegistryStrategyOSGI.java:242)
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:225)
    at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:987)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:275)
    at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:65)
    at org.eclipse.ui.internal.registry.ViewDescriptor.createView(ViewDescriptor.java:61)
    at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:104)
    at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPart(CompatibilityPart.java:304)
    at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:342)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
    at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:977)
    at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:939)
    at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:139)
    at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:386)
    at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:312)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:203)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:90)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:59)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:42)
    at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:132)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:991)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:658)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$1.run(PartRenderingEngine.java:543)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:527)
    at org.eclipse.e4.ui.workbench.renderers.swt.ElementReferenceRenderer.createWidget(ElementReferenceRenderer.java:73)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:991)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:658)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
    at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1389)
    at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.postProcess(LazyStackRenderer.java:114)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:676)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
    at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:72)
    at org.eclipse.e4.ui.workbench.renderers.swt.SashRenderer.processContents(SashRenderer.java:147)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:672)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
    at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:72)
    at org.eclipse.e4.ui.workbench.renderers.swt.SashRenderer.processContents(SashRenderer.java:147)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:672)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
    at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:72)
    at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveRenderer.processContents(PerspectiveRenderer.java:48)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:672)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
    at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.showTab(PerspectiveStackRenderer.java:79)
    at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.postProcess(LazyStackRenderer.java:114)
    at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.postProcess(PerspectiveStackRenderer.java:61)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:676)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
    at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:72)
    at org.eclipse.e4.ui.workbench.renderers.swt.SashRenderer.processContents(SashRenderer.java:147)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:672)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
    at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:72)
    at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.processContents(WBWRenderer.java:660)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:672)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1079)
    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:152)
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1481)
Caused by: java.lang.ClassNotFoundException: An error occurred while automatically activating bundle bndtools.core (548).
    at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:134)
    at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:620)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:348)
    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:499)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:434)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:174)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
    at bndtools.m2e.MavenWorkspaceRepository.lambda$activate$2(MavenWorkspaceRepository.java:153)
    at org.osgi.util.promise.DeferredPromiseImpl$ThenAccept.accept(DeferredPromiseImpl.java:433)
    at org.osgi.util.promise.DeferredPromiseImpl.result(DeferredPromiseImpl.java:151)
    at org.osgi.util.promise.DeferredPromiseImpl$ThenAccept.run(DeferredPromiseImpl.java:426)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    at java.base/java.lang.Thread.run(Thread.java:1570)
Caused by: org.osgi.framework.BundleException: Exception in bndtools.Plugin.start() of bundle bndtools.core.
    at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:854)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:775)
    at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1057)
    at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:387)
    at org.eclipse.osgi.container.Module.doStart(Module.java:639)
    at org.eclipse.osgi.container.Module.start(Module.java:498)
    at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:528)
    at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:122)
    ... 15 more
Caused by: java.lang.NullPointerException: toQuery
    at java.base/java.util.Objects.requireNonNull(Objects.java:246)
    at org.eclipse.jface.resource.JFaceResources.getResources(JFaceResources.java:214)
    at org.eclipse.jface.resource.JFaceResources.getImageRegistry(JFaceResources.java:414)
    at org.eclipse.ui.internal.progress.ProgressManager.setUpImage(ProgressManager.java:561)
    at org.eclipse.ui.internal.progress.ProgressManager.setUpImages(ProgressManager.java:403)
    at org.eclipse.ui.internal.progress.ProgressManager.<init>(ProgressManager.java:350)
    at org.eclipse.ui.internal.progress.ProgressManager.getInstance(ProgressManager.java:186)
    at org.eclipse.ui.internal.Workbench$25.compute(Workbench.java:2167)
    at org.eclipse.e4.core.internal.contexts.ValueComputation.get(ValueComputation.java:70)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.internalGet(EclipseContext.java:265)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.get(EclipseContext.java:230)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.get(EclipseContext.java:586)
    at org.eclipse.ui.internal.Workbench.getProgressService(Workbench.java:3119)
    at org.eclipse.search2.internal.ui.InternalSearchUI.<init>(InternalSearchUI.java:134)
    at org.eclipse.search2.internal.ui.InternalSearchUI.getInstance(InternalSearchUI.java:142)
    at org.eclipse.search.ui.NewSearchUI.addQueryListener(NewSearchUI.java:203)
    at bndtools.javasearch.JavaSearchStartupParticipant.start(JavaSearchStartupParticipant.java:27)
    at bndtools.Plugin.runStartupParticipants(Plugin.java:113)
    at bndtools.Plugin.start(Plugin.java:84)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:833)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:1)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:571)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:825)
    ... 22 more
!SUBENTRY 2 org.eclipse.equinox.registry 4 1 2024-08-02 08:04:24.490
!MESSAGE Plug-in bndtools.core was unable to load class bndtools.explorer.BndtoolsExplorer.
!STACK 0
java.lang.ClassNotFoundException: An error occurred while automatically activating bundle bndtools.core (548).
    at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:134)
    at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:620)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:348)
    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:499)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:434)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:174)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
    at bndtools.m2e.MavenWorkspaceRepository.lambda$activate$2(MavenWorkspaceRepository.java:153)
    at org.osgi.util.promise.DeferredPromiseImpl$ThenAccept.accept(DeferredPromiseImpl.java:433)
    at org.osgi.util.promise.DeferredPromiseImpl.result(DeferredPromiseImpl.java:151)
    at org.osgi.util.promise.DeferredPromiseImpl$ThenAccept.run(DeferredPromiseImpl.java:426)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    at java.base/java.lang.Thread.run(Thread.java:1570)
Caused by: org.osgi.framework.BundleException: Exception in bndtools.Plugin.start() of bundle bndtools.core.
    at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:854)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:775)
    at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1057)
    at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:387)
    at org.eclipse.osgi.container.Module.doStart(Module.java:639)
    at org.eclipse.osgi.container.Module.start(Module.java:498)
    at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:528)
    at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:122)
    ... 15 more
Caused by: java.lang.NullPointerException: toQuery
    at java.base/java.util.Objects.requireNonNull(Objects.java:246)
    at org.eclipse.jface.resource.JFaceResources.getResources(JFaceResources.java:214)
    at org.eclipse.jface.resource.JFaceResources.getImageRegistry(JFaceResources.java:414)
    at org.eclipse.ui.internal.progress.ProgressManager.setUpImage(ProgressManager.java:561)
    at org.eclipse.ui.internal.progress.ProgressManager.setUpImages(ProgressManager.java:403)
    at org.eclipse.ui.internal.progress.ProgressManager.<init>(ProgressManager.java:350)
    at org.eclipse.ui.internal.progress.ProgressManager.getInstance(ProgressManager.java:186)
    at org.eclipse.ui.internal.Workbench$25.compute(Workbench.java:2167)
    at org.eclipse.e4.core.internal.contexts.ValueComputation.get(ValueComputation.java:70)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.internalGet(EclipseContext.java:265)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.get(EclipseContext.java:230)
    at org.eclipse.e4.core.internal.contexts.EclipseContext.get(EclipseContext.java:586)
    at org.eclipse.ui.internal.Workbench.getProgressService(Workbench.java:3119)
    at org.eclipse.search2.internal.ui.InternalSearchUI.<init>(InternalSearchUI.java:134)
    at org.eclipse.search2.internal.ui.InternalSearchUI.getInstance(InternalSearchUI.java:142)
    at org.eclipse.search.ui.NewSearchUI.addQueryListener(NewSearchUI.java:203)
    at bndtools.javasearch.JavaSearchStartupParticipant.start(JavaSearchStartupParticipant.java:27)
    at bndtools.Plugin.runStartupParticipants(Plugin.java:113)
    at bndtools.Plugin.start(Plugin.java:84)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:833)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:1)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:571)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:825)
    ... 22 more
chrisrueger commented 3 weeks ago

I tried the recent 7.1. snapshot with https://github.com/bndtools/bnd/pull/6219 and I have the feeling this fixed the problem. I tried:

image

And I have not seen the reported problem.

I think we can keep this closed and resolved - unless somebody else discovers any issues.

Thanks for the ideas during our call @pkriens and @juergen-albert

chrisrueger commented 3 weeks ago

Reopening because I found some strange behavior when building locally after my previous fix in https://github.com/bndtools/bnd/pull/6219

It looks like this code is also triggered by testcases where Display.getCurrent() is null

./gradlew build -x test

...

Caused by: java.lang.NullPointerException: Cannot invoke "org.eclipse.swt.widgets.Display.syncExec(java.lang.Runnable)" because the return value of "org.eclipse.swt.widgets.Display.getCurrent()" is null
        at bndtools.javasearch.JavaSearchStartupParticipant.start(JavaSearchStartupParticipant.java:29)
        at bndtools.Plugin.runStartupParticipants(Plugin.java:113)
        at bndtools.Plugin.start(Plugin.java:84)
        at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:818)
        at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:1)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:810)
        ... 26 more
TEST bndtools.core.test.editors.quickfix.BuildpathQuickFixProcessor_WithEmptyBuildpath_Test <<< ERROR: Failed to execute runnable (org.osgi.framework.BundleException: Error loading bundle activator. bndtools.core_7.1.0.202408191915-SNAPSHOT [10])

I try to provide another PR which checks for null.

FULL Error:

./gradlew build -x test

> Task :org.bndtools.p2:p2
BUILD SUCCESSFUL

BUILD SUCCESSFUL
Total time: 0 seconds
Generating metadata for ..
Generation completed with success [0 seconds].
TEST bndtools.core.test.editors.quickfix.BaseModelTest <<< ERROR: Failed to execute runnable (org.osgi.framework.BundleException: Error loading bundle activator. bndtools.core_7.1.0.202408191915-SNAPSHOT [10])
org.eclipse.swt.SWTException: Failed to execute runnable (org.osgi.framework.BundleException: Error loading bundle activator. bndtools.core_7.1.0.202408191915-SNAPSHOT [10])
        at org.eclipse.swt.SWT.error(SWT.java:4918)
        at org.eclipse.swt.SWT.error(SWT.java:4833)
        at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:209)
        at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133)
        at org.eclipse.swt.widgets.Display.syncExec(Display.java:5193)
        at bndtools.core.test.utils.WorkbenchExtension.beforeAll(WorkbenchExtension.java:59)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeBeforeAllCallbacks$12(ClassBasedTestDescriptor.java:395)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllCallbacks(ClassBasedTestDescriptor.java:395)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:211)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:84)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:148)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
        at aQute.tester.bundle.engine.BundleDescriptor.executeChild(BundleDescriptor.java:49)
        at aQute.tester.bundle.engine.BundleEngine.lambda$executeBundle$7(BundleEngine.java:120)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
        at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
        at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
        at aQute.tester.bundle.engine.BundleEngine.executeBundle(BundleEngine.java:120)
        at aQute.tester.bundle.engine.BundleEngine.lambda$execute$5(BundleEngine.java:100)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
        at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
        at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
        at aQute.tester.bundle.engine.BundleEngine.execute(BundleEngine.java:100)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
        at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
        at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)
        at aQute.tester.junit.platform.Activator.test(Activator.java:458)
        at aQute.tester.junit.platform.Activator.automatic(Activator.java:361)
        at aQute.tester.junit.platform.Activator.run(Activator.java:224)
        at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: org.osgi.framework.BundleException: Error loading bundle activator. bndtools.core_7.1.0.202408191915-SNAPSHOT [10]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:761)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1032)
        at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:371)
        at org.eclipse.osgi.container.Module.doStart(Module.java:605)
        at org.eclipse.osgi.container.Module.start(Module.java:468)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:445)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:464)
        at bndtools.core.test.utils.WorkbenchExtension.lambda$beforeAll$2(WorkbenchExtension.java:59)
        at aQute.bnd.exceptions.RunnableWithException.lambda$orElseThrow$0(RunnableWithException.java:13)
        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4318)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3941)
        at bndtools.core.test.launch.NullContextPresentationEngine.run(NullContextPresentationEngine.java:102)
        at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
        at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:643)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:550)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:171)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
        at bndtools.core.test.launch.HeadlessLauncher.lambda$launch$0(HeadlessLauncher.java:35)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
        at aQute.launcher.Launcher.handleMainCallable(Launcher.java:464)
        at aQute.launcher.Launcher.launch(Launcher.java:437)
        at aQute.launcher.Launcher.run(Launcher.java:185)
        at aQute.launcher.Launcher.main(Launcher.java:161)
        at aQute.launcher.pre.EmbeddedLauncher.executeWithRunPath(EmbeddedLauncher.java:169)
        at aQute.launcher.pre.EmbeddedLauncher.findAndExecute(EmbeddedLauncher.java:134)
        at aQute.launcher.pre.EmbeddedLauncher.main(EmbeddedLauncher.java:51)
Caused by: java.lang.ClassNotFoundException: An error occurred while automatically activating bundle bndtools.core (10).
        at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:126)
        at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:570)
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:335)
        at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:397)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass0(BundleLoader.java:500)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:416)
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:168)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:622)
        at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:196)
        at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:920)
        at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:246)
        at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:63)
        at org.eclipse.ui.internal.WorkbenchPlugin.lambda$0(WorkbenchPlugin.java:287)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:57)
        at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:285)
        at org.eclipse.ui.internal.EarlyStartupRunnable.run(EarlyStartupRunnable.java:55)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
        at org.eclipse.ui.internal.Workbench$39.run(Workbench.java:2656)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: org.osgi.framework.BundleException: Exception in bndtools.Plugin.start() of bundle bndtools.core.
        at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:839)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:767)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1032)
        at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:371)
        at org.eclipse.osgi.container.Module.doStart(Module.java:605)
        at org.eclipse.osgi.container.Module.start(Module.java:468)
        at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:513)
        at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:117)
        ... 19 more
Caused by: java.lang.NullPointerException: Cannot invoke "org.eclipse.swt.widgets.Display.syncExec(java.lang.Runnable)" because the return value of "org.eclipse.swt.widgets.Display.getCurrent()" is null
        at bndtools.javasearch.JavaSearchStartupParticipant.start(JavaSearchStartupParticipant.java:29)
        at bndtools.Plugin.runStartupParticipants(Plugin.java:113)
        at bndtools.Plugin.start(Plugin.java:84)
        at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:818)
        at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:1)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:810)
        ... 26 more
TEST bndtools.core.test.editors.quickfix.BuildpathQuickFixProcessor_WithEmptyBuildpath_Test <<< ERROR: Failed to execute runnable (org.osgi.framework.BundleException: Error loading bundle activator. bndtools.core_7.1.0.202408191915-SNAPSHOT [10])
org.eclipse.swt.SWTException: Failed to execute runnable (org.osgi.framework.BundleException: Error loading bundle activator. bndtools.core_7.1.0.202408191915-SNAPSHOT [10])
        at org.eclipse.swt.SWT.error(SWT.java:4918)
        at org.eclipse.swt.SWT.error(SWT.java:4833)
        at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:209)
        at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133)
        at org.eclipse.swt.widgets.Display.syncExec(Display.java:5193)
        at bndtools.core.test.utils.WorkbenchExtension.beforeAll(WorkbenchExtension.java:59)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeBeforeAllCallbacks$12(ClassBasedTestDescriptor.java:395)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllCallbacks(ClassBasedTestDescriptor.java:395)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:211)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:84)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:148)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
        at aQute.tester.bundle.engine.BundleDescriptor.executeChild(BundleDescriptor.java:49)
        at aQute.tester.bundle.engine.BundleEngine.lambda$executeBundle$7(BundleEngine.java:120)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
        at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
        at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
        at aQute.tester.bundle.engine.BundleEngine.executeBundle(BundleEngine.java:120)
        at aQute.tester.bundle.engine.BundleEngine.lambda$execute$5(BundleEngine.java:100)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
        at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
        at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
        at aQute.tester.bundle.engine.BundleEngine.execute(BundleEngine.java:100)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
        at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
        at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)
        at aQute.tester.junit.platform.Activator.test(Activator.java:458)
        at aQute.tester.junit.platform.Activator.automatic(Activator.java:361)
        at aQute.tester.junit.platform.Activator.run(Activator.java:224)
        at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: org.osgi.framework.BundleException: Error loading bundle activator. bndtools.core_7.1.0.202408191915-SNAPSHOT [10]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:761)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1032)
        at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:371)
        at org.eclipse.osgi.container.Module.doStart(Module.java:605)
        at org.eclipse.osgi.container.Module.start(Module.java:468)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:445)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:464)
        at bndtools.core.test.utils.WorkbenchExtension.lambda$beforeAll$2(WorkbenchExtension.java:59)
        at aQute.bnd.exceptions.RunnableWithException.lambda$orElseThrow$0(RunnableWithException.java:13)
        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4318)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3941)
        at bndtools.core.test.launch.NullContextPresentationEngine.run(NullContextPresentationEngine.java:102)
        at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
        at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:643)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:550)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:171)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
        at bndtools.core.test.launch.HeadlessLauncher.lambda$launch$0(HeadlessLauncher.java:35)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
        at aQute.launcher.Launcher.handleMainCallable(Launcher.java:464)
        at aQute.launcher.Launcher.launch(Launcher.java:437)
        at aQute.launcher.Launcher.run(Launcher.java:185)
        at aQute.launcher.Launcher.main(Launcher.java:161)
        at aQute.launcher.pre.EmbeddedLauncher.executeWithRunPath(EmbeddedLauncher.java:169)
        at aQute.launcher.pre.EmbeddedLauncher.findAndExecute(EmbeddedLauncher.java:134)
        at aQute.launcher.pre.EmbeddedLauncher.main(EmbeddedLauncher.java:51)
Caused by: java.lang.ClassNotFoundException: An error occurred while automatically activating bundle bndtools.core (10).
        at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:126)
        at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:570)
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:335)
        at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:397)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass0(BundleLoader.java:500)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:416)
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:168)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:622)
        at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:196)
        at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:920)
        at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:246)
        at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:63)
        at org.eclipse.ui.internal.WorkbenchPlugin.lambda$0(WorkbenchPlugin.java:287)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:57)
        at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:285)
        at org.eclipse.ui.internal.EarlyStartupRunnable.run(EarlyStartupRunnable.java:55)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
        at org.eclipse.ui.internal.Workbench$39.run(Workbench.java:2656)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: org.osgi.framework.BundleException: Exception in bndtools.Plugin.start() of bundle bndtools.core.
        at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:839)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:767)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1032)
        at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:371)
        at org.eclipse.osgi.container.Module.doStart(Module.java:605)
        at org.eclipse.osgi.container.Module.start(Module.java:468)
        at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:513)
        at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:117)
        ... 19 more
Caused by: java.lang.NullPointerException: Cannot invoke "org.eclipse.swt.widgets.Display.syncExec(java.lang.Runnable)" because the return value of "org.eclipse.swt.widgets.Display.getCurrent()" is null
        at bndtools.javasearch.JavaSearchStartupParticipant.start(JavaSearchStartupParticipant.java:29)
        at bndtools.Plugin.runStartupParticipants(Plugin.java:113)
        at bndtools.Plugin.start(Plugin.java:84)
        at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:818)
        at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:1)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:810)
        ... 26 more
TEST bndtools.core.test.editors.quickfix.BuildpathQuickFixProcessor_WithJupiterOnBuildpath_Test <<< ERROR: Failed to execute runnable (org.osgi.framework.BundleException: Error loading bundle activator. bndtools.core_7.1.0.202408191915-SNAPSHOT [10])
org.eclipse.swt.SWTException: Failed to execute runnable (org.osgi.framework.BundleException: Error loading bundle activator. bndtools.core_7.1.0.202408191915-SNAPSHOT [10])
        at org.eclipse.swt.SWT.error(SWT.java:4918)
        at org.eclipse.swt.SWT.error(SWT.java:4833)
        at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:209)
        at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133)
        at org.eclipse.swt.widgets.Display.syncExec(Display.java:5193)
        at bndtools.core.test.utils.WorkbenchExtension.beforeAll(WorkbenchExtension.java:59)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeBeforeAllCallbacks$12(ClassBasedTestDescriptor.java:395)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllCallbacks(ClassBasedTestDescriptor.java:395)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:211)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:84)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:148)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
        at aQute.tester.bundle.engine.BundleDescriptor.executeChild(BundleDescriptor.java:49)
        at aQute.tester.bundle.engine.BundleEngine.lambda$executeBundle$7(BundleEngine.java:120)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
        at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
        at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
        at aQute.tester.bundle.engine.BundleEngine.executeBundle(BundleEngine.java:120)
        at aQute.tester.bundle.engine.BundleEngine.lambda$execute$5(BundleEngine.java:100)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
        at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
        at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
        at aQute.tester.bundle.engine.BundleEngine.execute(BundleEngine.java:100)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
        at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
        at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)
        at aQute.tester.junit.platform.Activator.test(Activator.java:458)
        at aQute.tester.junit.platform.Activator.automatic(Activator.java:361)
        at aQute.tester.junit.platform.Activator.run(Activator.java:224)
        at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: org.osgi.framework.BundleException: Error loading bundle activator. bndtools.core_7.1.0.202408191915-SNAPSHOT [10]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:761)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1032)
        at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:371)
        at org.eclipse.osgi.container.Module.doStart(Module.java:605)
        at org.eclipse.osgi.container.Module.start(Module.java:468)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:445)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:464)
        at bndtools.core.test.utils.WorkbenchExtension.lambda$beforeAll$2(WorkbenchExtension.java:59)
        at aQute.bnd.exceptions.RunnableWithException.lambda$orElseThrow$0(RunnableWithException.java:13)
        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4318)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3941)
        at bndtools.core.test.launch.NullContextPresentationEngine.run(NullContextPresentationEngine.java:102)
        at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
        at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:643)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:550)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:171)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
        at bndtools.core.test.launch.HeadlessLauncher.lambda$launch$0(HeadlessLauncher.java:35)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
        at aQute.launcher.Launcher.handleMainCallable(Launcher.java:464)
        at aQute.launcher.Launcher.launch(Launcher.java:437)
        at aQute.launcher.Launcher.run(Launcher.java:185)
        at aQute.launcher.Launcher.main(Launcher.java:161)
        at aQute.launcher.pre.EmbeddedLauncher.executeWithRunPath(EmbeddedLauncher.java:169)
        at aQute.launcher.pre.EmbeddedLauncher.findAndExecute(EmbeddedLauncher.java:134)
        at aQute.launcher.pre.EmbeddedLauncher.main(EmbeddedLauncher.java:51)
Caused by: java.lang.ClassNotFoundException: An error occurred while automatically activating bundle bndtools.core (10).
        at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:126)
        at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:570)
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:335)
        at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:397)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass0(BundleLoader.java:500)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:416)
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:168)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:622)
        at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:196)
        at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:920)
        at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:246)
        at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:63)
        at org.eclipse.ui.internal.WorkbenchPlugin.lambda$0(WorkbenchPlugin.java:287)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:57)
        at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:285)
        at org.eclipse.ui.internal.EarlyStartupRunnable.run(EarlyStartupRunnable.java:55)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
        at org.eclipse.ui.internal.Workbench$39.run(Workbench.java:2656)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: org.osgi.framework.BundleException: Exception in bndtools.Plugin.start() of bundle bndtools.core.
        at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:839)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:767)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1032)
        at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:371)
        at org.eclipse.osgi.container.Module.doStart(Module.java:605)
        at org.eclipse.osgi.container.Module.start(Module.java:468)
        at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:513)
        at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:117)
        ... 19 more
Caused by: java.lang.NullPointerException: Cannot invoke "org.eclipse.swt.widgets.Display.syncExec(java.lang.Runnable)" because the return value of "org.eclipse.swt.widgets.Display.getCurrent()" is null
        at bndtools.javasearch.JavaSearchStartupParticipant.start(JavaSearchStartupParticipant.java:29)
        at bndtools.Plugin.runStartupParticipants(Plugin.java:113)
        at bndtools.Plugin.start(Plugin.java:84)
        at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:818)
        at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:1)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:810)
        ... 26 more
TEST bndtools.core.test.editors.quickfix.BuildpathQuickFixProcessor_WithSimpleOnBuildpath_Test <<< ERROR: Failed to execute runnable (org.osgi.framework.BundleException: Error loading bundle activator. bndtools.core_7.1.0.202408191915-SNAPSHOT [10])
org.eclipse.swt.SWTException: Failed to execute runnable (org.osgi.framework.BundleException: Error loading bundle activator. bndtools.core_7.1.0.202408191915-SNAPSHOT [10])
        at org.eclipse.swt.SWT.error(SWT.java:4918)
        at org.eclipse.swt.SWT.error(SWT.java:4833)
        at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:209)
        at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133)
        at org.eclipse.swt.widgets.Display.syncExec(Display.java:5193)
        at bndtools.core.test.utils.WorkbenchExtension.beforeAll(WorkbenchExtension.java:59)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeBeforeAllCallbacks$12(ClassBasedTestDescriptor.java:395)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllCallbacks(ClassBasedTestDescriptor.java:395)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:211)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:84)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:148)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
        at aQute.tester.bundle.engine.BundleDescriptor.executeChild(BundleDescriptor.java:49)
        at aQute.tester.bundle.engine.BundleEngine.lambda$executeBundle$7(BundleEngine.java:120)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
        at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
        at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
        at aQute.tester.bundle.engine.BundleEngine.executeBundle(BundleEngine.java:120)
        at aQute.tester.bundle.engine.BundleEngine.lambda$execute$5(BundleEngine.java:100)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
        at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
        at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
        at aQute.tester.bundle.engine.BundleEngine.execute(BundleEngine.java:100)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
        at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
        at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)
        at aQute.tester.junit.platform.Activator.test(Activator.java:458)
        at aQute.tester.junit.platform.Activator.automatic(Activator.java:361)
        at aQute.tester.junit.platform.Activator.run(Activator.java:224)
        at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: org.osgi.framework.BundleException: Error loading bundle activator. bndtools.core_7.1.0.202408191915-SNAPSHOT [10]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:761)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1032)
        at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:371)
        at org.eclipse.osgi.container.Module.doStart(Module.java:605)
        at org.eclipse.osgi.container.Module.start(Module.java:468)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:445)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:464)
        at bndtools.core.test.utils.WorkbenchExtension.lambda$beforeAll$2(WorkbenchExtension.java:59)
        at aQute.bnd.exceptions.RunnableWithException.lambda$orElseThrow$0(RunnableWithException.java:13)
        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4318)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3941)
        at bndtools.core.test.launch.NullContextPresentationEngine.run(NullContextPresentationEngine.java:102)
        at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
        at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:643)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:550)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:171)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
        at bndtools.core.test.launch.HeadlessLauncher.lambda$launch$0(HeadlessLauncher.java:35)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
        at aQute.launcher.Launcher.handleMainCallable(Launcher.java:464)
        at aQute.launcher.Launcher.launch(Launcher.java:437)
        at aQute.launcher.Launcher.run(Launcher.java:185)
        at aQute.launcher.Launcher.main(Launcher.java:161)
        at aQute.launcher.pre.EmbeddedLauncher.executeWithRunPath(EmbeddedLauncher.java:169)
        at aQute.launcher.pre.EmbeddedLauncher.findAndExecute(EmbeddedLauncher.java:134)
        at aQute.launcher.pre.EmbeddedLauncher.main(EmbeddedLauncher.java:51)
Caused by: java.lang.ClassNotFoundException: An error occurred while automatically activating bundle bndtools.core (10).
        at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:126)
        at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:570)
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:335)
        at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:397)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass0(BundleLoader.java:500)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:416)
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:168)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:622)
        at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:196)
        at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:920)
        at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:246)
        at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:63)
        at org.eclipse.ui.internal.WorkbenchPlugin.lambda$0(WorkbenchPlugin.java:287)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:57)
        at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:285)
        at org.eclipse.ui.internal.EarlyStartupRunnable.run(EarlyStartupRunnable.java:55)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
        at org.eclipse.ui.internal.Workbench$39.run(Workbench.java:2656)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: org.osgi.framework.BundleException: Exception in bndtools.Plugin.start() of bundle bndtools.core.
        at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:839)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:767)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1032)
        at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:371)
        at org.eclipse.osgi.container.Module.doStart(Module.java:605)
        at org.eclipse.osgi.container.Module.start(Module.java:468)
        at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:513)
        at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:117)
        ... 19 more
Caused by: java.lang.NullPointerException: Cannot invoke "org.eclipse.swt.widgets.Display.syncExec(java.lang.Runnable)" because the return value of "org.eclipse.swt.widgets.Display.getCurrent()" is null
        at bndtools.javasearch.JavaSearchStartupParticipant.start(JavaSearchStartupParticipant.java:29)
        at bndtools.Plugin.runStartupParticipants(Plugin.java:113)
        at bndtools.Plugin.start(Plugin.java:84)
        at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:818)
        at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:1)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:810)
        ... 26 more

> Task :bndtools.core.test:testOSGi FAILED
error  : Exit code remote process 4: /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java -cp /var/folders/40/n9c0zc157g1d4_q7yvq6f1w40000gn/T/pre2890811606216430135.jar -Dlauncher.properties=myrepo/bnd/bndtools.core.test/generated/tmp/testOSGi/generated/launch5124021865712948852.properties -XstartOnFirstThread -Djava.awt.headless=true -Dorg.eclipse.swt.internal.carbon.smallFonts -ea -Dlauncher.runpath=/home/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar,/home/.m2/repository/org/slf4j/slf4j-nop/1.7.25/slf4j-nop-1.7.25.jar,myrepo/bnd/cnf/cache/stable/Eclipse-4.25/org.eclipse.osgi-3.18.100.v20220817-1601.jar,myrepo/bnd/biz.aQute.launcher/generated/biz.aQute.launcher.jar aQute.launcher.pre.EmbeddedLauncher

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':bndtools.core.test:testOSGi'.
> myrepo/bnd/bndtools.core.test/test.cocoa.macosx.aarch64.bndrun test failure

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/8.1.1/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 36s
148 actionable tasks: 96 executed, 52 up-to-date
chrisrueger commented 1 week ago

I discovered there is still an NPE in the JavaSearchStartupParticipant.stop() method. Maybe it was noticed easy, because it happens when shutting down Eclipse. Not sure if it has a negative effect, but maybe something does not get cleaned up properly.

Submitting a fix in a minute similar to #6223

java.lang.NullPointerException: Cannot invoke "org.eclipse.ui.progress.IProgressService.registerIconForFamily(org.eclipse.jface.resource.ImageDescriptor, Object)" because the return value of "org.eclipse.ui.IWorkbench.getProgressService()" is null
    at org.eclipse.search2.internal.ui.InternalSearchUI.<init>(InternalSearchUI.java:134)
    at org.eclipse.search2.internal.ui.InternalSearchUI.getInstance(InternalSearchUI.java:142)
    at org.eclipse.search.ui.NewSearchUI.removeQueryListener(NewSearchUI.java:214)
    at bndtools.javasearch.JavaSearchStartupParticipant.stop(JavaSearchStartupParticipant.java:55)
    at bndtools.Plugin.stopStartupParticipants(Plugin.java:124)
    at bndtools.Plugin.stop(Plugin.java:139)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:875)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:571)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.stop(BundleContextImpl.java:867)
    at org.eclipse.osgi.internal.framework.EquinoxBundle.stopWorker0(EquinoxBundle.java:1046)
    at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.stopWorker(EquinoxBundle.java:376)
    at org.eclipse.osgi.container.Module.doStop(Module.java:660)
    at org.eclipse.osgi.container.Module.stop(Module.java:521)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.decStartLevel(ModuleContainer.java:1893)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1768)
    at org.eclipse.osgi.container.SystemModule.stopWorker(SystemModule.java:275)
    at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule.stopWorker(EquinoxBundle.java:208)
    at org.eclipse.osgi.container.Module.doStop(Module.java:660)
    at org.eclipse.osgi.container.Module.stop(Module.java:521)
    at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:207)
    at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:226)
    at java.base/java.lang.Thread.run(Thread.java:1583)