-
Notifications
You must be signed in to change notification settings - Fork 202
Description
We use Tycho 4.0.10 to build and everything is good. After upgrading https://tycho.eclipseprojects.io/doc/main/tycho-extras/tycho-document-bundle-plugin/build-help-index-mojo.html#buildToolsRepository from 2024-06 to 2024-12 I see a new exception during help index build:
java.lang.NullPointerException: Cannot invoke "String.hashCode()" because "os" is null
at org.eclipse.core.internal.net.ProxyManager. (ProxyManager.java:69)
at org.eclipse.core.internal.net.ProxyManager.getProxyManager (ProxyManager.java:86)
at org.eclipse.core.internal.net.Activator.start (Activator.java:176)
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.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:516)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass (BundleLoader.java:434)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass (ModuleClassLoader.java:174)
at java.lang.ClassLoader.loadClass (ClassLoader.java:526)
at java.lang.Class.forName0 (Native Method)
at java.lang.Class.forName (Class.java:421)
at java.lang.Class.forName (Class.java:412)
at org.eclipse.help.internal.base.util.ProxyUtil.isAuthConnSupported (ProxyUtil.java:42)
at org.eclipse.help.internal.base.util.ProxyUtil.getProxy (ProxyUtil.java:52)
at org.eclipse.help.internal.base.util.ProxyUtil.getConnection (ProxyUtil.java:111)
at org.eclipse.help.internal.base.util.ProxyUtil.getStream (ProxyUtil.java:127)
at org.eclipse.help.internal.search.HTMLSearchParticipant.isXHTML (HTMLSearchParticipant.java:112)
at org.eclipse.help.internal.search.HTMLSearchParticipant.addDocument (HTMLSearchParticipant.java:51)
at org.eclipse.help.internal.search.SearchIndex.addDocument (SearchIndex.java:264)
at org.eclipse.help.search.HelpIndexBuilder.createIndex (HelpIndexBuilder.java:570)
at org.eclipse.help.search.HelpIndexBuilder.processLocaleDir (HelpIndexBuilder.java:470)
at org.eclipse.help.search.HelpIndexBuilder.execute (HelpIndexBuilder.java:308)
at org.eclipse.tycho.extras.docbundle.runner.BuildHelpIndexRunner.call (BuildHelpIndexRunner.java:41)
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
at java.lang.reflect.Method.invoke (Method.java:580)
at org.eclipse.tycho.osgi.framework.EclipseFramework.execute (EclipseFramework.java:141)
at org.eclipse.tycho.extras.docbundle.BuildHelpIndexMojo.execute (BuildHelpIndexMojo.java:73)
That variable is taken from the osgi.os system property: https://github.com/eclipse-platform/eclipse.platform/blob/9e4e1ad5fb99632526881b8b0b1f710b43c6da70/team/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyManager.java#L68
To my understanding the mojo just starts the OSGi based application. How can one of the osgi system properties not be set in such a case? I'm completely confused where to start looking, as I thought these properties are always and automatically set during OSGi startup?