Community
Participate
Working Groups
Build Identifier: Eclipse Headless build 3.6 buckminster-headless perform #site.p2 returns a NullPointer Exception if the included feature product does reference icons: <launcher> <linux icon="/elexis/rsc/elexis48.xpm"/> <macosx icon="/elexis/elexis-mac.icns"/> <solaris/> <win useIco="true"> <ico path="/elexis/rsc/elexis.ico"/> <bmp/> </win> </launcher> ------ STACK TRACE (on included icons above in product) INFO: [start site.core.elexis:eclipse.feature$2.1.0#site.p2] org.eclipse.core.runtime.CoreException: at org.eclipse.buckminster.pde.internal.actor.P2SiteGenerator.run(P2SiteGenerator.java:340) at org.eclipse.buckminster.pde.internal.actor.P2SiteGenerator.internalPerform(P2SiteGenerator.java:438) at org.eclipse.buckminster.core.actor.AbstractActor.perform(AbstractActor.java:186) at org.eclipse.buckminster.core.internal.actor.PerformManager$DirectActionInvocation.execute(PerformManager.java:143) at org.eclipse.buckminster.core.internal.actor.PerformManager.internalPerform(PerformManager.java:454) at org.eclipse.buckminster.core.internal.actor.PerformManager.perform(PerformManager.java:293) at org.eclipse.buckminster.core.internal.actor.PerformManager.perform(PerformManager.java:305) at org.eclipse.buckminster.core.commands.Perform.internalRun(Perform.java:108) at org.eclipse.buckminster.core.commands.WorkspaceCommand.run(WorkspaceCommand.java:91) at org.eclipse.buckminster.cmdline.AbstractCommand.basicRun(AbstractCommand.java:194) at org.eclipse.buckminster.cmdline.Headless.run(Headless.java:317) at org.eclipse.buckminster.cmdline.Headless.run(Headless.java:136) at org.eclipse.buckminster.cmdline.Headless.start(Headless.java:156) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574) at org.eclipse.equinox.launcher.Main.run(Main.java:1407) at org.eclipse.equinox.launcher.Main.main(Main.java:1383) Caused by: java.lang.NullPointerException at org.eclipse.buckminster.pde.tasks.EquinoxExecutableAction.peruseIcons(EquinoxExecutableAction.java:55) at org.eclipse.buckminster.pde.tasks.EquinoxExecutableAction.fullBrandExecutables(EquinoxExecutableAction.java:87) at org.eclipse.equinox.p2.publisher.eclipse.EquinoxExecutableAction.brandExecutables(EquinoxExecutableAction.java:205) at org.eclipse.equinox.p2.publisher.eclipse.EquinoxExecutableAction.perform(EquinoxExecutableAction.java:64) at org.eclipse.equinox.p2.publisher.eclipse.ApplicationLauncherAction.perform(ApplicationLauncherAction.java:68) at org.eclipse.equinox.p2.publisher.eclipse.ProductAction.perform(ProductAction.java:91) at org.eclipse.buckminster.pde.tasks.ProductAction.perform(ProductAction.java:152) at org.eclipse.equinox.p2.publisher.Publisher$ArtifactProcess.run(Publisher.java:207) at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.executeBatch(SimpleArtifactRepository.java:1044) at org.eclipse.equinox.p2.publisher.Publisher.publish(Publisher.java:231) at org.eclipse.buckminster.pde.internal.actor.P2SiteGenerator.run(P2SiteGenerator.java:338) ... 25 more Caused by: java.lang.NullPointerException at org.eclipse.buckminster.pde.tasks.EquinoxExecutableAction.peruseIcons(EquinoxExecutableAction.java:55) at org.eclipse.buckminster.pde.tasks.EquinoxExecutableAction.fullBrandExecutables(EquinoxExecutableAction.java:87) at org.eclipse.equinox.p2.publisher.eclipse.EquinoxExecutableAction.brandExecutables(EquinoxExecutableAction.java:205) at org.eclipse.equinox.p2.publisher.eclipse.EquinoxExecutableAction.perform(EquinoxExecutableAction.java:64) at org.eclipse.equinox.p2.publisher.eclipse.ApplicationLauncherAction.perform(ApplicationLauncherAction.java:68) at org.eclipse.equinox.p2.publisher.eclipse.ProductAction.perform(ProductAction.java:91) at org.eclipse.buckminster.pde.tasks.ProductAction.perform(ProductAction.java:152) at org.eclipse.equinox.p2.publisher.Publisher$ArtifactProcess.run(Publisher.java:207) at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.executeBatch(SimpleArtifactRepository.java:1044) at org.eclipse.equinox.p2.publisher.Publisher.publish(Publisher.java:231) at org.eclipse.buckminster.pde.internal.actor.P2SiteGenerator.run(P2SiteGenerator.java:338) at org.eclipse.buckminster.pde.internal.actor.P2SiteGenerator.internalPerform(P2SiteGenerator.java:438) at org.eclipse.buckminster.core.actor.AbstractActor.perform(AbstractActor.java:186) at org.eclipse.buckminster.core.internal.actor.PerformManager$DirectActionInvocation.execute(PerformManager.java:143) at org.eclipse.buckminster.core.internal.actor.PerformManager.internalPerform(PerformManager.java:454) at org.eclipse.buckminster.core.internal.actor.PerformManager.perform(PerformManager.java:293) at org.eclipse.buckminster.core.internal.actor.PerformManager.perform(PerformManager.java:305) at org.eclipse.buckminster.core.commands.Perform.internalRun(Perform.java:108) at org.eclipse.buckminster.core.commands.WorkspaceCommand.run(WorkspaceCommand.java:91) at org.eclipse.buckminster.cmdline.AbstractCommand.basicRun(AbstractCommand.java:194) at org.eclipse.buckminster.cmdline.Headless.run(Headless.java:317) at org.eclipse.buckminster.cmdline.Headless.run(Headless.java:136) at org.eclipse.buckminster.cmdline.Headless.start(Headless.java:156) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574) at org.eclipse.equinox.launcher.Main.run(Main.java:1407) at org.eclipse.equinox.launcher.Main.main(Main.java:1383) --- Deleting the shown icons part from the product removes the NPE Reproducible: Always Steps to Reproduce: 1. Import MSpecs 2. Do build 3. Have a product file with included icons in feature 4. perform site.p2 -> Receive NPE 5. Remove Icons perform site.p2 -> :) see stacktrace above
Created attachment 182146 [details] The product file referenced in the bug report This is the product file referenced in the bug report, removing the <launcher> part removes the problem.
Fixed on helios-maintenance branch, rev 11651.