Community
Participate
Working Groups
Build Identifier: WTP 3.2.1 If a workspace contains a .server file that does not exist for a WTP product then the following NPE will occur during classpath initialization: !ENTRY org.eclipse.wst.server.core 4 0 2010-09-15 16:59:49.437 !MESSAGE Error loading server !STACK 0 java.lang.NullPointerException at org.eclipse.wst.server.core.internal.ResourceManager.registerServer(ResourceManager.java:1117) at org.eclipse.wst.server.core.internal.ResourceManager.addServer(ResourceManager.java:630) at org.eclipse.wst.server.core.internal.ResourceManager.handleNewFile(ResourceManager.java:818) at org.eclipse.wst.server.core.internal.ResourceManager$2.visit(ResourceManager.java:281) at org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:64) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:82) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86) at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:127) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:74) at org.eclipse.wst.server.core.internal.ResourceManager.loadFromProject(ResourceManager.java:275) at org.eclipse.wst.server.core.internal.ResourceManager.init(ResourceManager.java:257) at org.eclipse.wst.server.core.internal.ResourceManager.getRuntime(ResourceManager.java:675) at org.eclipse.wst.server.core.ServerCore.findRuntime(ServerCore.java:260) at org.eclipse.jst.server.core.internal.RuntimeClasspathContainerInitializer.initialize(RuntimeClasspathContainerInitializer.java:43) at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2707) at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1850) at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:2705) at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2645) at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2783) at org.eclipse.jdt.internal.core.ClasspathChange.generateDelta(ClasspathChange.java:218) at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:1916) at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:470) at org.eclipse.core.internal.events.NotificationManager$2.run(NotificationManager.java:291) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:285) at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:149) at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:327) at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1181) at org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:1676) at org.eclipse.core.internal.refresh.RefreshJob.runInWorkspace(RefreshJob.java:166) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) I will attach a patch which will solve this NPE. I am marking this as Trivial as there is no negative side-effects to this NPE... it is just an entry in the .log file that doesn't need to be there :) Reproducible: Always
Created attachment 178984 [details] possible patch
Just to clarify... I should have said: "If a workspace contains a .server file for a server type that does not exist for a WTP product then the following NPE will occur during classpath initialization:" ...
There is also an NPE in ServerCore#isPublishRequired() for the same situation. The line of code: if (controller.supportsType(server.getServerType().getId())) will cause an NPE as the call to getServerType() will be null.
Created attachment 192229 [details] v1.0 This patch both NPE problem that has been reported on this defect.
Code committed to 3.2M
Code released to 33M
Code released to 32M
New Gerrit change created: https://git.eclipse.org/r/109030