Community
Participate
Working Groups
I ran across this problem when testing the fix for bug 317127. After the following line (GenericSession.java, rev 11464), a NullPointerException is thrown because monitor is null (as passed in from the calling method): Thread [Worker-9] (Suspended (breakpoint at line 558 in GenericSession)) SubversiveSession(GenericSession<REPO_LOCATION_TYPE,SVN_ENTRY_TYPE,SVN_REVISION_TYPE>).listFolder(URI, IProgressMonitor) line: 558 SubversiveSession.getDirEntry(URI, SVNRevision, IProgressMonitor) line: 278 SubversiveSession.getLastTimestamp() line: 302 SubversiveReaderType(GenericReaderType<REPO_LOCATION_TYPE,SVN_ENTRY_TYPE,SVN_REVISION_TYPE>).getLastModification(String, VersionSelector, IProgressMonitor) line: 108 LastTimestamp.execute() line: 57 UnknownElement.execute() line: 288 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 Method.invoke(Object, Object...) line: 597 DispatchUtils.execute(Object) line: 106 UnknownElement(Task).perform() line: 348 Target.execute() line: 357 Target.performTasks() line: 385 Project.executeSortedTargets(Vector) line: 1337 Project.executeTarget(String) line: 1306 EclipseDefaultExecutor(DefaultExecutor).executeTargets(Project, String[]) line: 41 EclipseDefaultExecutor.executeTargets(Project, String[]) line: 32 Project.executeTargets(Vector) line: 1189 InternalAntRunner.run(List) line: 662 InternalAntRunner.run() line: 495 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 Method.invoke(Object, Object...) line: 597 AntRunner.run(IProgressMonitor) line: 318 AntActor.internalPerform(IActionContext, IProgressMonitor) line: 252 AntActor(AbstractActor).perform(IActionContext, IProgressMonitor) line: 186 PerformManager$DirectActionInvocation.execute(GlobalContext, IProgressMonitor) line: 143 PerformManager.internalPerform(List<IAttribute>, IGlobalContext, IProgressMonitor) line: 454 PerformManager.perform(List<IAttribute>, IGlobalContext, IProgressMonitor) line: 293 PerformManager.perform(List<IAttribute>, Map<String,Object>, boolean, boolean, IProgressMonitor) line: 305 InvokeAction$ActionJob.runInWorkspace(IProgressMonitor) line: 81 InvokeAction$ActionJob(InternalWorkspaceJob).run(IProgressMonitor) line: 38 Worker.run() line: 54
Btw merely setting monitor to a NullProgressMonitor fixes the problem.
Here's a better stack trace (qualified): Thread [Worker-2] (Suspended (breakpoint at line 558 in org.eclipse.buckminster.subversion.GenericSession)) org.eclipse.buckminster.subversive.internal.SubversiveSession(org.eclipse.buckminster.subversion.GenericSession<REPO_LOCATION_TYPE,SVN_ENTRY_TYPE,SVN_REVISION_TYPE>).listFolder(java.net.URI, org.eclipse.core.runtime.IProgressMonitor) line: 558 org.eclipse.buckminster.subversive.internal.SubversiveSession.getDirEntry(java.net.URI, org.eclipse.team.svn.core.connector.SVNRevision, org.eclipse.core.runtime.IProgressMonitor) line: 278 org.eclipse.buckminster.subversive.internal.SubversiveSession.getLastTimestamp() line: 302 org.eclipse.buckminster.subversive.internal.SubversiveReaderType(org.eclipse.buckminster.subversion.GenericReaderType<REPO_LOCATION_TYPE,SVN_ENTRY_TYPE,SVN_REVISION_TYPE>).getLastModification(java.lang.String, org.eclipse.buckminster.core.version.VersionSelector, org.eclipse.core.runtime.IProgressMonitor) line: 108 org.eclipse.buckminster.ant.taskdefs.LastTimestamp.execute() line: 57 org.apache.tools.ant.UnknownElement.execute() line: 288 sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]) line: not available [native method] sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 39 sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25 java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object...) line: 597 org.apache.tools.ant.dispatch.DispatchUtils.execute(java.lang.Object) line: 106 org.apache.tools.ant.UnknownElement(org.apache.tools.ant.Task).perform() line: 348 org.apache.tools.ant.Target.execute() line: 357 org.apache.tools.ant.Target.performTasks() line: 385 org.apache.tools.ant.Project.executeSortedTargets(java.util.Vector) line: 1337 org.apache.tools.ant.Project.executeTarget(java.lang.String) line: 1306 org.eclipse.ant.internal.core.ant.EclipseDefaultExecutor(org.apache.tools.ant.helper.DefaultExecutor).executeTargets(org.apache.tools.ant.Project, java.lang.String[]) line: 41 org.eclipse.ant.internal.core.ant.EclipseDefaultExecutor.executeTargets(org.apache.tools.ant.Project, java.lang.String[]) line: 32 org.apache.tools.ant.Project.executeTargets(java.util.Vector) line: 1189 org.eclipse.ant.internal.core.ant.InternalAntRunner.run(java.util.List) line: 662 org.eclipse.ant.internal.core.ant.InternalAntRunner.run() line: 495 sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]) line: not available [native method] sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 39 sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25 java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object...) line: 597 org.eclipse.buckminster.ant.AntRunner.run(org.eclipse.core.runtime.IProgressMonitor) line: 318 org.eclipse.buckminster.ant.actor.AntActor.internalPerform(org.eclipse.buckminster.core.actor.IActionContext, org.eclipse.core.runtime.IProgressMonitor) line: 252 org.eclipse.buckminster.ant.actor.AntActor(org.eclipse.buckminster.core.actor.AbstractActor).perform(org.eclipse.buckminster.core.actor.IActionContext, org.eclipse.core.runtime.IProgressMonitor) line: 186 org.eclipse.buckminster.core.internal.actor.PerformManager$DirectActionInvocation.execute(org.eclipse.buckminster.core.internal.actor.GlobalContext, org.eclipse.core.runtime.IProgressMonitor) line: 143 org.eclipse.buckminster.core.internal.actor.PerformManager.internalPerform(java.util.List<? extends org.eclipse.buckminster.core.cspec.IAttribute>, org.eclipse.buckminster.core.actor.IGlobalContext, org.eclipse.core.runtime.IProgressMonitor) line: 454 org.eclipse.buckminster.core.internal.actor.PerformManager.perform(java.util.List<? extends org.eclipse.buckminster.core.cspec.IAttribute>, org.eclipse.buckminster.core.actor.IGlobalContext, org.eclipse.core.runtime.IProgressMonitor) line: 293 org.eclipse.buckminster.core.internal.actor.PerformManager.perform(java.util.List<? extends org.eclipse.buckminster.core.cspec.IAttribute>, java.util.Map<java.lang.String,? extends java.lang.Object>, boolean, boolean, org.eclipse.core.runtime.IProgressMonitor) line: 305 org.eclipse.buckminster.ui.InvokeAction$ActionJob.runInWorkspace(org.eclipse.core.runtime.IProgressMonitor) line: 81 org.eclipse.buckminster.ui.InvokeAction$ActionJob(org.eclipse.core.internal.resources.InternalWorkspaceJob).run(org.eclipse.core.runtime.IProgressMonitor) line: 38 org.eclipse.core.internal.jobs.Worker.run() line: 54
Fix released to branch helios-maintenance, rev 11480.
Verified, thanks.
*** Bug 324586 has been marked as a duplicate of this bug. ***