I have been doing some further investigation.
It seems that the error occurs whenever a resource is out of synch with
eclipse (generated or modified outside eclipse). When I call refresh in
Eclipse and then activate the SVN decorations again, everything is ok. The
svn-ignore is not the correct solution in my opinion, because I got the
errors in spite of this setting. Maybe it is possible to call a refresh
internally before applying the decorations or catch the exception and ignore
the file.
This might of course also occur in Eclipse31, even when I was not able to
reproduce it.
Marcus Haarmann
_____
Von: Martin Letenay [mailto:mle@whitestein.com]
Gesendet: Dienstag, 30. August 2005 14:26
An: users@subclipse.tigris.org
Betreff: RE: Decoration bug
I'm glad it helps.
I'm just not so sure it is really 3.1M5 related only.
Maybe the bug is really there.
It's just awfull to debug and simulate these multithreaded things ...
Martin
_____
From: Marcus Haarmann [mailto:marcus.haarmann@midoco.de]
Sent: 30 August 2005 14:18
To: users@subclipse.tigris.org
Subject: AW: Decoration bug
I now tried the same in Eclipse 31 final, and did not run into the error. So
this is an issue with Eclipse 31M5 (hopefully replaced within the next weeks
by us internally).
I also tried your suggestion to use the svn:ignore property, sorry for my
misunderstanding of the feature. This should solve most of the problems.
Marcus Haarmann
_____
Von: Martin Letenay [mailto:mle@whitestein.com]
Gesendet: Dienstag, 30. August 2005 13:56
An: users@subclipse.tigris.org
Betreff: RE: Decoration bug
Well, I know it did not happen prior to 32, since it was myself who added
that code there ;-).
There was some signifficant rewrite of the synchronization code done there.
(With a good reason of course).
I'm not sure I understand your point regarding svn:ignore.
If you add the toplevel generated directory to it's parent's svn:ignore,
what is problem there ?
To which .svn folder are you referring ?
Martin
_____
From: Marcus Haarmann [mailto:marcus.haarmann@midoco.de]
Sent: 30 August 2005 13:43
To: users@subclipse.tigris.org
Subject: AW: Decoration bug
It does always crash on generated resources.
These are mainly directories, where we generate some Xdoclet output to and
which do not put into sourcecontrol.
We could try using svn:ignore, but these folders are generated new at build
time, so any .svn directories would be gone (this leads to other errors,
such as resource is not locked ...)
The point is just: it did not happen until 0.9.32. I will try in Eclipse 3.1
final if the error occurs.
Marcus Haarmann
_____
Von: Martin Letenay [mailto:mle@whitestein.com]
Gesendet: Dienstag, 30. August 2005 13:38
An: users@subclipse.tigris.org
Betreff: RE: Decoration bug
Does it crash always on this folder ?
Or it crashed randomly but always on generated/ant created unversioned
resources ?
Are you going to commit these generated files or can they be put into
svn:ignore ?
Martin
_____
From: Marcus Haarmann [mailto:marcus.haarmann@midoco.de]
Sent: 30 August 2005 13:28
To: users@subclipse.tigris.org
Subject: AW: Decoration bug
Hi Martin,
thanks for these hints. I tried this and ran into the same effect.
You are right about the ant scripts, but this is an internal problem,
because the build.properties were not committed ... ;)
Marcus Haarmann
_____
Von: Martin Letenay [mailto:mle@whitestein.com]
Gesendet: Dienstag, 30. August 2005 12:50
An: users@subclipse.tigris.org
Betreff: RE: Decoration bug
Hello Marcus,
I have to investigate this issue more thoruoghly, but I'm already afraid it
would be hard to reproduce
outside your environment. It seems that the decorator thread is geting there
earlier than the thread refreshing statuses.
But it's just a guess now.
If you want to go with 0.9.33, (there were many improvements between 31 and
33 so its really worth),
I think you should try to switch off the "compute deep outgoing state for
folder " switch in the Team>SVN>LabelDecorations#General preferences tab.
The parent folder will not be marked dirty then, but it should not crash.
Besides, don't you have a problem in your ant scripts ?
According to the trace it was trying to set status on folder named:
"/MidocoGUI_CrmSD/${tmp.dir}".
Is it intentional ? Seems more like ant is not expandig tmp.dir variable ...
Martin
_____
From: Marcus Haarmann [mailto:marcus.haarmann@midoco.de]
Sent: 30 August 2005 12:29
To: users@subclipse.tigris.org
Subject: Decoration bug
Hi,
we use Eclipse 31M5 (because the final version is not supported by all
plugins we use) and Subclipse 0.9.33 accessing a SVN 1.2.0 repository. All
in Win XP.
When turning on the label decorations, I get the following error in the log
and the SVN decorations switch off again (since we moved to 0.9.33, the
error was not in 0.9.31). This occurs when Subclipse runs into a file or
folder, which is not under subversion control. The SVN label decorations
will stop working from that point on.
(all projects above the failed one are decorated and the other ones are not
decorated. The SVN decorations flag in the settings is switched off
automatically).
In our projects, we have a big amount of classes, which are generated. But
the decoration also fails on temporary folders, which have been generated by
an ant script.
Any idea on this ? We now work again with 0.9.31 and this error does not
occur any more.
Thanks for help on this issue !
Marcus Haarmann
!ENTRY org.eclipse.ui.workbench 4 2 2005-08-28 12:42:15.478
!MESSAGE Problems occurred when invoking code from plug-in:
"org.eclipse.ui.workbench".
!STACK 0
java.lang.IllegalArgumentException: Attempted to beginRule:
F/MidocoGUI_CrmSD/${tmp.dir}, does not match outer scope rule:
org.eclipse.ui.internal.decorators.DecorationScheduler$1@1b56bda
at org.eclipse.core.internal.runtime.Assert.isLegal(Assert.java:58)
at org.eclipse.core.internal.jobs.ThreadJob.illegalPush(ThreadJob.java:106)
at org.eclipse.core.internal.jobs.ThreadJob.push(ThreadJob.java:200)
at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:80)
at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:186)
at
org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:96)
at
org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.jav
a:1657)
at
org.eclipse.core.internal.resources.Synchronizer.setSyncInfo(Synchronizer.ja
va:230)
at
org.tigris.subversion.subclipse.core.status.SynchronizerSyncInfoCache$SyncIn
foSynchronizedAccessor.internalSetCachedSyncBytes(SynchronizerSyncInfoCache.
java:208)
at
org.tigris.subversion.subclipse.core.status.SynchronizerSyncInfoCache.setCac
hedSyncBytes(SynchronizerSyncInfoCache.java:133)
at
org.tigris.subversion.subclipse.core.status.SynchronizerSyncInfoCache.addSta
tus(SynchronizerSyncInfoCache.java:59)
at
org.tigris.subversion.subclipse.core.status.StatusCacheManager.updateCache(S
tatusCacheManager.java:118)
at
org.tigris.subversion.subclipse.core.status.StatusCacheManager.updateCache(S
tatusCacheManager.java:95)
at
org.tigris.subversion.subclipse.core.status.StatusCacheManager.setStatuses(S
tatusCacheManager.java:217)
at
org.tigris.subversion.subclipse.core.status.StatusCacheManager.basicGetStatu
s(StatusCacheManager.java:189)
at
org.tigris.subversion.subclipse.core.status.StatusCacheManager.getStatus(Sta
tusCacheManager.java:166)
at
org.tigris.subversion.subclipse.core.status.StatusCacheManager.getStatus(Sta
tusCacheManager.java:131)
at
org.tigris.subversion.subclipse.core.resources.LocalResource.getStatus(Local
Resource.java:156)
at
org.tigris.subversion.subclipse.core.resources.LocalFolder.getStatus(LocalFo
lder.java:278)
at
org.tigris.subversion.subclipse.core.resources.LocalResource.isManaged(Local
Resource.java:144)
at
org.tigris.subversion.subclipse.core.resources.LocalFolder.members(LocalFold
er.java:93)
at
org.tigris.subversion.subclipse.core.resources.LocalFolder.isDirty(LocalFold
er.java:143)
at
org.tigris.subversion.subclipse.ui.decorator.SVNLightweightDecorator.isDirty
(SVNLightweightDecorator.java:186)
at
org.tigris.subversion.subclipse.ui.decorator.SVNLightweightDecorator.decorat
e(SVNLightweightDecorator.java:245)
at
org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(L
ightweightDecoratorDefinition.java:220)
at
org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRu
nnable.run(LightweightDecoratorManager.java:65)
at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java
:1015)
at org.eclipse.core.runtime.Platform.run(Platform.java:757)
at
org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(Ligh
tweightDecoratorManager.java:287)
at
org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecoration
s(LightweightDecoratorManager.java:273)
at
org.eclipse.ui.internal.decorators.DecorationScheduler$2.run(DecorationSched
uler.java:317)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:67)
!ENTRY org.eclipse.ui 4 4 2005-08-28 12:42:15.478
!MESSAGE Exception in Decorator
Received on Tue Aug 30 23:38:01 2005