Public bug reported: We recently upgraded a bunch of Jenkins build machines that run Ubuntu 22.04.04 LTS to openjdk-17-jre-headless_17.0.10+7-1~22.04.1. Shortly after, all the Jenkins agents running on these machines were getting segfaults in jspawnhelper, when the JRE tried to spawn an external shell to run build jobs:
$ /bin/sh -xe /tmp/jenkins12814566742512325555.sh FATAL: command execution failed java.io.IOException: error=0, Failed to exec spawn helper: pid: 1291715, signal: 11 at java.base/java.lang.ProcessImpl.forkAndExec(Native Method) at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:314) at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:244) at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110) Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to ubuntu22-amd64-docker-3 at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1787) at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356) at hudson.remoting.Channel.call(Channel.java:1003) at hudson.Launcher$RemoteLauncher.launch(Launcher.java:1121) at hudson.Launcher$ProcStarter.start(Launcher.java:506) at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:144) at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:92) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:818) at hudson.model.Build$BuildExecution.build(Build.java:199) at hudson.model.Build$BuildExecution.doRun(Build.java:164) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:526) at hudson.model.Run.execute(Run.java:1895) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44) at hudson.model.ResourceController.execute(ResourceController.java:101) at hudson.model.Executor.run(Executor.java:442) I'm unsure how Jenkins's agent exactly invokes jspawnhelper, but I assume it just uses Java's regular API to run external processes, as shown in the above stack trace. I.e. it uses java.lang.ProcessBuilder, which implicitly invokes its java.lang.ProcessImpl.forkAndExec method. And finally I assume that java.lang.ProcessImpl.forkAndExec somehow forks jspawnhelper to do its thing. In any case, with 17.0.10+7-1~22.04.1 this almost always results in a segfault now, which the previous version of openjdk-17-jre-headless never did. So it is some sort of regression. For now, I have downgraded to the release version, which is 17.0.2+8-1, since the previous security update version has disappeared from the Ubuntu mirrors. I have not yet dug any deeper since I have a lack of time to spend on it, but I wanted to make this bug report so other people experiencing this might be able to find it on Launchpad. ** Affects: openjdk-17 (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2055280 Title: openjdk-17-jre-headless 17.0.10+7-1~22.04.1: segfault in jspawnhelper To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/openjdk-17/+bug/2055280/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs