Community
Participate
Working Groups
build i20030604 Maybe it was just for debugging purposes, but in the first (and only in the first) time I run this build with an existing workspace, I got dozens of stack traces like below (will attach log). Eclipse seemed to be working properly. !ENTRY org.eclipse.jdt.core 4 4 Jun 05, 2003 11:59:16.702 !MESSAGE Source attachment path should be absolute: "" !STACK 0 java.lang.IllegalArgumentException at java.lang.Throwable.<init>(Throwable.java) at org.eclipse.jdt.core.JavaCore.newLibraryEntry(JavaCore.java:2362) at org.eclipse.jdt.core.JavaCore.getResolvedClasspathEntry(JavaCore.java:1804) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1533) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1476) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1452) at org.eclipse.jdt.core.JavaCore.updateVariableValues(JavaCore.java:3251) at org.eclipse.jdt.core.JavaCore.setClasspathVariables(JavaCore.java:3053) at org.eclipse.jdt.core.JavaCore.setClasspathVariable(JavaCore.java:3025) at org.eclipse.jdt.internal.launching.JavaClasspathVariablesInitializer.setJREVariable(JavaClasspathVariablesInitializer.java:102) at org.eclipse.jdt.internal.launching.JavaClasspathVariablesInitializer.initialize(JavaClasspathVariablesInitializer.java:79)
Created attachment 5077 [details] log file Log contains all stack traces between the first and second time I ran Eclipse on an existing workspace.
This is a warning printed by JDT/Core when one API is incorrectly used. It silently fixes up the argument and proceed, but this is flagging the offending usage. This one is JDT/Debug/
I believe that I missed an update in the source root path in VMDefinitionsContainer#getLibraryLocation(Element) to conform to enforcement of the API in JDT Core.
Fixed in VMDefinitionsContainer. Please verify Luc.
Verified.
*** Bug 38540 has been marked as a duplicate of this bug. ***
This fix seems to have caused a breakage in source lookup.
Philippe, there is trouble here... We are trying to set a classpath variable (JRE_SRC) to Path.EMPTY. This in turn seems to cause the java model to create a library entry with an EMPTY source attachment (rather than "null"). However, since we are not allowed to set a classpath variable to "null", we have no way to distinguish between a ROOT path and an EMPTY path. We either need to be able to set a classpath variable to null, or be allowed to use an EMPTY path as a source attachment path.
Setting a classpath variable to null isn't an option since it is used to denote variable deletion. However assigning source attachment to an empty path is tolerable. Will be in next integration build. Can I consider then removing the logging, and simply throwing an exception in other cases where a relative source attachment would be used ?
Yes, we agree that we should be able to set a claspath variable to Path.EMPTY, and that a classpath entry source attachment path can be set to "" (empty String), which is equivalent to "null".
Done deal. Fixed. Will keep logging behavior until 3.0M2, and then will throw exception.
Fixed
*** Bug 39075 has been marked as a duplicate of this bug. ***
*** Bug 39125 has been marked as a duplicate of this bug. ***
*** Bug 38572 has been marked as a duplicate of this bug. ***