Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 317516 - NPE when listing Subversion folder entries
Summary: NPE when listing Subversion folder entries
Status: VERIFIED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Buckminster (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: buckminster.core-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 324586 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-06-21 17:05 EDT by Peter Nehrer CLA
Modified: 2019-02-25 14:41 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Nehrer CLA 2010-06-21 17:05:13 EDT
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
Comment 1 Peter Nehrer CLA 2010-06-21 17:08:32 EDT
Btw merely setting monitor to a NullProgressMonitor fixes the problem.
Comment 2 Peter Nehrer CLA 2010-06-21 17:14:18 EDT
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
Comment 3 Thomas Hallgren CLA 2010-06-21 17:57:24 EDT
Fix released to branch helios-maintenance, rev 11480.
Comment 4 Peter Nehrer CLA 2010-07-21 16:05:32 EDT
Verified, thanks.
Comment 5 Dennis Hendriks CLA 2010-09-06 10:30:29 EDT
*** Bug 324586 has been marked as a duplicate of this bug. ***