Bug Report against outdated lexer's code
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 935
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 17
Description
### Apache NetBeans version
Apache NetBeans 18
### What happened
There is a notification that is a bug. when I compile a Java code. I thinks the program itself suggest that i must report this lexer's code issue, I dont know about it but, It is a concern to its own compiling problem

### How to reproduce
Just look at this type of code issue.
I just run some code that inolves connecting to mysql-connector php
I think It just want to notify that these codes are something obsolete or no longer valid and it needs to be reported.
Everytime I run the code related to JDBC mysql Connector. Then suddenly the suggestion pop out is always related to com.sun.source.
```
java.util.ConcurrentModificationException: Caller uses obsolete token sequence which is no longer valid. Underlying token hierarchy has been modified by insertion or removal or a custom language embedding was created.TS.modCount=4, tokenList.modCount()=5, rootModCount=5
Please report a bug against a module that calls lexer's code e.g. java, php etc. but not the lexer module itself.
at org.netbeans.api.lexer.TokenSequence.checkValid(TokenSequence.java:779)
at org.netbeans.api.lexer.TokenSequence.moveIndex(TokenSequence.java:563)
at org.netbeans.modules.java.editor.base.semantic.TokenList.resetToIndex(TokenList.java:372)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.visitMethodInvocation(SemanticHighlighterBase.java:781)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.visitMethodInvocation(SemanticHighlighterBase.java:316)
at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1833)
at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92)
at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:69)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.scan(SemanticHighlighterBase.java:1121)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.scan(SemanticHighlighterBase.java:316)
at com.sun.source.util.TreeScanner.visitExpressionStatement(TreeScanner.java:502)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.visitExpressionStatement(SemanticHighlighterBase.java:861)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.visitExpressionStatement(SemanticHighlighterBase.java:316)
at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1612)
at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92)
at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:69)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.scan(SemanticHighlighterBase.java:1121)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.scan(SemanticHighlighterBase.java:316)
at com.sun.source.util.TreeScanner.scan(TreeScanner.java:111)
at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:78)
at com.sun.source.util.TreeScanner.visitBlock(TreeScanner.java:272)
at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1100)
at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92)
at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:69)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.scan(SemanticHighlighterBase.java:1121)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.visitMethod(SemanticHighlighterBase.java:934)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.visitMethod(SemanticHighlighterBase.java:316)
at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:944)
at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92)
at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:69)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.scan(SemanticHighlighterBase.java:1121)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.scan(SemanticHighlighterBase.java:316)
at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:96)
at com.sun.source.util.TreeScanner.scan(TreeScanner.java:111)
at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:78)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.visitClass(SemanticHighlighterBase.java:1049)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.visitClass(SemanticHighlighterBase.java:316)
at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:851)
at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92)
at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:69)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.scan(SemanticHighlighterBase.java:1121)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.visitNewClass(SemanticHighlighterBase.java:999)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.visitNewClass(SemanticHighlighterBase.java:316)
at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.java:1894)
at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92)
at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:69)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.scan(SemanticHighlighterBase.java:1121)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.scan(SemanticHighlighterBase.java:316)
at com.sun.source.util.TreeScanner.scan(TreeScanner.java:111)
at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:78)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.visitMethodInvocation(SemanticHighlighterBase.java:770)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.visitMethodInvocation(SemanticHighlighterBase.java:316)
at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1833)
at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92)
at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:69)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.scan(SemanticHighlighterBase.java:1121)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.scan(SemanticHighlighterBase.java:316)
at com.sun.source.util.TreeScanner.visitExpressionStatement(TreeScanner.java:502)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.visitExpressionStatement(SemanticHighlighterBase.java:861)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.visitExpressionStatement(SemanticHighlighterBase.java:316)
at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1612)
at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92)
at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:69)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.scan(SemanticHighlighterBase.java:1121)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.scan(SemanticHighlighterBase.java:316)
at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:96)
at com.sun.source.util.TreeScanner.scan(TreeScanner.java:111)
at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:78)
at com.sun.source.util.TreeScanner.visitBlock(TreeScanner.java:272)
at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1100)
at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92)
at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:69)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.scan(SemanticHighlighterBase.java:1121)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.visitMethod(SemanticHighlighterBase.java:934)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.visitMethod(SemanticHighlighterBase.java:316)
at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:944)
at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92)
at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:69)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.scan(SemanticHighlighterBase.java:1121)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.scan(SemanticHighlighterBase.java:316)
at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:96)
at com.sun.source.util.TreeScanner.scan(TreeScanner.java:111)
at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:78)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.visitClass(SemanticHighlighterBase.java:1049)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.visitClass(SemanticHighlighterBase.java:316)
at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:851)
at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92)
at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:69)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.scan(SemanticHighlighterBase.java:1121)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.scan(SemanticHighlighterBase.java:316)
at com.sun.source.util.TreeScanner.scan(TreeScanner.java:111)
at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:78)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.visitCompilationUnit(SemanticHighlighterBase.java:597)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.visitCompilationUnit(SemanticHighlighterBase.java:316)
at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:619)
at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92)
at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:69)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase$DetectorVisitor.scan(SemanticHighlighterBase.java:1121)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase.process(SemanticHighlighterBase.java:200)
at org.netbeans.modules.java.editor.semantic.SemanticHighlighter.process(SemanticHighlighter.java:56)
at org.netbeans.modules.java.editor.base.semantic.SemanticHighlighterBase.run(SemanticHighlighterBase.java:154)
at org.netbeans.modules.parsing.impl.TaskProcessor.callParserResultTask(TaskProcessor.java:561)
[catch] at org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.run(TaskProcessor.java:786)
at org.openide.util.lookup.Lookups.executeWith(Lookups.java:288)
at org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.execute(TaskProcessor.java:702)
at org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:663)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1419)
at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
at org.openide.util.lookup.Lookups.executeWith(Lookups.java:287)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2034)
```
### Did this work correctly in an earlier version?
No / Don't know
### Operating System
Windows 10 version 22h2
### JDK
JDK 17
### Apache NetBeans packaging
Apache NetBeans provided installer
### Anything else
It does occur when I import the mysql-connector for php database.
### Are you willing to submit a pull request?
Yes
Contributor guide
Research direction
Start by reproducing the exception while compiling JDBC MySQL Connector code, then read TokenSequence.java, TokenList.java, and SemanticHighlighterBase.java at the stack-trace locations. Trace which Java editor operation invalidates the token sequence; done means the reported exception no longer appears for the reproducer and the responsible caller is identified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, mysql
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100