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

[Subclipse-users] Problems with auto-sharing in 1.10.3 NPE

From: Jan Arciuchiewicz <jarciuch_at_tibco.com>
Date: Wed, 19 Feb 2014 16:33:17 +0000

We are having problems with auto-sharing option (introduced probably in 1.10). In our product on first start (on a new workspace) we create a hidden project with diagram fragments. During this process we create and remove a temporary project.

The AutoShareJob is notified of a new project by adding the project to internal "work list" of project to share. Then projects are popped form that list and passed to be processed when the job is being run (SVNTeamProviderType.AutoShareJob.run()).

Unfortunately in our case the project is gone by then and autoconnectSVNProject is not checking if the project is still accessible. This lead to the NPE in line 75 of PeekStatusCommand because resource.getLocation() returns 'null'.
...
if (this.resource != null)
        file = this.resource.getLocation().toFile();
...
java.lang.NullPointerException
                at org.tigris.subversion.subclipse.core.client.PeekStatusCommand.execute(PeekStatusCommand.java:75)
                at org.tigris.subversion.subclipse.core.SVNTeamProviderType$AutoShareJob.autoconnectSVNProject(SVNTeamProviderType.java:129)
                at org.tigris.subversion.subclipse.core.SVNTeamProviderType$AutoShareJob.run(SVNTeamProviderType.java:105)
                at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

It's not a typical use case but you users could run to this problem (with poping up NPE) if they or tools create and immediately delete a project in a background job.
One of possible fix could be to check if the project to share is still accessible when this job runs.
      while (next != null) {

                if (next.isAccessible()) {
         autoconnectSVNProject(next, Policy.subMonitorFor(monitor, -1));
}

        next = getNextProject();
      }
Thanks, Jan

------------------------------------------------------
http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1047&dsMessageId=3073246

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subclipse.tigris.org].
Received on 2014-02-19 22:07:18 CET

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.