Bug 27250

Summary: Walkback asking for a full rebuild
Product: [Eclipse Project] JDT Reporter: Pascal Rapicault <pascal>
Component: CoreAssignee: Kent Johnson <kent_johnson>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: jayesh.naithani
Version: 2.1   
Target Milestone: 2.1 M4   
Hardware: PC   
OS: Windows 2000   
Whiteboard:

Description Pascal Rapicault CLA 2002-11-27 11:16:15 EST
Asking for a full build I got this error.
Workspace availble on demand

!SESSION Nov 27, 2002 11:20:52.812 ---------------------------------------------
java.fullversion=J2RE 1.3.1 IBM Windows 32 build cn131-20020403 (JIT enabled: 
jitc)
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments: -os win32 -ws win32 -arch x86 -debug file:d:/.options -
data d:\work\workspaces\perf\plugins -install file:D:/eclipse/M3/
!ENTRY org.eclipse.jdt.core 4 4 Nov 27, 2002 11:20:52.812
!MESSAGE JavaBuilder handling CoreException
!STACK 1
Java Model Exception: Java Model Status 
[src/plugins/org.eclipse.ant.core/src/org/eclipse/ant/core [in 
org.eclipse.releng.newBuilder] does not exist.]
	at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException
(JavaElement.java:488)
	at org.eclipse.jdt.internal.core.PackageFragmentRoot.openWhenClosed
(PackageFragmentRoot.java:368)
	at org.eclipse.jdt.internal.core.Openable.openParent(Openable.java:369)
	at org.eclipse.jdt.internal.core.Openable.openWhenClosed
(Openable.java:385)
	at org.eclipse.jdt.internal.core.PackageFragment.openWhenClosed
(PackageFragment.java:314)
	at org.eclipse.jdt.internal.core.Openable.openParent(Openable.java:369)
	at org.eclipse.jdt.internal.core.CompilationUnit.openParent
(CompilationUnit.java:749)
	at org.eclipse.jdt.internal.core.Openable.openWhenClosed
(Openable.java:385)
	at org.eclipse.jdt.internal.core.JavaElement.openHierarchy
(JavaElement.java:509)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo
(JavaElement.java(Compiled Code))
	at org.eclipse.jdt.internal.core.JavaElement.getChildren
(JavaElement.java(Compiled Code))
	at org.eclipse.jdt.internal.core.JavaElement.getSourceElementAt
(JavaElement.java:413)
	at org.eclipse.jdt.internal.core.CompilationUnit.getElementAt
(CompilationUnit.java:392)
	at 
org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.storeProblemsFor
(AbstractImageBuilder.java:363)
	at 
org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.updateProblemsFor
(AbstractImageBuilder.java:382)
	at 
org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.acceptResult
(AbstractImageBuilder.java:81)
	at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:349)
	at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile
(AbstractImageBuilder.java:194)
	at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile
(AbstractImageBuilder.java:167)
	at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build
(BatchImageBuilder.java:49)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll
(JavaBuilder.java:178)
	at org.eclipse.jdt.internal.core.builder.JavaBuilder.build
(JavaBuilder.java:101)
	at org.eclipse.core.internal.events.BuildManager$2.run
(BuildManager.java:393)
	at org.eclipse.core.runtime.Platform.run(Platform.java(Compiled Code))
	at org.eclipse.core.runtime.Platform.run(Platform.java(Compiled Code))
	at org.eclipse.core.internal.events.BuildManager.basicBuild
(BuildManager.java:120)
	at org.eclipse.core.internal.events.BuildManager.basicBuild
(BuildManager.java:176)
	at org.eclipse.core.internal.events.BuildManager.basicBuild
(BuildManager.java:186)
	at org.eclipse.core.internal.events.BuildManager$1.run
(BuildManager.java:146)
	at org.eclipse.core.runtime.Platform.run(Platform.java(Compiled Code))
	at org.eclipse.core.runtime.Platform.run(Platform.java(Compiled Code))
	at org.eclipse.core.internal.events.BuildManager.basicBuild
(BuildManager.java:160)
	at org.eclipse.core.internal.events.BuildManager.build
(BuildManager.java:211)
	at org.eclipse.core.internal.resources.Workspace.build
(Workspace.java:150)
	at org.eclipse.ui.actions.GlobalBuildAction$1.run
(GlobalBuildAction.java:156)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run
(ModalContext.java:95)
Comment 1 Philipe Mulet CLA 2002-11-27 11:50:45 EST
The code computing the "friendly" location is throwing an exception due to some 
elements which seem missing from the JavaModel (the source folder).

The scenario I was suspecting was a case where the source folder got added at 
the same time, before the JavaModel got updated. But actually, the JavaModel 
code is protected against this (will not consider its cache to answer). I 
suspect, the builder is rather compiling files which do not have element 
equivalents. Could it be compiling files removed from the build path or 
something like that ?

Scenario must be understood, then the location could be simplified to the line 
number, to avoid populating the JavaModel (performance).
Comment 2 Kent Johnson CLA 2002-11-27 14:40:05 EST
The problem scenario is a compilation unit located in an invalid package name 
such as 'a/b.c/d'.

The builder compiles the source files in these invalid packages... detects the 
package declaration does not match the 'found' package & attempts to report a 
problem... but it cannot query the Java Model for anything about the 
compilation unit since it rejects the package.

We have removed the code querying the Java Model since the location information 
in the task list is seldom visible & ends up populating the Java Model. Simple 
line numbers are sufficient given the performance related issues.
Comment 3 Philipe Mulet CLA 2002-12-06 05:40:17 EST
*** Bug 26967 has been marked as a duplicate of this bug. ***
Comment 4 David Audel CLA 2002-12-18 07:37:17 EST
Verified.