Repository navigation
Closed
Labels
Description
Two node-cross-compile runs have failed on test-mnx-ubuntu2204-x64-2 with OutOfMemoryError during git checkout:
- https://ci.nodejs.org/job/node-cross-compile/61024/console
- https://ci.nodejs.org/job/node-cross-compile/61014/console
e.g.
12:07:42 > git checkout -f c7dfcaba79481d29170b9d48f409e89197787ba4 # timeout=10
12:08:04 FATAL: Self-suppression not permitted
12:08:04 java.lang.OutOfMemoryError: Java heap space
12:08:04 Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from 8.225.232.44/8.225.232.44:43584
12:08:04 at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1916)
12:08:04 at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:384)
12:08:04 at hudson.remoting.Channel.call(Channel.java:1108)
12:08:04 at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:306)
12:08:04 at PluginClassLoader for git-client/jdk.proxy72/jdk.proxy72.$Proxy147.withRepository(Unknown Source)
12:08:04 at PluginClassLoader for git-client//org.jenkinsci.plugins.gitclient.RemoteGitImpl.withRepository(RemoteGitImpl.java:264)
12:08:04 at PluginClassLoader for git//hudson.plugins.git.GitSCM.printCommitMessageToLog(GitSCM.java:1428)
12:08:04 at PluginClassLoader for git//hudson.plugins.git.GitSCM._checkout(GitSCM.java:1368)
12:08:04 at PluginClassLoader for git//hudson.plugins.git.GitSCM.checkout(GitSCM.java:1277)
12:08:04 at hudson.scm.SCM.checkout(SCM.java:540)
12:08:04 at hudson.model.AbstractProject.checkout(AbstractProject.java:1254)
12:08:04 at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:648)
12:08:04 at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:84)
12:08:04 at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:521)
12:08:04 at hudson.model.Run.execute(Run.java:1849)
12:08:04 at PluginClassLoader for matrix-project//hudson.matrix.MatrixBuild.run(MatrixBuild.java:331)
12:08:04 at hudson.model.ResourceController.execute(ResourceController.java:97)
12:08:04 at hudson.model.Executor.run(Executor.java:456)
12:08:04 Caused: java.lang.IllegalArgumentException: Self-suppression not permitted
12:08:04 at java.base/java.lang.Throwable.addSuppressed(Throwable.java:1101)
12:08:04 at PluginClassLoader for git-client//org.jenkinsci.plugins.gitclient.AbstractGitAPIImpl.withRepository(AbstractGitAPIImpl.java:27)
12:08:04 at PluginClassLoader for git-client//org.jenkinsci.plugins.gitclient.CliGitAPIImpl.withRepository(CliGitAPIImpl.java:83)
12:08:04 at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
12:08:04 at java.base/java.lang.reflect.Method.invoke(Method.java:565)
12:08:04 at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:986)
12:08:04 at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:961)
12:08:04 at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:907)
12:08:04 at hudson.remoting.UserRequest.perform(UserRequest.java:225)
12:08:04 at hudson.remoting.UserRequest.perform(UserRequest.java:50)
12:08:04 at hudson.remoting.Request$2.run(Request.java:391)
12:08:04 at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:81)
12:08:04 at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
12:08:04 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
12:08:04 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
12:08:04 at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:312)
12:08:04 at java.base/java.lang.Thread.run(Thread.java:1474)
It's not consistent though -- other builds on the same machine in between those two succeeded.

Activity
sxa commentedon Oct 22, 2026
I'm quite surprised that 128m of heap isn't enough but just to note a few things:
Or just the scattergun approach of "all of the above"
richardlau commentedon Oct 22, 2026
Been discussing with @sxa. Our plan is:
test-mnx-ubuntu2204-x64-1back online in Jenkins and taketest-mnx-ubuntu2204-x64-2offline.test-mnx-ubuntu2204-x64-2to quiesce and then run the Ansible scripts against it before bringing it back online.richardlau commentedon Oct 22, 2026
test-mnx-ubuntu2204-x64-1has been updated and is now running Java 25.0.4. I had to runand then restart the agent to pick up the change from #4493 -- the Ansible playbook restarted the agent, but it did not pick up the changed parameters without the daemon-reload.
richardlau commentedon Oct 23, 2026
Both mnx
jenkins-workspacemachines have been updated (via the current Ansible playbook onmain) to the most recent JDK 25 patch release and to increase the max heap size.richardlau commentedon Oct 27, 2026
Since the updates/restarts we haven't run into this again.