Description
Hi. I'm super excited to see an alternative, hopefully Java will become a first-class citizen in VS Code.
I have a multi-module Maven project at work (Java 21). It seems this extension does not recognize the modules within the project ("PROJECTS" tab empty), and when I hover over symbols, it always says "Loading...". My CPU is constantly ~70-80% usage while having the project opened.
I opened "Oracle Java SE Language Server" logs to see:
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
INFO [org.netbeans.ui.maven.project]: A Maven project was opened. Appending the project's packaging type.
INFO [org.netbeans.ui.metrics.maven]: USG_PROJECT_OPEN_MAVEN
After about a minute, checking logs again:
java.lang.OutOfMemoryError: Java heap space
Dumping heap to /home/marahin/.vscode-server/data/User/workspaceStorage/02430741731cc08a0df7ab4f28b43b7a/Oracle.oracle-java/userdir/var/log/heapdump.hprof ...
Heap dump file created [1395106017 bytes in 29.245 secs]
WARNING [org.netbeans.modules.project.ui.OpenProjectList]
java.lang.OutOfMemoryError: Java heap space
at java.base/java.lang.StringUTF16.compress(StringUTF16.java:161)
at java.base/java.lang.String.<init>(String.java:4764)
at java.base/java.lang.String.<init>(String.java:303)
at org.codehaus.plexus.util.xml.pull.MXParser.newString(MXParser.java:79)
at org.codehaus.plexus.util.xml.pull.MXParser.parseStartTag(MXParser.java:2252)
at org.codehaus.plexus.util.xml.pull.MXParser.nextImpl(MXParser.java:1413)
at org.codehaus.plexus.util.xml.pull.MXParser.next(MXParser.java:1375)
at org.codehaus.plexus.util.xml.pull.MXParser.nextTag(MXParser.java:1360)
at org.apache.maven.model.io.xpp3.MavenXpp3ReaderEx.parseModel(MavenXpp3ReaderEx.java:2575)
at org.apache.maven.model.io.xpp3.MavenXpp3ReaderEx.read(MavenXpp3ReaderEx.java:626)
at org.apache.maven.model.io.xpp3.MavenXpp3ReaderEx.read(MavenXpp3ReaderEx.java:658)
at org.apache.maven.model.io.DefaultModelReader.read(DefaultModelReader.java:91)
at org.apache.maven.model.io.DefaultModelReader.read(DefaultModelReader.java:74)
at org.apache.maven.model.building.DefaultModelProcessor.read(DefaultModelProcessor.java:99)
at org.apache.maven.model.building.DefaultModelBuilder.readModel(DefaultModelBuilder.java:552)
at org.apache.maven.model.building.DefaultModelBuilder.readParentExternally(DefaultModelBuilder.java:1046)
at org.apache.maven.model.building.DefaultModelBuilder.readParent(DefaultModelBuilder.java:801)
at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:327)
at org.apache.maven.model.building.DefaultModelBuilder.importDependencyManagement(DefaultModelBuilder.java:1208)
at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:486)
at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:410)
at org.apache.maven.model.building.DefaultModelBuilder.importDependencyManagement(DefaultModelBuilder.java:1208)
at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:486)
at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:410)
at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:243)
at org.netbeans.modules.maven.embedder.impl.NBModelBuilder.build(NBModelBuilder.java:53)
at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:176)
at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:123)
at org.netbeans.modules.maven.embedder.MavenEmbedder.readProjectWithDependencies(MavenEmbedder.java:246)
at org.netbeans.modules.maven.modelcache.MavenProjectCache.loadOriginalMavenProject(MavenProjectCache.java:280)
at org.netbeans.modules.maven.modelcache.MavenProjectCache.loadOriginalMavenProject(MavenProjectCache.java:166)
[catch] at org.netbeans.modules.maven.modelcache.MavenProjectCache.access$200(MavenProjectCache.java:66)
SEVERE [org.openide.util.RequestProcessor]
This message is repeated multiple times; my assumption is that it throws for each of the modules it OOMed for.
I have a pretty smooth brain, so I tried to raise -Xmx
in Run Configuration/VM Options, but I noticed the background processes are still launching with -Xmx1g
. Traversing this repo, I found this line:
Where the -J-Xmx1G
argument is.
Questions
- is my approach correct, and raising
-Xmx
may solve this issue? - how can I set this argument?