Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 129121 - AssertionError in CompositeContextElement, landmarks blinking
Summary: AssertionError in CompositeContextElement, landmarks blinking
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Mylyn (show other bugs)
Version: 0.4   Edit
Hardware: PC Windows 2000
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Mik Kersten CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-02-23 04:02 EST by Peik Aschan CLA
Modified: 2006-02-27 20:09 EST (History)
1 user (show)

See Also:


Attachments
Test case to make sure that assertions are enabled while running tests (1.25 KB, text/plain)
2006-02-27 00:43 EST, Peik Aschan CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Peik Aschan CLA 2006-02-23 04:02:28 EST
I run Eclipse 3.1.1 + WTP 1.0.0 + Mylar 0.4.8. I had all assertions enabled when I first installed Mylar, and received the error "interest filter failed" several times a minute (apparently whenever Mylar tried to update the filtered view). See stacktrace below.

After i disabled asserions, I was able to get a usable environment, but one problem persists (I'm not sure it is related): the landmarks in the Package Explorer and Outline view blink on and off, usually after saving. (Is this the same as bug 104783?) This is very annoying an may cause epilepsia :-).

Error message and stack trace:

!ENTRY org.eclipse.mylar.core 4 0 2006-02-17 18:29:07.53
!MESSAGE interest filter failed on viewer: class org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$PackageExplorerProblemTreeViewer

!STACK 0
java.lang.AssertionError
	at org.eclipse.mylar.internal.core.CompositeContextElement.<init>(CompositeContextElement.java:33)
	at org.eclipse.mylar.internal.core.CompositeContext.get(CompositeContext.java:53)
	at org.eclipse.mylar.internal.core.MylarContextManager.getElement(MylarContextManager.java:234)
	at org.eclipse.mylar.ui.InterestFilter.select(InterestFilter.java:67)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$PackageExplorerProblemTreeViewer.filter(PackageExplorerPart.java:324)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$PackageExplorerProblemTreeViewer.getFilteredChildren(PackageExplorerPart.java:287)
	at org.eclipse.jface.viewers.StructuredViewer.getSortedChildren(StructuredViewer.java:905)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$PackageExplorerProblemTreeViewer.getSortedChildren(PackageExplorerPart.java:428)
	at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:1707)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1268)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1275)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1245)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1201)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$PackageExplorerProblemTreeViewer.internalRefresh(PackageExplorerPart.java:518)
	at org.eclipse.jface.viewers.StructuredViewer$8.run(StructuredViewer.java:1291)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1201)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$PackageExplorerProblemTreeViewer.preservingSelection(PackageExplorerPart.java:624)
	at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1289)
	at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1246)
	at org.eclipse.mylar.internal.ui.MylarViewerManager.refreshViewer(MylarViewerManager.java:211)
	at org.eclipse.mylar.internal.ui.MylarViewerManager.internalRefresh(MylarViewerManager.java:191)
	at org.eclipse.mylar.internal.ui.MylarViewerManager.access$2(MylarViewerManager.java:188)
	at org.eclipse.mylar.internal.ui.MylarViewerManager$2.run(MylarViewerManager.java:182)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3057)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2716)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
	at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
	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:585)
	at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
	at org.eclipse.core.launcher.Main.run(Main.java:973)
	at org.eclipse.core.launcher.Main.main(Main.java:948)
Comment 1 Mik Kersten CLA 2006-02-24 19:04:31 EST
Fixed, thanks for the report.  Btw, how do you run with all assertions turned on, using a VM flag?  Perhaps our test harness should be doing that...

Regarding the epilepsy, we definitely don't want Mylar to cause that ;)  Yes, it sounds like bug 104783, but the blinking should only be quite infrequent, and in general only on the resource that you're changing.  But perhaps this is different if you have a lot of landmarks.  If possible could you attach a screenshot to that bug report, and mention how much blinks?
Comment 2 Peik Aschan CLA 2006-02-27 00:42:35 EST
I had edited eclipse.ini to contain the line "-enableassertions". Of course you can also enter it in the VM args options as a when starting Eclipse: "eclipse.exe -vmargs -enableassertions". Now I've changed that to "-enableassertions:fi...", so I only see bugs written by Finnish programmers... ;-)

The test harness should definitely run with assertions enabled. In fact, in our own project we have a test case to ensure that this is the case. I'll attach the test if you are interested in using it.
Comment 3 Peik Aschan CLA 2006-02-27 00:43:49 EST
Created attachment 35391 [details]
Test case to make sure that assertions are enabled while running tests
Comment 4 Mik Kersten CLA 2006-02-27 20:09:37 EST
Thanks!  That's a nice and elegant solution, and I've added a similar case to our suite.