This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
After the latest fixes regressions caused by fix of issue #87014, I am experiencing strange bahaviour of the dynamicaly embedded languages in JSP. 1) embedded CSS doesn't work properly - issue #114346 2) I am getting to following situation when modifying the embedded css: a) create an empty JSP b) put inside: <style> </style> c) type 'X' into the css block d) wait until the parser finishes (about 1-2 sec) e) type 'x' again f) you will get following exc. which signal invalid state of the token sequence: java.lang.IllegalStateException: Token.text() of <null> == null without any previous modification of the underlying document! This seems to be a bug in lexer. Please report the issue to lexer module and attach the info dumped into the log, the document and possibly steps to reproduce. at org.netbeans.modules.html.editor.coloring.EmbeddingUpdater.createEmbedding(EmbeddingUpdater.java:263) at org.netbeans.modules.html.editor.coloring.EmbeddingUpdater.endTag(EmbeddingUpdater.java:166) at org.netbeans.modules.html.editor.coloring.EmbeddingUpdater.parsingFinished(EmbeddingUpdater.java:92) at org.netbeans.editor.ext.html.parser.SyntaxParser.notifyParsingFinished(SyntaxParser.java:188) at org.netbeans.editor.ext.html.parser.SyntaxParser.parse(SyntaxParser.java:154) at org.netbeans.editor.ext.html.parser.SyntaxParser.access$200(SyntaxParser.java:44) at org.netbeans.editor.ext.html.parser.SyntaxParser$2.run(SyntaxParser.java:98) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:539) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:964) TokenSequence: T[0]: <null-text>, TEXT[0], 7, 3, DefT, la=1, st=8000, IHC=22077912; EC-IHC=18561514 Embedding[0]: "text/x-jsp/text/html/text/x-css" *[1]: <null-text>, TAG_OPEN_SYMBOL[14], 10, 2, DefT, la=1, st=9000, IHC=7823456; EC-IHC=22572032 Embedding[0]: "text/x-jsp/text/html/text/x-css" The issue also seems to cause some other weird editor behaviour in some case, please address asap, thanks.
Yes, I've already found a cause of this problem yesterday and I have the fix almost finished. I've also made some refactoring of the lexer's updating process. I plan to integrate it today.
Apologies, I there was one thing that delayed me. The exception should no longer occur now. As a side effect of the fix I have also improved debugging of the TokenHierarchy i.e. TH.toString(). It now outputs list of existing token list lists (for TH.tokenSequenceList()). Ruby tests should pass as well. Checking in lexer/src/org/netbeans/lib/lexer/TokenHierarchyOperation.java; /cvs/lexer/src/org/netbeans/lib/lexer/TokenHierarchyOperation.java,v <-- TokenHierarchyOperation.java new revision: 1.21; previous revision: 1.20 done Checking in lexer/src/org/netbeans/lib/lexer/LexerUtilsConstants.java; /cvs/lexer/src/org/netbeans/lib/lexer/LexerUtilsConstants.java,v <-- LexerUtilsConstants.java new revision: 1.17; previous revision: 1.16 done Checking in lexer/src/org/netbeans/lib/lexer/TokenListList.java; /cvs/lexer/src/org/netbeans/lib/lexer/TokenListList.java,v <-- TokenListList.java new revision: 1.5; previous revision: 1.4 done Checking in lexer/src/org/netbeans/lib/lexer/EmbeddedTokenList.java; /cvs/lexer/src/org/netbeans/lib/lexer/EmbeddedTokenList.java,v <-- EmbeddedTokenList.java new revision: 1.11; previous revision: 1.10 done RCS file: /cvs/lexer/src/org/netbeans/lib/lexer/TokenHierarchyUpdate.java,v done Checking in lexer/src/org/netbeans/lib/lexer/TokenHierarchyUpdate.java; /cvs/lexer/src/org/netbeans/lib/lexer/TokenHierarchyUpdate.java,v <-- TokenHierarchyUpdate.java initial revision: 1.1 done Checking in lexer/src/org/netbeans/lib/lexer/EmbeddingContainer.java; /cvs/lexer/src/org/netbeans/lib/lexer/EmbeddingContainer.java,v <-- EmbeddingContainer.java new revision: 1.13; previous revision: 1.12 done Checking in lexer/src/org/netbeans/lib/lexer/inc/TokenListUpdater.java; /cvs/lexer/src/org/netbeans/lib/lexer/inc/TokenListUpdater.java,v <-- TokenListUpdater.java new revision: 1.18; previous revision: 1.17 done Checking in lexer/src/org/netbeans/lib/lexer/inc/IncTokenList.java; /cvs/lexer/src/org/netbeans/lib/lexer/inc/IncTokenList.java,v <-- IncTokenList.java new revision: 1.12; previous revision: 1.11 done Checking in lexer/src/org/netbeans/lib/lexer/inc/TokenHierarchyEventInfo.java; /cvs/lexer/src/org/netbeans/lib/lexer/inc/TokenHierarchyEventInfo.java,v <-- TokenHierarchyEventInfo.java new revision: 1.6; previous revision: 1.5 done Checking in editor/util/src/org/netbeans/lib/editor/util/CharSequenceUtilities.java; /cvs/editor/util/src/org/netbeans/lib/editor/util/CharSequenceUtilities.java,v <-- CharSequenceUtilities.java new revision: 1.8; previous revision: 1.7 done Checking in lexer/test/unit/src/org/netbeans/lib/lexer/test/LexerTestUtilities.java; /cvs/lexer/test/unit/src/org/netbeans/lib/lexer/test/LexerTestUtilities.java,v <-- LexerTestUtilities.java new revision: 1.12; previous revision: 1.11 done Checking in lexer/test/unit/src/org/netbeans/lib/lexer/JoinSectionsTest.java; /cvs/lexer/test/unit/src/org/netbeans/lib/lexer/JoinSectionsTest.java,v <-- JoinSectionsTest.java new revision: 1.5; previous revision: 1.4 done Checking in lexer/src/org/netbeans/api/lexer/TokenUtilities.java; /cvs/lexer/src/org/netbeans/api/lexer/TokenUtilities.java,v <-- TokenUtilities.java new revision: 1.4; previous revision: 1.3 done Checking in lexer/src/org/netbeans/api/lexer/TokenSequence.java; /cvs/lexer/src/org/netbeans/api/lexer/TokenSequence.java,v <-- TokenSequence.java new revision: 1.14; previous revision: 1.13 done
Oops, I've got one more exc :( Reopening. java.lang.NullPointerException at org.netbeans.lib.lexer.TokenHierarchyUpdate$TLLInfo.doMarking(TokenHierarchyUpdate.java:524) at org.netbeans.lib.lexer.TokenHierarchyUpdate$TLLInfo.markRemoved(TokenHierarchyUpdate.java:377) at org.netbeans.lib.lexer.TokenHierarchyUpdate.markRemovedEmbeddings(TokenHierarchyUpdate.java:279) at org.netbeans.lib.lexer.TokenHierarchyUpdate.processNonBoundsChange(TokenHierarchyUpdate.java:222)
Additional fix of the NPE and token list list initialization. Checking in EmbeddedTokenList.java; /cvs/lexer/src/org/netbeans/lib/lexer/EmbeddedTokenList.java,v <-- EmbeddedTokenList.java new revision: 1.12; previous revision: 1.11 done Checking in TokenHierarchyUpdate.java; /cvs/lexer/src/org/netbeans/lib/lexer/TokenHierarchyUpdate.java,v <-- TokenHierarchyUpdate.java new revision: 1.2; previous revision: 1.1 done Removing EmbeddedLexerInputOperation.java; /cvs/lexer/src/org/netbeans/lib/lexer/EmbeddedLexerInputOperation.java,v <-- EmbeddedLexerInputOperation.java new revision: delete; previous revision: 1.1 done Checking in TokenListList.java; /cvs/lexer/src/org/netbeans/lib/lexer/TokenListList.java,v <-- TokenListList.java new revision: 1.6; previous revision: 1.5 done
After commiting fixes to Checking in web/jspsyntax/lexer/src/org/netbeans/lib/jsp/lexer/JspLexer.java; new revision: 1.27; previous revision: 1.26 Checking in html/lexer/src/org/netbeans/lib/html/lexer/HTMLLexer.java; new revision: 1.18; previous revision: 1.17 the JSP editor is almost unusable, this seems not to be regressions of the fixes, they just probably revealed other problems in the infrastructure. Just try to open any JSP and type <%@ ... you will got some exceptions, the editor text is disappearing, you have to close the file :-|. I tend to think this is a P1...
Created attachment 48254 [details] AssertionError metioned by Marek
But the steps to reproduce on my box are little different: 1) type in a .jsp <% out.print("AA"); % 2) save it 3) type > 4) undo or remove the last > ERROR: IDE throws the AssertionError
Agree with Marek's opinion, it is Beta1 stopper. Increasing priority to P1.
Hopefully fixed. The assertion should no longer occur in the mentioned case. I did not experience any assertions during jsp editing so far. Syntax coloring of <a href="aa${xbb}aa"/> seems to be updated fine. However I'm experiencing a repaint problem (text not shown) when opening a ruby file with just a single line with a comment. First I thought it's because of the lexer but I did not find any inconsistency. Later I've reproduced the same behavior with the .properties file which does not use the lexer so it should be somewhere else than in the lexer. I will investigate it further. Checking in TokenHierarchyOperation.java; /cvs/lexer/src/org/netbeans/lib/lexer/TokenHierarchyOperation.java,v <-- TokenHierarchyOperation.java new revision: 1.22; previous revision: 1.21 done Checking in LexerUtilsConstants.java; /cvs/lexer/src/org/netbeans/lib/lexer/LexerUtilsConstants.java,v <-- LexerUtilsConstants.java new revision: 1.18; previous revision: 1.17 done Checking in TokenHierarchyUpdate.java; /cvs/lexer/src/org/netbeans/lib/lexer/TokenHierarchyUpdate.java,v <-- TokenHierarchyUpdate.java new revision: 1.3; previous revision: 1.2 done Checking in EmbeddingContainer.java; /cvs/lexer/src/org/netbeans/lib/lexer/EmbeddingContainer.java,v <-- EmbeddingContainer.java new revision: 1.14; previous revision: 1.13 done Checking in TokenListList.java; /cvs/lexer/src/org/netbeans/lib/lexer/TokenListList.java,v <-- TokenListList.java new revision: 1.7; previous revision: 1.6 done Checking in inc/TokenListChange.java; /cvs/lexer/src/org/netbeans/lib/lexer/inc/TokenListChange.java,v <-- TokenListChange.java new revision: 1.12; previous revision: 1.11
*** Issue 114647 has been marked as a duplicate of this issue. ***
Integrated into release60_beta1: Checking in lexer/src/org/netbeans/api/lexer/TokenSequence.java; /cvs/lexer/src/org/netbeans/api/lexer/TokenSequence.java,v <-- TokenSequence.java new revision: 1.13.2.1; previous revision: 1.13 done Checking in lexer/src/org/netbeans/api/lexer/TokenUtilities.java; /cvs/lexer/src/org/netbeans/api/lexer/TokenUtilities.java,v <-- TokenUtilities.java new revision: 1.3.14.1; previous revision: 1.3 done Removing lexer/src/org/netbeans/lib/lexer/EmbeddedLexerInputOperation.java; /cvs/lexer/src/org/netbeans/lib/lexer/Attic/EmbeddedLexerInputOperation.java,v <-- EmbeddedLexerInputOperation.java new revision: delete; previous revision: 1.1.2 done Checking in lexer/src/org/netbeans/lib/lexer/EmbeddedTokenList.java; /cvs/lexer/src/org/netbeans/lib/lexer/EmbeddedTokenList.java,v <-- EmbeddedTokenList.java new revision: 1.10.2.1; previous revision: 1.10 done Checking in lexer/src/org/netbeans/lib/lexer/EmbeddingContainer.java; /cvs/lexer/src/org/netbeans/lib/lexer/EmbeddingContainer.java,v <-- EmbeddingContainer.java new revision: 1.12.2.1; previous revision: 1.12 done Checking in lexer/src/org/netbeans/lib/lexer/LexerUtilsConstants.java; /cvs/lexer/src/org/netbeans/lib/lexer/LexerUtilsConstants.java,v <-- LexerUtilsConstants.java new revision: 1.16.2.1; previous revision: 1.16 done Checking in lexer/src/org/netbeans/lib/lexer/TokenHierarchyOperation.java; /cvs/lexer/src/org/netbeans/lib/lexer/TokenHierarchyOperation.java,v <-- TokenHierarchyOperation.java new revision: 1.20.2.1; previous revision: 1.20 done Checking in lexer/src/org/netbeans/lib/lexer/TokenHierarchyUpdate.java; /cvs/lexer/src/org/netbeans/lib/lexer/TokenHierarchyUpdate.java,v <-- TokenHierarchyUpdate.java new revision: 1.3.2.1; previous revision: 1.3 done Checking in lexer/src/org/netbeans/lib/lexer/TokenListList.java; /cvs/lexer/src/org/netbeans/lib/lexer/TokenListList.java,v <-- TokenListList.java new revision: 1.4.2.1; previous revision: 1.4 done Checking in lexer/src/org/netbeans/lib/lexer/inc/IncTokenList.java; /cvs/lexer/src/org/netbeans/lib/lexer/inc/IncTokenList.java,v <-- IncTokenList.java new revision: 1.11.2.1; previous revision: 1.11 done Checking in lexer/src/org/netbeans/lib/lexer/inc/TokenHierarchyEventInfo.java; /cvs/lexer/src/org/netbeans/lib/lexer/inc/TokenHierarchyEventInfo.java,v <-- TokenHierarchyEventInfo.java new revision: 1.5.10.1; previous revision: 1.5 done Checking in lexer/src/org/netbeans/lib/lexer/inc/TokenListChange.java; /cvs/lexer/src/org/netbeans/lib/lexer/inc/TokenListChange.java,v <-- TokenListChange.java new revision: 1.11.6.1; previous revision: 1.11 done Checking in lexer/src/org/netbeans/lib/lexer/inc/TokenListUpdater.java; /cvs/lexer/src/org/netbeans/lib/lexer/inc/TokenListUpdater.java,v <-- TokenListUpdater.java new revision: 1.17.2.1; previous revision: 1.17 done Checking in lexer/test/unit/src/org/netbeans/lib/lexer/JoinSectionsTest.java; /cvs/lexer/test/unit/src/org/netbeans/lib/lexer/JoinSectionsTest.java,v <-- JoinSectionsTest.java new revision: 1.4.2.1; previous revision: 1.4 done Checking in lexer/test/unit/src/org/netbeans/lib/lexer/test/LexerTestUtilities.java; /cvs/lexer/test/unit/src/org/netbeans/lib/lexer/test/LexerTestUtilities.java,v <-- LexerTestUtilities.java new revision: 1.11.10.1; previous revision: 1.11 done Checking in editor/util/src/org/netbeans/lib/editor/util/CharSequenceUtilities.java; /cvs/editor/util/src/org/netbeans/lib/editor/util/CharSequenceUtilities.java,v <-- CharSequenceUtilities.java new revision: 1.7.14.1; previous revision: 1.7 I did not integrate JspLexer and HTMLLexer updates into release60_beta1 - I'll talk to Marek regarding it ASAP.
Reopennig till Marek integrates JspLexer and HTMLLexer updates into release60_beta1
Checking in html/lexer/src/org/netbeans/lib/html/lexer/HTMLLexer.java; /cvs/html/lexer/src/org/netbeans/lib/html/lexer/HTMLLexer.java,v <-- HTMLLexer.java new revision: 1.17.6.1; previous revision: 1.17 done Checking in web/jspsyntax/lexer/src/org/netbeans/api/jsp/lexer/JspTokenId.java; /cvs/web/jspsyntax/lexer/src/org/netbeans/api/jsp/lexer/JspTokenId.java,v <-- JspTokenId.java new revision: 1.13.10.1; previous revision: 1.13 done Checking in web/jspsyntax/lexer/src/org/netbeans/lib/jsp/lexer/JspLexer.java; /cvs/web/jspsyntax/lexer/src/org/netbeans/lib/jsp/lexer/JspLexer.java,v <-- JspLexer.java new revision: 1.26.2.1; previous revision: 1.26