anjlab / eclipse-tapestry5-plugin

Eclipse Plugin for Tapestry5
Apache License 2.0
21 stars 9 forks source link

Symbol 'tapestry.scriptaculous' is defined in terms of itself #26

Open nfranke opened 7 years ago

nfranke commented 7 years ago

I see tons of errors like this on the eclipse logs. I'm running 2.13.4. I think this may have something to do with some of the issues I'm having with Eclipse stability. These messages appear quite frequently generating megabytes of logs.

!ENTRY com.anjlab.eclipse.tapestry5 2 0 2017-08-04 17:18:55.524
!MESSAGE Error expanding asset '${tapestry.scriptaculous}/prototype.js'
!STACK 0
java.lang.RuntimeException: Symbol 'tapestry.scriptaculous' is defined in terms of itself (tapestry.scriptaculous --> tapestry.scriptaculous --> ... ~ 2000 more times ... --> tapestry.scriptaculous --> tapestry.scriptaculous).
    at com.anjlab.eclipse.tapestry5.internal.SymbolExpansion.expandSymbol(SymbolExpansion.java:110)
    at com.anjlab.eclipse.tapestry5.internal.SymbolExpansion.valueForSymbol(SymbolExpansion.java:97)
    at com.anjlab.eclipse.tapestry5.internal.SymbolExpansion.expandSymbols(SymbolExpansion.java:81)
    at com.anjlab.eclipse.tapestry5.TapestryProject.expandSymbols(TapestryProject.java:322)
    at com.anjlab.eclipse.tapestry5.TapestryUtils.expandSymbols(TapestryUtils.java:854)
    at com.anjlab.eclipse.tapestry5.Asset.<init>(Asset.java:12)
    at com.anjlab.eclipse.tapestry5.AssetReference.resolveFile(AssetReference.java:18)
    at com.anjlab.eclipse.tapestry5.AbstractFileReference.equals(AbstractFileReference.java:182)
    at com.anjlab.eclipse.tapestry5.views.TreeObject.equals(TreeObject.java:89)
    at org.eclipse.jface.viewers.StructuredViewer.equals(StructuredViewer.java:713)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalFindItem(AbstractTreeViewer.java:1816)
    at org.eclipse.jface.viewers.AbstractTreeViewer.doFindItem(AbstractTreeViewer.java:903)
    at org.eclipse.jface.viewers.StructuredViewer.findItems(StructuredViewer.java:811)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalGetWidgetToSelect(AbstractTreeViewer.java:1727)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpand(AbstractTreeViewer.java:1628)
    at org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:2531)
    at org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:3001)
    at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1469)
    at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:366)
    at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1423)
    at org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeViewer.java:1517)
    at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:292)
    at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1701)
    at com.anjlab.eclipse.tapestry5.views.context.TapestryContextView.setContentProvider(TapestryContextView.java:147)
    at com.anjlab.eclipse.tapestry5.views.context.TapestryContextView.access$1(TapestryContextView.java:143)
    at com.anjlab.eclipse.tapestry5.views.context.TapestryContextView$1$1.run(TapestryContextView.java:93)
    at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:162)
    at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:154)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4155)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3772)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:694)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:606)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
dmitrygusev commented 7 years ago

Looks like recursion in symbol definition.

@nfranke how does the tapestry.scriptaculous symbol defined in your setup? Can you confirm you can run the app without errors?

Which Tapestry version is that? Does it happen on all pages/components or just some of them? Are you @Injecting any assets in failing components?

nfranke commented 7 years ago

I'm using Tapestry 5.3.7 and I have not defined tapestry.scriptaculous. That's part of the default config.

nfranke commented 7 years ago

I can't tell what's failing, exactly. I get hundreds of these in the logs.