setup-java icon indicating copy to clipboard operation
setup-java copied to clipboard

Overgrowing of the toolchains.xml on the self-hosted runners

Open IvanZosimov opened this issue 1 year ago • 2 comments

Description: Every time build runs setup-java adds a new toolchain element to toolchains.xml. Even it already exists.

<?xml version="1.0"?>
<toolchains xmlns="https://maven.apache.org/TOOLCHAINS/1.1.0"
  xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="https://maven.apache.org/TOOLCHAINS/1.1.0 https://maven.apache.org/xsd/toolchains-1.1.0.xsd">
  <toolchain>
    <type>jdk</type>
    <provides>
      <version>17</version>
      <vendor>temurin</vendor>
      <id>temurin_17</id>
    </provides>
    <configuration>
      <jdkHome>C:\actions-runner\_work\_tool\Java_Temurin-Hotspot_jdk\17.0.7-7\x64</jdkHome>
    </configuration>
  </toolchain>
  <toolchain>
    <type>jdk</type>
    <provides>
      <version>17</version>
      <vendor>temurin</vendor>
      <id>temurin_17</id>
    </provides>
    <configuration>
      <jdkHome>C:\actions-runner\_work\_tool\Java_Temurin-Hotspot_jdk\17.0.7-7\x64</jdkHome>
    </configuration>
  </toolchain>
  <toolchain>
    <type>jdk</type>
    <provides>
      <version>17</version>
      <vendor>temurin</vendor>
      <id>temurin_17</id>
    </provides>
    <configuration>
      <jdkHome>C:\actions-runner\_work\_tool\Java_Temurin-Hotspot_jdk\17.0.7-7\x64</jdkHome>
    </configuration>
  </toolchain>
  <toolchain>
    <type>jdk</type>
    <provides>
      <version>17</version>
      <vendor>temurin</vendor>
      <id>temurin_17</id>
    </provides>
    <configuration>
      <jdkHome>C:\actions-runner\_work\_tool\Java_Temurin-Hotspot_jdk\17.0.7-7\x64</jdkHome>
    </configuration>
  </toolchain>
  <toolchain>
    <type>jdk</type>
    <provides>
      <version>17</version>
      <vendor>temurin</vendor>
      <id>temurin_17</id>
    </provides>
    <configuration>
      <jdkHome>C:\actions-runner\_work\_tool\Java_Temurin-Hotspot_jdk\17.0.7-7\x64</jdkHome>
    </configuration>
  </toolchain>
</toolchains>

Thanks @cyrillzadra for mentioning this issue.

Task version: v3

Platform:

  • [x] Ubuntu
  • [x] macOS
  • [x] Windows

Runner type:

  • [ ] Hosted
  • [x] Self-hosted

Repro steps:
Run actions several times in a row and check the toolchains.xml file.

Expected behavior: The toolchains.xml should have only none identical toolchains records.

Actual behavior: The toolchains.xml has several (in relation to number of action runs) identical toolchains records.

IvanZosimov avatar Aug 23 '23 09:08 IvanZosimov

I am getting this weird issue as well, and from the logs it seems this file is already 41k lines.

Resolved Java 17.0.1+12 from tool-cache
  Setting Java 17.0.1+12 as the default
  Creating toolchains.xml for JDK version 17.0.1 from zulu
  Error: Missing closing element tag end symbol `>`
  Index: 1138688
  Ln: 41071, Col: 13
  Input:     </configu

If I delete this file does the job will able to repair it?

fpiresca avatar May 29 '24 17:05 fpiresca

The file should be recreated and then grow again; the only problem is if you added custom information to it manually. You'd have to redo that part. However, what you probably could do as a workaround is a run a custom shell step at the end of the job to delete this file and have it re-created again during setup-java execution.

Okeanos avatar May 29 '24 19:05 Okeanos