[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

issues reported by FindBugs on org.tigris.subversion.subclipse.core

From: Eugene Kuleshov <eu_at_md.pp.ru>
Date: 2005-08-21 21:56:54 CEST

Hi,

  I had an occasion to run FindBugs on the Subclipse codebase. BTW there
is quite acceptable plugin for Eclipse available
http://findbugs.sourceforge.net/

  Here is the list of the major issues I believe somehow critical:

next two always false!
BIT: Incompatible bit masks yield a constant result in
org.tigris.subversion.subclipse.core.resources.BaseFolder.members(org.eclipse.core.runtime.IProgressMonitor,int)
BaseFolder.java
org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core/resources
line 77

BIT: Incompatible bit masks yield a constant result in
org.tigris.subversion.subclipse.core.resources.RemoteFolder.members(org.eclipse.core.runtime.IProgressMonitor,int)
RemoteFolder.java
org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core/resources
line 217

IS2: Inconsistent synchronization of
org.tigris.subversion.subclipse.core.util.ReentrantLock.nestingCount;
locked 83% of time ReentrantLock.java
org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core/util
line 74

IS2: Inconsistent synchronization of
org.tigris.subversion.subclipse.core.util.ReentrantLock.thread; locked
71% of time ReentrantLock.java
org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core/util
line 78

This one probably has missing curly brackets:
NP: Possible null pointer dereference in
org.tigris.subversion.subclipse.core.commands.CheckoutCommand.refreshProject(org.eclipse.core.resources.IProject,org.eclipse.core.runtime.IProgressMonitor)
CheckoutCommand.java
org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core/commands
line 283

memberResource can be null
NP: Possible null pointer dereference in
org.tigris.subversion.subclipse.core.sync.notused.SVNRemoteTree.fetchVariant(org.eclipse.core.resources.IResource,int,org.eclipse.core.runtime.IProgressMonitor)
SVNRemoteTree.java
org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core/sync/notused
line 140

if it would be null we have got NPE in above line
RCN: Redundant comparison to null in
org.tigris.subversion.subclipse.core.status.SynchronizerSyncInfoCache.addStatus(org.tigris.subversion.subclipse.core.resources.LocalResourceStatus)
SynchronizerSyncInfoCache.java
org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core/status
line 55

Minor issues:

SIC: Should
org.tigris.subversion.subclipse.core.SVNProjectSetCapability$LoadInfo be
a _static_ inner class? SVNProjectSetCapability.java
org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core
line 177

UuF: Unused field:
org.tigris.subversion.subclipse.core.SVNClientManager.adapterFactories
SVNClientManager.java
org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core
line 1

UuF: Unused field:
org.tigris.subversion.subclipse.core.SVNTeamProvider.operations
SVNTeamProvider.java
org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core
line 1

DLS: Dead store to local variable in method
org.tigris.subversion.subclipse.core.resources.LocalResourceStatus.<init>(byte[])
LocalResourceStatus.java
org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core/resources
line 198 August 21, 2005 3:35:58 PM

DLS: Dead store to local variable in method
org.tigris.subversion.subclipse.core.resources.RemoteResourceStatus.<init>(byte[])
RemoteResourceStatus.java
org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core/resources
line 146

DLS: Dead store to local variable in method
org.tigris.subversion.subclipse.core.resources.ResourceStatus.<init>(byte[])
ResourceStatus.java
org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core/resources
line 266

DLS: Dead store to local variable in method
org.tigris.subversion.subclipse.core.SVNTeamProviderType$AutoAddJob.run(org.eclipse.core.runtime.IProgressMonitor)
SVNTeamProviderType.java
org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core
line 211

CD: Class org.tigris.subversion.subclipse.core.resources.LocalResource
has a circular dependency with other classes.
CD: Class org.tigris.subversion.subclipse.core.resources.RemoteResource
has a circular dependency with other classes.
CD: Class
org.tigris.subversion.subclipse.core.resources.RemoteResourceStatus has
a circular dependency with other classes.
CD: Class
org.tigris.subversion.subclipse.core.resources.RepositoryResourcesManager
has a circular dependency with other classes.
CD: Class
org.tigris.subversion.subclipse.core.resources.SVNMoveDeleteHook has a
circular dependency with other classes.
CD: Class
org.tigris.subversion.subclipse.core.resources.SVNWorkspaceRoot has a
circular dependency with other classes.
CD: Class org.tigris.subversion.subclipse.core.status.StatusCacheManager
has a circular dependency with other classes.
CD: Class org.tigris.subversion.subclipse.core.SVNProviderPlugin has a
circular dependency with other classes.
CD: Class org.tigris.subversion.subclipse.core.SVNTeamProvider has a
circular dependency with other classes.
Received on Mon Aug 22 05:56:54 2005

This is an archived mail posted to the Subclipse Dev mailing list.