Bug 33373 Internal error generating javadoc for simple project
Build: 2.1 RC1 1) Create a simple project 2) Switch to java perspective 3) Select the project, and choose Project > Generate Javadoc -> Error appears in the log file: !MESSAGE Internal Error !STACK 1 Java Model Exception: Java Model Status [Bpp does not exist.] at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:482) at org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfoCheckExistence(JavaModelManager.java:956) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1460) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1445) at org.eclipse.jdt.internal.core.JavaProject.generateInfos(JavaProject.java:974) at org.eclipse.jdt.internal.core.Openable.buildStructure(Openable.java:71) at org.eclipse.jdt.internal.core.Openable.openWhenClosed(Openable.java:394) at org.eclipse.jdt.internal.core.JavaProject.openWhenClosed(JavaProject.java:1866) at org.eclipse.jdt.internal.core.JavaElement.openHierarchy(JavaElement.java:503) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:296) at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:252) at org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoots(JavaProject.java:1296) at org.eclipse.jdt.internal.ui.javadocexport.JavadocOptionsManager.getValidProject(JavadocOptionsManager.java:1129) at org.eclipse.jdt.internal.ui.javadocexport.JavadocOptionsManager.getSelectableJavaElement(JavadocOptionsManager.java:1120) at org.eclipse.jdt.internal.ui.javadocexport.JavadocOptionsManager.getProjects(JavadocOptionsManager.java:1050) at org.eclipse.jdt.internal.ui.javadocexport.JavadocOptionsManager.getValidSelection(JavadocOptionsManager.java:1041) at org.eclipse.jdt.internal.ui.javadocexport.JavadocOptionsManager.loadDefaults(JavadocOptionsManager.java:346) at org.eclipse.jdt.internal.ui.javadocexport.JavadocOptionsManager.loadStore(JavadocOptionsManager.java:256) at org.eclipse.jdt.internal.ui.javadocexport.JavadocOptionsManager.<init>(JavadocOptionsManager.java:186) at org.eclipse.jdt.internal.ui.javadocexport.JavadocWizard.init(JavadocWizard.java:421) at org.eclipse.jdt.internal.ui.actions.GenerateJavadocAction.run(GenerateJavadocAction.java:45) at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:250) at org.eclipse.ui.internal.WWinPluginAction.runWithEvent(WWinPluginAction.java:202) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:456) at org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent(ActionContributionItem.java:403) at org.eclipse.jface.action.ActionContributionItem.access$0(ActionContributionItem.java:397) at org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent(ActionContributionItem.java:72) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java(Compiled Code)) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java(Compiled Code)) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java(Compiled Code)) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java(Compiled Code)) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java(Compiled Code)) at org.eclipse.ui.internal.Workbench.run(Workbench.java:1254) at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:845) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461) at java.lang.reflect.Method.invoke(Native Method) at org.eclipse.core.launcher.Main.basicRun(Main.java:247) at org.eclipse.core.launcher.Main.run(Main.java:703) at org.eclipse.core.launcher.Main.main(Main.java:539)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javadocexport/JavadocOptionsManager.java
if (url == null || !url.getProtocol().equals("file")) { 
				IPath path= project.getProject().getLocation();
				if (path != null)
					return path.append("doc").toOSString(); 
			} else {
				
				return (new File(url.getFile())).getPath();
			}
		}
		return ""; 
	}
	/**
	* Method creates a list of data structes that contain
	* The destination, antfile location and the list of library/project references for every
	* project in the workspace.Defaults are created for new project.
	*/
	private void loadLinksFromDialogSettings(IDialogSettings settings) {
		
		if (settings != null) {
			IDialogSettings links= settings.getSection("projects"); 
			if (links != null) {
				IDialogSettings[] projs= links.getSections();
				for (int i= 0; i < projs.length; i++) {
					IDialogSettings iDialogSettings= projs[i];
					String projectName= iDialogSettings.getName();
					IProject project= fRoot.getProject(projectName);
					
					if (project.exists()) {
						IJavaProject javaProject= JavaCore.create(project);