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

Bug 336050

Summary: [dot4zest] XtextReconcilerJob error for each file change
Product: [Tools] GEF Reporter: Lars Steinke <libra>
Component: GEF-Legacy ZestAssignee: Fabian Steeg <steeg>
Status: CLOSED WONTFIX QA Contact:
Severity: enhancement    
Priority: P3 CC: steeg
Version: 3.6.1   
Target Milestone: ---   
Hardware: All   
OS: All   
URL: http://wiki.eclipse.org/Graphviz_DOT_as_a_DSL_for_Zest
Whiteboard:
Attachments:
Description Flags
Exclipse .log
none
Updated .log
none
Updated .log
none
Update after complete reinstall none

Description Lars Steinke CLA 2011-02-02 05:38:46 EST
Upon every change in a dot file, Eclipse pops up a problem window with:
An internal error occurred during: "XtextReconcilerJob".
org.apache.log4j.Logger.isTraceEnabled()Z

This happens even for the simple example from the Wiki page:
digraph s{ 
 n1[label="Node 1"]; n2[label="Node 2"]; 
 n1 -> n2[style=dotted label="A dotted edge"]
}

The issue has occured after running dot4zest sucessfully for a while, but at some stage Eclipse came up with an Xtext related popup at startup (which I do unfortunately no longer recall), which might have started off the issue.
Comment 1 Fabian Steeg CLA 2011-02-02 11:34:25 EST
I'd guess the Xtext-related popup asked you about adding the Xtext nature to your project. For me it works fine both with and without the Xtext nature, but you could try removing it from your project and see if that makes a difference (project context menu > Configure > Remove Xtext Nature).
Comment 2 Lars Steinke CLA 2011-02-03 05:24:21 EST
You were right that the Xtext-related popup probably asked about adding the Xtext nature to the project. Unfortunately, after removing it from the project and restarting Eclipse (the pop-up actually asks me about adding the Xtext nature again, which I decline), the XtextReconcilerJob problem still remains...
Comment 3 Fabian Steeg CLA 2011-02-03 07:33:17 EST
Could you attach your workspace/.metadata/.log file and tell me which versions of Xtext and dot4zest you have installed (About Eclipse > Installation Details)?
Comment 4 Lars Steinke CLA 2011-02-04 05:12:11 EST
Created attachment 188300 [details]
Exclipse .log
Comment 5 Lars Steinke CLA 2011-02-04 05:12:40 EST
dot4zest:
0.10.0.v20101108-1900
Xtext SDK:
1.0.1.v201008251220
Comment 6 Lars Steinke CLA 2011-02-04 05:33:01 EST
Created attachment 188302 [details]
Updated .log

I have uninstalled dot4zest, Zest, JET, Xtext, MWE and Xtext Antlr.

Removed all the update sites but Eclipse Helios and http://quui.de/updates and started from scratch by installing dot4zest - which should draw in all dependencies, right? 

The result is now:
java.lang.NoSuchFieldError: ruleMemo
	at org.eclipse.zest.internal.dot.parser.parser.antlr.internal.InternalDotParser.<init>(InternalDotParser.java:43)
	at org.eclipse.zest.internal.dot.parser.parser.antlr.internal.InternalDotParser.<init>(InternalDotParser.java:60)
	at org.eclipse.zest.internal.dot.parser.parser.antlr.DotParser.createParser(DotParser.java:40)
	at org.eclipse.zest.internal.dot.parser.parser.antlr.DotParser.parse(DotParser.java:26)
	at org.eclipse.xtext.parser.antlr.AbstractAntlrParser.doParse(AbstractAntlrParser.java:57)
	at org.eclipse.xtext.parser.AbstractParser.parse(AbstractParser.java:46)
	at org.eclipse.xtext.resource.XtextResource.doLoad(XtextResource.java:146)
	at org.eclipse.xtext.linking.lazy.LazyLinkingResource.doLoad(LazyLinkingResource.java:63)
	at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1494)
	at org.eclipse.xtext.ui.editor.model.XtextDocumentProvider.loadResource(XtextDocumentProvider.java:120)
	at org.eclipse.xtext.ui.editor.model.XtextDocumentProvider.setDocumentContent(XtextDocumentProvider.java:103)
	at org.eclipse.ui.editors.text.StorageDocumentProvider.createDocument(StorageDocumentProvider.java:229)
	at org.eclipse.ui.editors.text.FileDocumentProvider.createElementInfo(FileDocumentProvider.java:735)
	at org.eclipse.xtext.ui.editor.model.XtextDocumentProvider.createElementInfo(XtextDocumentProvider.java:131)
	at org.eclipse.ui.texteditor.AbstractDocumentProvider.connect(AbstractDocumentProvider.java:400)
	at org.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:4056)
	at org.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:217)
	at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.doSetInput(AbstractDecoratedTextEditor.java:1444)
	at org.eclipse.ui.editors.text.TextEditor.doSetInput(TextEditor.java:169)
	at org.eclipse.xtext.ui.editor.XtextEditor.doSetInput(XtextEditor.java:149)
	at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3043)
	at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
	at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)
	at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2600)
	at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3061)
	at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3088)
	at org.eclipse.xtext.ui.editor.XtextEditor.init(XtextEditor.java:169)
	at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:798)
	at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:647)
	at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
	at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:289)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2863)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2768)
	at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2760)
	at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2711)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2707)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2691)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2682)
	at org.eclipse.ui.ide.IDE.openEditor(IDE.java:651)
	at org.eclipse.ui.ide.IDE.openEditor(IDE.java:610)
	at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:365)
	at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:168)
	at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:229)
	at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:208)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:274)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:250)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handleOpen(PackageExplorerActionGroup.java:373)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$4.open(PackageExplorerPart.java:526)
	at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48)
	at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:845)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
	at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:843)
	at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1131)
	at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1235)
	at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:264)
	at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:258)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:298)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	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:369)
	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:619)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
