When opening one of our programs in VS Code I've noticed the java process use up a large amount of system resources before eventually ending in a StackOverflowError in the folding handler. I've reproduced this issue a few times with the same program, but no other programs seem to hit this issue. CPU usage on the java process are between 30% and 35% with RAM usage around 1GB or higher before the process spits out the logs as pasted below. Additionally, the WARN appears to be related to an underscore following an INPUT statement:
INPUT NUL,1:_
17:07:50.165 [ForkJoinPool.commonPool-worker-1] WARN com.rs.mv.mvvs.basic.services.semantichighlighting.SemanticAnalyseVisitor - Semantic recognition error. Token type:351,Text: _
Dec 08, 2021 5:07:50 PM org.eclipse.lsp4j.jsonrpc.RemoteEndpoint fallbackResponseError
SEVERE: Internal error: java.lang.StackOverflowError
java.util.concurrent.CompletionException: java.lang.StackOverflowError
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:645)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:479)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
Caused by: java.lang.StackOverflowError
at org.antlr.v4.runtime.BufferedTokenStream.size(BufferedTokenStream.java:111)
at com.rs.mv.mvvs.basic.services.folding.handler.BaseHandler.getNextSpecificToken(BaseHandler.java:61)
at com.rs.mv.mvvs.basic.services.folding.handler.BaseHandler.getNextSpecificToken(BaseHandler.java:64)
at com.rs.mv.mvvs.basic.services.folding.handler.BaseHandler.getNextSpecificToken(BaseHandler.java:64)
...
[Error - 5:07:50 PM] Request textDocument/foldingRange failed.
Message: Internal error.
Code: -32603
java.util.concurrent.CompletionException: java.lang.StackOverflowError
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:645)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:479)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
Caused by: java.lang.StackOverflowError
at org.antlr.v4.runtime.BufferedTokenStream.size(BufferedTokenStream.java:111)
at com.rs.mv.mvvs.basic.services.folding.handler.BaseHandler.getNextSpecificToken(BaseHandler.java:61)
at com.rs.mv.mvvs.basic.services.folding.handler.BaseHandler.getNextSpecificToken(BaseHandler.java:64)
at com.rs.mv.mvvs.basic.services.folding.handler.BaseHandler.getNextSpecificToken(BaseHandler.java:64)
at com.rs.mv.mvvs.basic.services.folding.handler.BaseHandler.getNextSpecificToken(BaseHandler.java:64)
...------------------------------
Robert Metzger
Software Engineer
basys Inc
Baltimore MD US
------------------------------