Community
Participate
Working Groups
Build 20020109 Whenever I quit and come back in, build causes my project to be totally rebuilt from scratch, even though it attempts to read the saved state. I have seen this problem for quite a while. I'm using a the self-hosting plugin, but it did this even before I had this setup. I generally run with autobuild off. I can supply my workspace if it helps.
This is a platform known issue, sometimes the platform will give us a null delta instead of an empty one, causing our builder to defensively perform a full build.
Nick, let us know if this still happens in 20020122. There was a tree serialization problem that I believe is now fixed.
Seems to be fixed in 0123.
Closing PR.
Reopening, there seems to be an issue with the new builder, it does not succeed to read its own build state (using straight build 20020125) under some undetermined circumstances. The scenario below occured after a fresh restart, sync'up with stream, grabbed a few changes, and hit ctrl-B. ------------- D:\eclipse\sdk\eclipse>D:\jdk1.4\jre\bin\java -verify -Xms100Mb -Xmx250Mb -cp startup.jar org.eclipse.core.launcher.UIMain -application org. eclipse.ui.workbench -ws win32 -data D:\eclipse\workspaces\development2.0 \plugins -refresh -debug -consoleLog D:\jdk1.4 Boot URL: file:D:/eclipse/sdk/eclipse/plugins/org.eclipse.core.boot/boot.jar Install URL: file:D:/eclipse/sdk/eclipse/ Debug-Options: file:D:/eclipse/sdk/eclipse/.options Starting build of org.eclipse.jdt.core.tests INCREMENTAL build Compile this changed source file D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core.tests/Eclipse Java Tests Compiler/org/ecl ipse/jdt/tests/compiler/regression/InitializationTest.java About to compile D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core.tests/Eclipse Java Tests Compiler/org/eclipse/jdt/tests/c ompiler/regression/InitializationTest.java Skipped over unchanged class file InitializationTest.class Starting build of org.eclipse.jdt.core Performing full build since last saved state was not found FULL build About to compile D:/eclipse/workspaces/development2.0/plugins/org.eclipse.jdt.core/ant/org/eclips e/jdt/core/ant/Jdtcom.java ....
PM's state.dat file is fine. Adding more tracing in & around state reading.
Why is the project org.eclipse.jdt.core.tests being built before org.eclipse.jdt.core? Are your project references correct?
Project references are now ok, and still these symptoms occur. Seems related to the fact that the built state cannot be read.
Haven't yet reproduced it with the jdtcore 20020212.
Finally... I think this was always there! public Object getLastBuiltState(IProject project, IProgressMonitor monitor) { PerProjectInfo info = getPerProjectInfo(project); Object state = info.savedState; if (state == null && !info.triedRead) { info.triedRead= true; try { state = readState(project); // DID NOT SET info.state } catch (CoreException e) {} } return state; } So the first request reads the saved state but if the requesting builder did not set it when the build was finished, the next request would answer null. Since builders now ask for the build state of a prereq project, it will not be set & thus fail the next time its project was rebuilt.
*** Bug 10389 has been marked as a duplicate of this bug. ***