Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-65672

ProcStarter hangs at start function under ARM Environment

    • Icon: Bug Bug
    • Resolution: Not A Defect
    • Icon: Major Major
    • git-client-plugin
    • Jenkins: 2.235.5
      OS: Linux - 4.18.0-147.5.1.el8_1.5es.14.aarch64
      git-client:3.6.0

      Bug Description:

      There may be some probability that the ProcStarter.start func cannot apply for new threads under ARM platform.

      Debug Method:

      I've added some essential LOG in code and re-compile the hpi package, here is what I've changed under CliGitAPIImpl.launchCommandIn Function:

      The Job Output looks like cannot apply for more threads:

          [JENKINS-65672] ProcStarter hangs at start function under ARM Environment

          Mark Waite added a comment -

          I haven't seen any issue with starting or stopping processes in my ARM testing with arm32, arm64, and Java 8. I assume things would be even better with Java 11, but haven't spent as much time testing with Java 11. I have used both agents and controller on ARM64 and have run agents on ARM32.

          Any messages from the Linux kernel (for example, swap space exhausted, process table full, low performance file system being used for swap space, etc.)

          Mark Waite added a comment - I haven't seen any issue with starting or stopping processes in my ARM testing with arm32, arm64, and Java 8. I assume things would be even better with Java 11, but haven't spent as much time testing with Java 11. I have used both agents and controller on ARM64 and have run agents on ARM32. Any messages from the Linux kernel (for example, swap space exhausted, process table full, low performance file system being used for swap space, etc.)

          Zetian added a comment -

          markewaite Really thx! I'll try to find out the difference configuration among X86 & Arm System

          Zetian added a comment - markewaite  Really thx! I'll try to find out the difference configuration among X86 & Arm System

          Zetian added a comment - - edited

          markewaite Hi, we've found that:

          The number of /proc/sys/kernel/threads-max is too low under ARM Platform(only 6910), which causes the java progress cannot apply for new threads. Besides that, the PAGESIZE is 64KB under ARM Platform, however X86 is 4K,

          the "ulimit -a" result is also different between each other.

          We'll re-build a new Arm ISO image for syncing the related configurations and re-check, thanks a lot!

          Zetian added a comment - - edited markewaite  Hi, we've found that: The number of /proc/sys/kernel/threads-max is too low under ARM Platform(only 6910 ), which causes the java progress cannot apply for new threads. Besides that, the PAGESIZE is 64KB under ARM Platform, however X86 is 4K, the "ulimit -a" result is also different between each other. We'll re-build a new Arm ISO image for syncing the related configurations and re-check, thanks a lot!

          Mark Waite added a comment -

          I'm assuming this is resolved by configuring the kernel to allow more threads.

          Mark Waite added a comment - I'm assuming this is resolved by configuring the kernel to allow more threads.

            Unassigned Unassigned
            zetianzhang Zetian
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: