Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 329195 - buckminster-headless perfom #site.p2 returns NPE
Summary: buckminster-headless perfom #site.p2 returns NPE
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Buckminster (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 critical with 1 vote (vote)
Target Milestone: ---   Edit
Assignee: buckminster.core-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-01 10:50 EDT by Marco Descher CLA
Modified: 2019-02-25 14:39 EST (History)
2 users (show)

See Also:


Attachments
The product file referenced in the bug report (1015 bytes, application/octet-stream)
2010-11-01 10:54 EDT, Marco Descher CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marco Descher CLA 2010-11-01 10:50:39 EDT
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
Comment 1 Marco Descher CLA 2010-11-01 10:54:00 EDT
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.
Comment 2 Thomas Hallgren CLA 2011-01-26 08:58:06 EST
Fixed on helios-maintenance branch, rev 11651.