Project tree still broken by bad JSP code in 3341 :(
I do get a new exception, but the project tree still fails to show up on
startup if I have my project's web folder expanded during the previous close.
Below is the exception. It seems to be a different file causing the problem,
though -- wasn't the text of the file supposed to be displayed when parsing
errors preventing the project tree from drawing?
--Mike
Operation is not supported
java.lang.RuntimeException: Operation is not supported
at com.intellij.psi.impl.source.parsing.jsp.ConditionalLexer.start(ConditionalLexer.java:141)
at com.intellij.lexer.MergingLexerAdapter.start(MergingLexerAdapter.java:29)
at com.intellij.lexer.LexerBase.restore(LexerBase.java:15)
at com.intellij.lexer.FilterLexer.restore(FilterLexer.java:102)
at com.intellij.psi.impl.source.parsing.tabular.ParserPosition.restorePosition(ParserPosition.java:11)
at com.intellij.psi.impl.source.parsing.tabular.impl.ParserStackImpl.restoreLastPosition(ParserStackImpl.java:16)
at com.intellij.psi.impl.source.parsing.tabular.impl.ParserImpl.a(ParserImpl.java:209)
at com.intellij.psi.impl.source.parsing.tabular.impl.ParserImpl.parse(ParserImpl.java:242)
at com.intellij.psi.impl.source.parsing.tabular.impl.ParserImpl.parse(ParserImpl.java:151)
at com.intellij.psi.impl.source.jsp.JspxParsing.parseJsp(JspxParsing.java:63)
at com.intellij.psi.impl.source.tree.JspElementType$1.parseContents(JspElementType.java:0)
at com.intellij.psi.impl.source.tree.ChameleonElement.transform(ChameleonElement.java:50)
at com.intellij.psi.impl.source.parsing.ChameleonTransforming.transform(ChameleonTransforming.java:15)
at com.intellij.psi.impl.source.tree.ChameleonElement.getTransformedLastOrSelf(ChameleonElement.java:53)
at com.intellij.psi.impl.source.tree.SharedImplUtil.getLastChild(SharedImplUtil.java:8)
at com.intellij.psi.impl.source.TreeWrapperPsiElement.getLastChild(TreeWrapperPsiElement.java:50)
at com.intellij.psi.impl.source.jsp.JspJavaTextGenerator.]]>(JspJavaTextGenerator.java:71)
at com.intellij.psi.impl.source.jsp.JspxParsing.a(JspxParsing.java:200)
at com.intellij.psi.impl.source.jsp.JspxParsing.parseJspDeclarations(JspxParsing.java:17)
at com.intellij.psi.impl.source.jsp.jspJava.JspClass$2.run(JspClass.java:3)
at com.intellij.psi.impl.source.jsp.jspJava.NonReentrantExecutor.execute(NonReentrantExecutor.java:1)
at com.intellij.psi.impl.source.jsp.jspJava.JspClass.b(JspClass.java:146)
at com.intellij.psi.impl.source.jsp.jspJava.JspClass.synchronizeWithXmlTree(JspClass.java:181)
at com.intellij.psi.impl.source.jsp.JspxFileImpl.getJavaRoot(JspxFileImpl.java:91)
at com.intellij.psi.impl.source.jsp.JspxFileImpl.getClasses(JspxFileImpl.java:80)
at com.intellij.ide.projectView.impl.ClassesTreeStructureProvider.modify(ClassesTreeStructureProvider.java:20)
at com.intellij.ide.util.treeView.AbstractTreeStructureBase.getChildElements(AbstractTreeStructureBase.java:7)
at com.intellij.ide.util.treeView.AbstractTreeBuilder.c(AbstractTreeBuilder.java:133)
at com.intellij.ide.util.treeView.AbstractTreeBuilder.b(AbstractTreeBuilder.java:65)
at com.intellij.ide.util.treeView.AbstractTreeBuilder.updateSubtree(AbstractTreeBuilder.java:140)
at com.intellij.ide.util.treeView.AbstractTreeUpdater.updateSubtree(AbstractTreeUpdater.java:2)
at com.intellij.ide.util.treeView.AbstractTreeUpdater.performUpdate(AbstractTreeUpdater.java:41)
at com.intellij.ide.util.treeView.AbstractTreeBuilder.expandNodeChildren(AbstractTreeBuilder.java:218)
at com.intellij.ide.projectView.BaseProjectTreeBuilder.expandNodeChildren(BaseProjectTreeBuilder.java:1)
at com.intellij.ide.util.treeView.AbstractTreeBuilder$MyExpansionListener.treeExpanded(AbstractTreeBuilder.java:42)
at javax.swing.JTree.fireTreeExpanded(JTree.java:2245)
at javax.swing.JTree.setExpandedState(JTree.java:3006)
at javax.swing.JTree.expandPath(JTree.java:1742)
at com.intellij.ide.util.treeView.TreeState.applyTo(TreeState.java:160)
at com.intellij.ide.util.treeView.TreeState.applyTo(TreeState.java:169)
at com.intellij.ide.util.treeView.TreeState.applyTo(TreeState.java:169)
at com.intellij.ide.util.treeView.TreeState.applyTo(TreeState.java:169)
at com.intellij.ide.util.treeView.TreeState.applyTo(TreeState.java:139)
at com.intellij.ide.util.treeView.TreeState.applyTo(TreeState.java:134)
at com.intellij.ide.projectView.impl.AbstractProjectViewPane.restoreState(AbstractProjectViewPane.java:106)
at com.intellij.ide.projectView.impl.AbstractProjectViewPSIPane.initTree(AbstractProjectViewPSIPane.java:4)
at com.intellij.ide.projectView.impl.AbstractProjectViewPSIPane$5.run(AbstractProjectViewPSIPane.java:3)
at com.intellij.ide.startup.impl.StartupManagerImpl.a(StartupManagerImpl.java:0)
at com.intellij.ide.startup.impl.StartupManagerImpl.runPostStartupActivities(StartupManagerImpl.java:22)
at com.intellij.openapi.project.impl.ProjectManagerImpl.openProject(ProjectManagerImpl.java:278)
at com.intellij.ide.impl.ProjectUtil.openProject(ProjectUtil.java:79)
at com.intellij.idea.IdeaApplication.d(IdeaApplication.java:21)
at com.intellij.idea.IdeaApplication.access$500(IdeaApplication.java:41)
at com.intellij.idea.IdeaApplication$IdeStarter$2.run(IdeaApplication.java:5)
at com.intellij.openapi.application.impl.LaterInvocatorEx$FlushQueue.run(LaterInvocatorEx.java:6)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:39)
at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:10)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:52)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Please sign in to leave a comment.
Attached is the file that breaks the project tree -- the problem seems to be the fact that it produces XML. And, unfortunately, as before it's part of an application is in maintenance mode: I didn't write it and I'm not allowed to change it. This one is simple enough that there's no significant IP in it, so I'm attaching it unmodified.
--Mike
Attachment(s):
legacyDocumentException.jsp
Guys,
this starts to get really annoying. The bugs are something normal for a beta, so it's ok, but when such a critical bug stays unfixed for 3 consecutive builds (e.g. ~ 2 weeks) it's too hard to overcome. Such kind of bugs stop us working normaly, but also stop us testing normaly, so ... it's good for both sides to get this fixed at last ;).