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

Bug 340384

Summary: java.lang.IllegalArgumentException: Argument '???' is null.
Product: z_Archived Reporter: Andreas Kaluza <andreas>
Component: RecommendersAssignee: Marcel Bruch <marcel.bruch>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard:
Attachments:
Description Flags
before refreshing view
none
After refreshing none

Description Andreas Kaluza CLA 2011-03-17 19:31:54 EDT
Creating ClassHierarchy for project org.eclipse.recommenders.tests.fixtures.rcp.codecompletion.chain took 0:00:00.264.
!SESSION 2011-03-18 00:29:17.159 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_24
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Framework arguments:  -product org.eclipse.platform.ide
Command-line arguments:  -product org.eclipse.platform.ide -data C:\Users\Andreas Kaluza\workspace/../runtime-EclipseApplication -dev file:C:/Users/Andreas Kaluza/workspace/.metadata/.plugins/org.eclipse.pde.core/Eclipse Application/dev.properties -os win32 -ws win32 -arch x86_64 -consoleLog

!ENTRY org.eclipse.core.resources 4 2 2011-03-18 00:29:28.676
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
!STACK 0
java.lang.IllegalArgumentException: Argument '???' is null.
	at org.eclipse.recommenders.commons.utils.Throws.throwIllegalArgumentException(Throws.java:25)
	at org.eclipse.recommenders.commons.utils.Checks.ensureIsNotNull(Checks.java:177)
	at org.eclipse.recommenders.commons.utils.Checks.ensureIsNotNull(Checks.java:172)
	at org.eclipse.recommenders.commons.utils.Checks.ensureIsNotNull(Checks.java:164)
	at org.eclipse.recommenders.rcp.utils.JavaElementResolver.toRecType(JavaElementResolver.java:69)
	at org.eclipse.recommenders.internal.rcp.analysis.RecommendersBuilder.analyzeCompilationUnit(RecommendersBuilder.java:167)
	at org.eclipse.recommenders.internal.rcp.analysis.RecommendersBuilder.access$0(RecommendersBuilder.java:163)
	at org.eclipse.recommenders.internal.rcp.analysis.RecommendersBuilder$2.visit(RecommendersBuilder.java:148)
	at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:68)
	at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:79)
	at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:79)
	at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:79)
	at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:48)
	at org.eclipse.recommenders.internal.rcp.analysis.RecommendersBuilder.performIncrementalBuild(RecommendersBuilder.java:137)
	at org.eclipse.recommenders.internal.rcp.analysis.RecommendersBuilder.build(RecommendersBuilder.java:102)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:203)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:255)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:258)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:311)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:343)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:242)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Comment 1 Andreas Kaluza CLA 2011-03-17 19:33:07 EDT
Created attachment 191478 [details]
before refreshing view
Comment 2 Andreas Kaluza CLA 2011-03-17 19:34:06 EDT
See the attachment. If I refresh the view (F5), I'll get an exception like above.
Comment 3 Andreas Kaluza CLA 2011-03-17 19:36:33 EDT
Created attachment 191479 [details]
After refreshing
Comment 4 Marcel Bruch CLA 2011-03-18 05:03:59 EDT
It seems that
cu.findPrimaryType actually sometimes returns null. I expected that a primary type is always available. Did the type compile properly?


Anyway, I added null check in builder to get around this issue in future:

final IType primaryType = cu.findPrimaryType();
if (primaryType != null) {
      lcha.remove(javaElementResolver.toRecType(primaryType));
}
Comment 5 Marcel Bruch CLA 2012-02-02 01:41:46 EST
Closing this issue. Please give latest dev build (v0.5) a try:

http://download.eclipse.org/recommenders/updates/dev/e37/
http://download.eclipse.org/recommenders/updates/dev/e42/
Comment 6 Marcel Bruch CLA 2012-02-02 01:41:58 EST
Closing this issue. Please give latest dev build (v0.5) a try:

http://download.eclipse.org/recommenders/updates/dev/e37/
http://download.eclipse.org/recommenders/updates/dev/e42/