Jenkins 2.479.1 Mac SSH agent freezes when running mono app

Hi there

I’m having an issue with my mac agents since the update to 2.479.1. Everything is running fine on Windows, but on mac through ssh, a mono app ‘freezes’ with mono-sgen64 process eating 100% CPU.
Not sure if the issue is cause by 2.479.1 or one of the plugins updated in the process.
When running the same mono command interactively in a putty ssh session on the agent, everything works perfectly

Has anyone experienced such an issue using ssh + mono ?

Hi,
Here are a few ideas that may help identify the culprit:

  1. It might be worth checking if all plugins are up to date and compatible with Jenkins 2.479.1. Sometimes, plugin updates can introduce issues.
  2. Increasing the logging level for the SSH and Mono-related components in Jenkins could provide more detailed logs, which may help identify where the process is getting stuck.
  3. If feasible, running the Mono application with debugging options might give more information about what might be causing the high CPU usage.
  4. Comparing the environment variables and configurations between the interactive SSH session (where it works) and the Jenkins SSH session could potentially reveal differences causing the issue.
  5. Ensuring that Mono is up to date on the macOS agent may be worth investigating, as updating Mono can sometimes resolve compatibility issues.

Thanks for the tips.
All plugins are at the latest version, an so is mono on the mac. I’m using JDK21 if it makes any difference.
I’ll try to change log config to see if it helps pinpointing the source of the issue.
I feel it’s related to the std capture of the jenkins agent, but I don’t have any proof.

i have the same issue

it seems like mono forks a new process - and the process is waiting for some resources (e.g stdin - i’m not sure) that eats 100% cpu, the parent is wating the child finished which does never happen

any ideas to debug?

running the same command on ssh shell (with all same env variables exported) is working well

Glad to see I’m not the only one.
After some investigation, I realized it was caused the the JDK update forced by the new Jenkins version.
jdk11 works well, but jdk17 and 21 are eating 100% CPU.
I had to rollback to the previous Jenkins version and I’m investigating the issue on the side. As far as I can say, it happens when my C# code is compiling a piece of C# written to a temp file, but I don’t have any more info yet

seems using oracle jdk 17 fixed this issue.

@kikmon you could try it :slight_smile: