Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-core-dev] [Fwd: [platform-team-dev] Re: [Subclipse-dev] [Fwd: Re: some errors occur from time to time when build STP using Buckminster]]

Looking deeper, I see that the call to getWorkspace() would have resulted in an IllegalStateException rather then an NPE so the getSynchronizer() is the one that returns null. That in turn, can only happen after the workspace has been shut down.

So why is the BackgroundEventHandler still issuing events? Shouldn't that have been stopped before the resource bundle is stopped?

- thomas

Thomas Hallgren wrote:
Hi Tom,
This cannot be related to the workbench unless you are talking about some headless workbench code that I'm unaware of. It's not just the execution that is headless. The installation is pure headless too. No UI plugins are included.

The events stem from org.eclipse.team.internal.core.BackgroundEventHandler and it seems like it continues to send events even though the workspace has been closed. The NPE is on this line:

return ResourcesPlugin.getWorkspace().getSynchronizer().getSyncInfo(StatusCacheManager.SVN_BC_SYNC_KEY, resource);

which suggests that ether ResourcePlugin.getWorkspace() returns null or the subsequent call to getSynchronizer() returns null. What I'm trying to figure out is:

a) Are we doing something wrong when we shut down? Buckminster headless is an IApplication. The last thing it does is to issue a ResourcesPlugin.getWorkspace().save(true, monitor).

b) If we are not doing anything wrong. Is it wrong for the Subclipse plugin to assume that the ResourcesPlugin.getWorkspace().getSynchronizer() is OK to use when getDiff() is called?

c) Regardless of a) and b) what can be done to prevent this from happening short term?

Regards,
Thomas Hallgren




Back to the top