[Bug 2055280] [NEW] openjdk-17-jre-headless 17.0.10+7-1~22.04.1: segfault in jspawnhelper

Dimitry Andric 2055280 at bugs.launchpad.net
Wed Feb 28 11:28:02 UTC 2024


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
Foundations Bugs, which is subscribed to openjdk-17 in Ubuntu.
https://bugs.launchpad.net/bugs/2055280

Title:
  openjdk-17-jre-headless 17.0.10+7-1~22.04.1: segfault in jspawnhelper

Status in openjdk-17 package in Ubuntu:
  New

Bug description:
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openjdk-17/+bug/2055280/+subscriptions




More information about the foundations-bugs mailing list