Sitelet https://github.com/actions/setup-python/issues/886
Skip to content

Python 3.12.4: Extract downloaded archive; gzip: stdin: not in gzip format #886

Description

@frenck

Description:
A clear and concise description of what the bug is.

CleanShot 2024-06-10 at 07 51 57@2x

https://github.com/home-assistant/core/actions/runs/9442844577/job/26006478894?pr=119255

Action version:
Specify the action version

actions/setup-python@v5.1.0

Platform:

  • Ubuntu
  • macOS
  • Windows

Runner type:

  • Hosted
  • Self-hosted

Tools version:

3.12 (resulting in 3.12.4 right now)

Repro steps:
A description with steps to reproduce the issue. If your have a public example or repo to share, please provide the link.

      - name: Set up Python ${{ env.DEFAULT_PYTHON }}
        id: python
        uses: actions/setup-python@v5.1.0
        with:
          python-version: ${{ env.DEFAULT_PYTHON }}
          check-latest: true

https://github.com/home-assistant/core/blob/159503b8d37fbc46a353287416a640ad07c2cced/.github/workflows/ci.yaml#L230-L235

Expected behavior:
A description of what you expected to happen.

Actual behavior:
A description of what is actually happening.

Activity

  1. hugovk commented on Jun 10, 2024

    @hugovk
    Contributor

    Same thing with 3.13.0b2:

    Run actions/setup-python@v5
    Installed versions
      Version ~3.13.0-0 was not found in the local cache
      Version ~3.13.0-0 is available for downloading
      Download from "https://github.com/actions/python-versions/releases/download/3.13.0-beta.2-9442465578/python-3.13.0-beta.2-linux-22.04-x64.tar.gz"
      Extract downloaded archive
      /usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /home/runner/work/_temp/ce7441c9-c7c3-405b-8d85-f47fd5f8a722 -f /home/runner/work/_temp/8c32cd5a-e1e8-4874-ac7a-a0c200b8ba14
      
      gzip: stdin: not in gzip format
      /usr/bin/tar: Child returned status 1
      /usr/bin/tar: Error is not recoverable: exiting now
      Error: The process '/usr/bin/tar' failed with exit code 2
    

    https://github.com/pypa/pip/actions/runs/9443536250/job/26007467646

    Both 3.12.4 and 3.13.0-beta.2 were released on https://github.com/actions/python-versions a couple of hours ago:

  2. Foxboron commented on Jun 10, 2024

    @Foxboron

    Seems like the header is incorrect?

    λ Downloads » xxd python-3.12.4-linux-22.04-x64.tar.gz | less | head -1
    00000000: 1fef bfbd 0800 0000 0000 0003 efbf bd3c  ...............<
    

    1fef isn't a valid magic number for gzip (file is unaware of anything using it) so I'm not sure if this is a weird case of bitflip? Rest of the header seems fine.

  3. AGulev commented on Jun 10, 2024

    @AGulev

    the same with macos and win archives :

      Version 3.12 was not found in the local cache
      Version 3.12 is available for downloading
      Download from "https://github.com/actions/python-versions/releases/download/3.12.4-9442300799/python-3.12.4-darwin-x64.tar.gz"
      Extract downloaded archive
      /usr/bin/tar xz -C /Users/runner/work/_temp/f2bc8ae4-bdba-46b8-823a-bd909c45dd1b -f /Users/runner/work/_temp/623e67b2-44e6-4a3d-8516-abe6e9d12231
      tar: Error opening archive: Unrecognized archive format
      Error: The process '/usr/bin/tar' failed with exit code 1
    
  4. firewave commented on Jun 10, 2024

    @firewave

    Seems like the header is incorrect?

    The file is completely garbled. It mostly consists of ef bf bd patterns.

  5. ay0o commented on Jun 10, 2024

    @ay0o

    I have noticed this is working in ubuntu-latest runner, but not on my self-hosted runner, both using the same container: ubuntu:24.04 for testing purposes.

  6. MarcHagen commented on Jun 10, 2024

    @MarcHagen

    I have noticed this is working in ubuntu-latest runner, but not on my self-hosted runner, both using the same container: ubuntu:24.04 for testing purposes.

    The hosted runners have an cached toolchain with multiple versions of python already installed. The action is using that instead downloading an version.
    The selfhosted image does not have sush toolchain.

    GitHub hosted is running on 50Gb+ VMs in Azure to minimize download and install cycles.

    Edit:
    Info location hosted runner "image": https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md

  7. Foxboron commented on Jun 10, 2024

    @Foxboron

    The file is completely garbled. It mostly consists of ef bf bd patterns.

    Ah, nice spotting.

    However it's weird that the deflate header is kept as-is while the 1f bytes are correct.

  8. firewave commented on Jun 10, 2024

    @firewave

    However it's weird that the deflate header is kept as-is while the 1f bytes are correct.

    The ef bf bd pattern is a specific symbol: https://www.cogsci.ed.ac.uk/~richard/utf-8.cgi?input=%EF%BF%BD&mode=char

    That is the symbol you usually see when UTF-8 is being displayed as ASCII. It looks the files have been treated as text causing all the non-ASCII (i.e. binary) data being treated as unprintable characters thus corrupting it in the process.

  9. jasmitha-meka01 commented on Jun 10, 2024

    @jasmitha-meka01

    Please let us know what is the fix ?

  10. 13 remaining items

  11. AlexWaygood commented on Jun 12, 2024

    @AlexWaygood

    All looks good for us at flake8-pyi and typeshed now -- thanks @aparnajyothi-y!

  12. Avasam commented on Jun 16, 2024

    @Avasam

    CI now passes at pywin32 for Python 3.13-dev as well! mhammond/pywin32#2260

  13. frenck commented on Jun 16, 2024

    @frenck
    Author

    Some good confirmations above. Can confirm it works on our end too. Closing the issue for that reason.

    Thanks for the fix! ❤️

    ../Frenck

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions