Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 401121

Summary: 'add/remove rpmlint warnings' throws NPE if rpmlint is not installed in the system
Product: [Tools] Linux Tools Reporter: Wainer dos Santos Moschetta <wainersm>
Component: RPMAssignee: Alexander Kurtakov <akurtakov>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: linux.rpm-inbox
Version: unspecified   
Target Milestone: 2.0   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Wainer dos Santos Moschetta CLA 2013-02-18 14:49:26 EST
Enable 'add/remove rpmlint warnings' throws NPE if rpmlint is not installed in the system

How to reproduce:

1. Install C/C++ eclipse IDE 4.2.1
2. Install rpm plug-in from nightly build update site (http://download.eclipse.org/linuxtools/updates-nightly)
(Ensure you don't have rpmlint installed in)
3. Create an empty rpm project
4. Create a new specfile
5. Right-click project name > RPM > Add/Remove rpmlint warnings

Result: it is going to pop up message window with NPE. You can see following stacktrace:

!ENTRY org.eclipse.core.resources 4 75 2013-02-18 16:48:50.032
!MESSAGE Errors occurred during the build.
!SUBENTRY 1 org.eclipse.linuxtools.rpm.rpmlint 4 75 2013-02-18 16:48:50.032
!MESSAGE Errors running builder 'Rpmlint project builder' on project 'local_rpm'.
!STACK 0
java.lang.NullPointerException
	at org.eclipse.linuxtools.rpm.core.utils.BufferedProcessInputStream.<init>(BufferedProcessInputStream.java:28)
	at org.eclipse.linuxtools.rpm.core.utils.Utils.runCommandToInputStream(Utils.java:49)
	at org.eclipse.linuxtools.internal.rpm.rpmlint.parser.RpmlintParser.runRpmlintCommand(RpmlintParser.java:289)
	at org.eclipse.linuxtools.internal.rpm.rpmlint.parser.RpmlintParser.parseVisisted(RpmlintParser.java:73)
	at org.eclipse.linuxtools.internal.rpm.rpmlint.builder.RpmlintBuilder.fullBuild(RpmlintBuilder.java:87)
	at org.eclipse.linuxtools.internal.rpm.rpmlint.builder.RpmlintBuilder.build(RpmlintBuilder.java:69)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Comment 1 Alexander Kurtakov CLA 2013-02-19 17:15:03 EST
Fixed in master.