Comment 7 Lars Steinke CLA 2011-02-04 05:40:06 EST
Created attachment 188303 [details]
Updated .log
Comment 8 Lars Steinke CLA 2011-02-04 05:54:00 EST
Created attachment 188304 [details]
Update after complete reinstall

Everything freshly installed, back to the java.lang.NoSuchMethodError: org.apache.log4j.Logger.isTraceEnabled()Z
	at org.eclipse.xtext.ui.editor.reconciler.XtextReconcilerUnitOfWork.process(XtextReconcilerUnitOfWork.java:47)

Anwhere I can reset the dot4zest specific settings???

  dot4zest	0.10.0.v20101108-1900	org.eclipse.zest.dot.feature.group
  Eclipse IDE for Java Developers	1.3.1.20100916-1202	epp.package.java
  Graphical Editing Framework Zest Visualization Toolkit SDK	1.2.0.v20100519-2050-67908COKMFAKPYIEUdUVWhXYN8VN	org.eclipse.zest.sdk.feature.group
  Jalopy Java Source Code Formatter	0.2.1.5rc3	de.hunsicker.jalopy.plugin.eclipse.feature.group
  Java Emitter Templates (JET) SDK	1.1.0.v201006011447-42-86A3NrKJOOHXQlFdKR4A35	org.eclipse.jet.sdk.feature.group
  MWE 2 runtime SDK	1.0.1.v201008251113	org.eclipse.emf.mwe2.runtime.sdk.feature.group
  MWE SDK	1.0.0.v201008251122	org.eclipse.emf.mwe.sdk.feature.group
  ResourceBundle Editor Plug-in	0.7.7	com.essiembre.eclipse.i18n.resourcebundle.feature.group
  Subclipse (Required)	1.6.17	org.tigris.subversion.subclipse.feature.group
  Subversion Client Adapter (Required)	1.6.12	org.tigris.subversion.clientadapter.feature.feature.group
  Subversion JavaHL Native Library Adapter (Required)	1.6.15	org.tigris.subversion.clientadapter.javahl.feature.feature.group
  Xtext Antlr Runtime Feature	1.0.1.v201008261834	de.itemis.xtext.antlr.feature.feature.group
  Xtext SDK	1.0.1.v201008251220	org.eclipse.xtext.sdk.feature.group
Comment 9 Fabian Steeg CLA 2011-02-04 09:41:15 EST
I have downloaded a fresh Helios for Java, installed dot4zest from the external update site and tried the DOT input from your original comment (both in a project with and without the Xtext nature) and I have no issues. This is on Mac Cocoa 64, but it doesn't look like a platform-specific problem to me.

Since you're getting java.lang.NoSuchFieldError and java.lang.NoSuchMethodError on dependencies, perhaps there is some different version of a dependency being picked up, perhaps contributed by some other plugin you have installed.
Comment 10 Lars Steinke CLA 2011-02-07 04:12:32 EST
Well, thanks for your help, anyway. 

I had a colleague install dot4zest on his Helios installation and it worked as well (at least for now). Then, I reverted my own Eclipse installation back to before my dot4zest installation (I had only updated Subclipse from 1.6.15 to 1.6.17 in the meantime) and reinstalled dot4zest on that old configuration. No change sadly enough, sigh...

A completely fresh installation of Helios seems to have done the trick - I can only assume some JAR in the plugins sub-directory (which I had cleaned out as well) was still being picked up by Xtext unintentionally.