Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Asking to navigate into an unknown controller causes seemingly infinite loop #38

Closed
davidmichaelkarr opened this issue Mar 20, 2014 · 4 comments

Comments

@davidmichaelkarr
Copy link

I have a project that works, but for some reason the plugin isn't recognizing my controller references. I don't know why that's happening, but that's a different problem.

I had a crazy idea of simply putting my cursor on the controller name reference and pressing the key I have bound to navigate to that component (F3, in my case), just to see what it would do. I figured it would report an error, saying it can't find it, or perhaps magically find it. What happened was that it turned on the watch cursor at that point and never completed. I eventually killed the process 10 minutes later. While it was running, I thought to tail the Eclipse log file, and nothing new was appearing. However, when I looked further back in the file, I noticed a large number of exceptions like the following:


!ENTRY org.eclipse.ui.navigator 4 0 2014-03-20 10:12:55.541
!MESSAGE An exception occurred invoking extension: org.springframework.ide.eclipse.beans.ui.navigator.projectExplorerContent for object org.eclipse.jface.viewers.TreePath@6dd11785
!STACK 0
java.lang.IllegalArgumentException: [Assertion failed] - this argument is required; it must not be null
at org.springframework.util.Assert.notNull(Assert.java:112)
at org.springframework.util.Assert.notNull(Assert.java:123)
at org.springframework.ide.eclipse.beans.core.internal.model.BeansModelUtils.getBeanClass(BeansModelUtils.java:176)
at org.springframework.ide.eclipse.metadata.ui.AnnotationMetadataContentProvider.getChildren(AnnotationMetadataContentProvider.java:58)
at org.springframework.ide.eclipse.beans.ui.model.BeansModelContentProvider.getChildren(BeansModelContentProvider.java:146)
at org.springframework.ide.eclipse.beans.ui.navigator.BeansNavigatorContentProvider.getChildren(BeansNavigatorContentProvider.java:96)
at org.springframework.ide.eclipse.beans.ui.model.BeansModelContentProvider.getChildren(BeansModelContentProvider.java:366)
at org.springframework.ide.eclipse.beans.ui.model.BeansModelContentProvider.hasChildren(BeansModelContentProvider.java:375)
at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.hasChildren(SafeDelegateTreeContentProvider.java:284)
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.callNormalHasChildren(NavigatorContentServiceContentProvider.java:428)
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.access$4(NavigatorContentServiceContentProvider.java:425)
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider$3.run(NavigatorContentServiceContentProvider.java:395)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.hasChildren(NavigatorContentServiceContentProvider.java:381)
at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.hasChildren(NavigatorContentServiceContentProvider.java:422)
at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:2138)
at org.eclipse.jface.viewers.TreeViewer.isExpandable(TreeViewer.java:588)
at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:2176)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1767)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1780)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1780)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1780)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1780)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1780)
at org.eclipse.jface.viewers.AbstractTreeViewer.expandToLevel(AbstractTreeViewer.java:1075)
at org.eclipse.jface.viewers.AbstractTreeViewer.expandToLevel(AbstractTreeViewer.java:1056)
at org.eclipse.jface.viewers.AbstractTreeViewer.expandAll(AbstractTreeViewer.java:1045)
at org.eclipse.mylyn.internal.context.ui.FocusedViewerManager.updateExpansionState(FocusedViewerManager.java:413)
at org.eclipse.mylyn.internal.context.ui.FocusedViewerManager.access$1(FocusedViewerManager.java:398)
at org.eclipse.mylyn.internal.context.ui.FocusedViewerManager$FocusedViewerDelayedRefreshJob.doRefresh(FocusedViewerManager.java:112)
at org.eclipse.mylyn.commons.workbench.DelayedRefreshJob.runInUIThread(DelayedRefreshJob.java:97)
at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:95)
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:4145)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3762)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:610)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
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:354)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)

at org.eclipse.equinox.launcher.Main.main(Main.java:1426)

There were also quite a few exceptions reporting an inability to create a Node process, but that isn't a new problem. I've been seeing many of those since I started using this.

Here's the that other exception:

!ENTRY org.eclipse.angularjs.ui 4 0 2014-03-20 11:58:55.190
!MESSAGE Error while tern validator.
!STACK 0
tern.TernException: tern.server.nodejs.process.NodejsProcessException: Cannot start node process.
at tern.server.nodejs.NodejsTernServer.request(NodejsTernServer.java:298)
at tern.eclipse.ide.core.IDETernProject.request(IDETernProject.java:656)
at tern.eclipse.ide.core.IDETernProject.request(IDETernProject.java:650)
at org.eclipse.angularjs.internal.ui.validation.HTMLAngularContentValidator.find(HTMLAngularContentValidator.java:122)
at org.eclipse.angularjs.internal.ui.validation.HTMLAngularContentValidator.doValidate(HTMLAngularContentValidator.java:71)
at org.eclipse.angularjs.internal.ui.validation.AbstractValidator.validate(AbstractValidator.java:144)
at org.eclipse.angularjs.internal.ui.validation.AbstractValidator.validate(AbstractValidator.java:126)
at org.eclipse.angularjs.internal.ui.validation.AbstractValidator.validate(AbstractValidator.java:110)
at org.eclipse.wst.sse.ui.internal.reconcile.validator.ReconcileStepForValidator.validate(ReconcileStepForValidator.java:381)
at org.eclipse.wst.sse.ui.internal.reconcile.validator.ReconcileStepForValidator.reconcileModel(ReconcileStepForValidator.java:259)
at org.eclipse.jface.text.reconciler.AbstractReconcileStep.reconcile(AbstractReconcileStep.java:95)
at org.eclipse.wst.sse.ui.internal.reconcile.validator.ValidatorStrategy.reconcile(ValidatorStrategy.java:269)
at org.eclipse.wst.sse.ui.internal.reconcile.DocumentRegionProcessor.process(DocumentRegionProcessor.java:321)
at org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor.process(StructuredRegionProcessor.java:258)
at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:691)
Caused by: tern.server.nodejs.process.NodejsProcessException: Cannot start node process.
at tern.server.nodejs.process.NodejsProcess.start(NodejsProcess.java:327)
at tern.server.nodejs.NodejsTernServer.getBaseURL(NodejsTernServer.java:184)
at tern.server.nodejs.NodejsTernServer.makeRequest(NodejsTernServer.java:156)
at tern.server.nodejs.NodejsTernServer.request(NodejsTernServer.java:290)

... 14 more

@angelozerr
Copy link
Owner

Your trace shows you that node.js process was not able to start it. It seems that it was because your node.js path which was not configured correctly. No?

Note that in the version that you have installed, you can stop the node.js tern server with teh Eclipse Console if you have choosen "Trace on console". See https://github.com/angelozerr/angularjs-eclipse/wiki/Getting-Started#troubleshooting for more info.

@davidmichaelkarr
Copy link
Author

No, this is happening after I reset the path to be correct. The Tern console is showing data coming back (although requests where the query expression specifies a controller name always gets back an empty response, but that's perhaps related to my original problem).

I don't see how turning on "Trace on console" would do anything for this problem. The entire Eclipse window is frozen when this happens. The ONLY thing I can do at this point is kill the process.

@angelozerr
Copy link
Owner

I cannot reproduce your problem. Could you retry with last version please.

@angelozerr
Copy link
Owner

As I have none answer, I close this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants