Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 317653

Summary: Tigerstripe behaves erratically
Product: [Technology] Tigerstripe Reporter: Chris Hartley <chrhartl>
Component: CoreAssignee: Richard Craddock <rcraddoc>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: P3 CC: erdillon
Version: 0.5M1   
Target Milestone: 0.5M0   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Chris Hartley CLA 2010-06-23 01:57:33 EDT
The new release keeps rebuilding at odd times.
Also I am now getting these new errors

eclipse.buildId=M20090917-0800
java.version=1.6.0_18
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_AU
Framework arguments:  -vm C:\jdk1.6\bin\javaw.exe
Command-line arguments:  -os win32 -ws win32 -arch x86 -vm C:\jdk1.6\bin\javaw.exe


Error
Wed Jun 23 15:23:04 CST 2010
Unhandled event loop exception

org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
	at org.eclipse.swt.SWT.error(SWT.java:3884)
	at org.eclipse.swt.SWT.error(SWT.java:3799)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:137)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3855)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3476)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
Caused by: org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:3884)
	at org.eclipse.swt.SWT.error(SWT.java:3799)
	at org.eclipse.swt.SWT.error(SWT.java:3770)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:463)
	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:336)
	at org.eclipse.swt.widgets.Text.setText(Text.java:1950)
	at org.eclipse.tigerstripe.workbench.ui.internal.editors.artifacts.ArtifactGeneralInfoSection.updateForm(ArtifactGeneralInfoSection.java:548)
	at org.eclipse.tigerstripe.workbench.ui.internal.editors.artifacts.ArtifactGeneralInfoSection.refresh(ArtifactGeneralInfoSection.java:425)
	at org.eclipse.ui.forms.ManagedForm.doRefresh(ManagedForm.java:206)
	at org.eclipse.ui.forms.ManagedForm.access$0(ManagedForm.java:201)
	at org.eclipse.ui.forms.ManagedForm$1.run(ManagedForm.java:195)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
	... 23 more
Comment 1 Eric Dillon CLA 2010-06-23 02:34:05 EDT
A side effect of the resource change notifications?
Comment 2 Chris Hartley CLA 2010-06-25 03:16:54 EDT
When it rebuilds after a SVN update it is also dirtying diagrams.

I haven't been able to determine what it is actually changing though.
Comment 3 Chris Hartley CLA 2010-06-27 19:13:26 EDT
Tried doing some comparisons on the diagram updates.
Eclipse sees them as exactly the same, so I don't know why TS is dirtying them on SVN update.
This is becoming annoying !!
Comment 4 Richard Craddock CLA 2010-07-01 03:10:26 EDT
When you say the diagrams go dirty on an SVN update - are you updating the diagram, or the contained artifacts ?

I think I know what is happening, jusy trying to make sure I get the right case..
Comment 5 Richard Craddock CLA 2010-07-01 05:39:41 EDT
Commiting a fix for the diagram update issue.

I changed teh signature of the notifyArtifactChanged to take the new and old artifacts.

Then, in the diagram synchronisers, I use the Compare functionality to see if there are any differences to the artifacts and only update the diagram if that is the case.

I put the compare logic here (rather than at the ArtifactManager end), so that we can "tweak" the levels of compare used by the various clients.

For example, diagrams don't care if the comments on an artifact have changed...so the Comparer level used there could ignore that.
Comment 6 Chris Hartley CLA 2010-07-01 06:01:18 EDT
So this happens when I do an update of artifacts.
Then suddenly diagrams start showing up in the synchronisation window that weren't there before.

When I compare them the diagrams show no changes that I can see.
Comment 7 Richard Craddock CLA 2010-07-01 06:04:25 EDT
I have "handled" the error listed here in teh editor.

However, there may well be others behind it, and I'm sure its not the root cause.

It seems to suggest that the editor has been disposed - then troes to get updated.

Does this appear on an artifact delete ?
Comment 8 Richard Craddock CLA 2010-07-01 06:30:26 EDT
Chris, 

can you update to this latest one and see if it improves matters?

Any example scenario of what you *think* might be causing the builds would be helful - even if you are not sure.

Its almost certainly because we are payng a bit more attention to the workspace changes than we were before -!
Comment 9 Richard Craddock CLA 2010-07-14 05:01:55 EDT
This was fixed by a patch to the GMF code - provided by Yuri