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

ProcStarter hangs at start function under ARM Environment

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Not A Defect
    • Component/s: git-client-plugin
    • Labels:
    • Environment:
      Jenkins: 2.235.5
      OS: Linux - 4.18.0-147.5.1.el8_1.5es.14.aarch64
      git-client:3.6.0
    • Similar Issues:

      Description

      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:

        Attachments

          Activity

          Hide
          markewaite 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.)

          Show
          markewaite 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.)
          Hide
          zetianzhang Zetian added a comment -

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

          Show
          zetianzhang Zetian added a comment - Mark Waite  Really thx! I'll try to find out the difference configuration among X86 & Arm System
          Hide
          zetianzhang Zetian added a comment - - edited

          Mark Waite 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!

          Show
          zetianzhang Zetian added a comment - - edited Mark Waite  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!
          Hide
          markewaite Mark Waite added a comment -

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

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

            People

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

              Dates

              Created:
              Updated:
              Resolved: