runner-images icon indicating copy to clipboard operation
runner-images copied to clipboard

`docker login` Fails on Windows Larger Runners

Open Epgor opened this issue 1 year ago • 2 comments

Description

I’m encountering an issue where docker login fails on larger runners configured with windows-latest, but works without any issues on standard runners.

Error saving credentials: error storing credentials - err: exit status 1, out: `A specified logon session does not exist. It may already have been terminated.`

This suggests the problem may be related to the Docker credential storage mechanism on the custom runner environment.

The issue initially occurred on 12/12/24, after the pre-release of 20241211, and at that time, it was also failing on standard runners. In my case, the workaround was to use oras login instead.

Platforms affected

  • [ ] Azure DevOps
  • [ ] GitHub Actions - Standard Runners
  • [X] GitHub Actions - Larger Runners

Runner images affected

  • [ ] Ubuntu 20.04
  • [ ] Ubuntu 22.04
  • [ ] Ubuntu 24.04
  • [ ] macOS 12
  • [ ] macOS 13
  • [ ] macOS 13 Arm64
  • [ ] macOS 14
  • [ ] macOS 14 Arm64
  • [ ] macOS 15
  • [ ] macOS 15 Arm64
  • [X] Windows Server 2019
  • [X] Windows Server 2022

Image version and build link

Current runner version: '2.321.0' Operating System Microsoft Windows Server 2019 10.0.17763 Datacenter

Runner Image Image: windows-2019 Version: 20241211.1.0 https://github.com/actions/runner-images/releases/tag/win22%2F20241211.1

Current runner version: '2.321.0' Operating System Microsoft Windows Server 2022 10.0.20348 Datacenter

Runner Image Image: windows-2022 Version: 20241211.1.0 https://github.com/actions/runner-images/releases/tag/win22%2F20241211.1

Is it regression?

Yes, it was working till: 20241201.2.0

Expected behavior

docker-login correctly stores credentials and authenticates to ghcr.io

Actual behavior

docker login fails with the following:

Error: Error saving credentials: error storing credentials - err: exit status 1, out: A specified logon session does not exist. It may already have been terminated.

Repro steps

  1. Create new GitHub-hosted runner on Windows x64 platform
  2. Set-up a job for that runner and try to docker login
runs-on: serv22
steps:
  - name: Docker Login
    run: |
    echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io --username ${{ github.actor }} --password-stdin

or

runs-on: serv22
steps:
  - name: Login to GitHub Container Registry
    uses: docker/login-action@v3
    with:
      registry: ghcr.io
      username: ${{ github.actor }}
      password: ${{ secrets.GITHUB_TOKEN }}

Epgor avatar Dec 17 '24 09:12 Epgor

Hi @Epgor ,Thank you for bringing this issue to our attention. We are looking into this issue and will update you on this issue after investigating.

vidyasagarnimmagaddi avatar Dec 17 '24 09:12 vidyasagarnimmagaddi

@Epgor FYI a few of us have also run into this issue, and we're discussing workarounds over in actions/runner-images#11172.

austindrenski avatar Dec 17 '24 14:12 austindrenski

Hi All, the changes that causing the issue is reverted. thanks. closing the issue.

RaviAkshintala avatar Mar 17 '25 16:03 RaviAkshintala