[
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