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

AdoptOpenJDK installer installer using wrong binary on aarch64 for JDK v17.0.8.0.1

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • adoptopenjdk-plugin
    • None

      Use the latest JDK 17 installer (17.0.8.0.1) on a aarch64 Linux  system. The binary does not run as it uses the `arm` download (presumably 32-bit) and not the `aarch64` but only for this JDK version.

      I didn't find it so straightforward to go from the GitHub repo for this plugin to where it was sourcing data from, but presumably it's in this update site (unsure how it gets populated)

      http://mirror.math.princeton.edu/pub/jenkins/updates/updates/io.jenkins.plugins.adoptopenjdk.AdoptOpenJDKInstaller.json

       

      Issue seems to be that the order is non-deterministic and whilst x86 32-bit and 64-bit are split out, for `arm` it clobbers together both `arm` and `aarch64`, so in AdoptOpenJDKRelease.getBinary it says

       

      case arm:
        if (f.architecture.equals("arm") || f.architecture.equals("aarch64")) return f;
        break;

       

      and in the CPU enum:

      }}{{{}  if (arch.contains("arm") || arch.contains("aarch64")) return arm;{}

       

      Seems easy enough to simply add to the enum aarch64 and let the tests simply match precisely however I don't know the historical reasons this may have been done for (if any) and if there are legacy versions this may unduly impact where only one is published, which I'm not in a position to research/test for unfortunately.

            Unassigned Unassigned
            ngib Nik
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: