docker / for-win

Bug reports for Docker Desktop for Windows
https://www.docker.com/products/docker#/windows
1.84k stars 282 forks source link

"failed to get console mode for stdout: The handle is invalid." from various commands after update to 4.27.0 #13891

Open hilari0n opened 5 months ago

hilari0n commented 5 months ago

Description

After updating my Docker Desktop to 4.27.0, if I run "docker images" and redirect the output (e.g. to a file or to a different process), then the command prints failed to get console mode for stdout: The handle is invalid. first, before returning the output. This complicates the output processing (i.e. you have to detect and skip this information).

Reproduce

  1. run "docker images" with output redirection, e.g.: docker images docker/*-extension | more
  2. observe output:
    failed to get console mode for stdout: The handle is invalid.
    REPOSITORY                        TAG       IMAGE ID       CREATED        SIZE
    docker/logs-explorer-extension    0.2.5     215b2410d333   3 months ago   12.1MB
    docker/disk-usage-extension       0.2.8     e2e81f16dc58   5 months ago   2.82MB
    docker/volumes-backup-extension   1.1.4     6872a696b721   7 months ago   119MB
    docker/resource-usage-extension   1.0.3     d92fcc1d0f64   8 months ago   14.1MB

Expected behavior

"docker images" should return valid information, without the "failed to get console mode for stdout: The handle is invalid." error. E.g.

  1. run "docker images" with output redirection, e.g.: docker images docker/*-extension | more
  2. observe output:
    REPOSITORY                        TAG       IMAGE ID       CREATED        SIZE
    docker/logs-explorer-extension    0.2.5     215b2410d333   3 months ago   12.1MB
    docker/disk-usage-extension       0.2.8     e2e81f16dc58   5 months ago   2.82MB
    docker/volumes-backup-extension   1.1.4     6872a696b721   7 months ago   119MB
    docker/resource-usage-extension   1.0.3     d92fcc1d0f64   8 months ago   14.1MB

docker version

Client:
 Cloud integration: v1.0.35+desktop.10
 Version:           25.0.1
 API version:       1.44
 Go version:        go1.21.6
 Git commit:        29cf629
 Built:             Tue Jan 23 23:10:35 2024
 OS/Arch:           windows/amd64
 Context:           default

Server: Docker Desktop 4.27.0 (135262)
 Engine:
  Version:          25.0.1
  API version:      1.44 (minimum version 1.24)
  Go version:       go1.21.6
  Git commit:       71fa3ab
  Built:            Tue Jan 23 23:09:46 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.27
  GitCommit:        a1496014c916f9e62104b33d1bb5bd03b0858e59
 runc:
  Version:          1.1.11
  GitCommit:        v1.1.11-0-g4bccb38
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

docker info

Client:
 Version:    25.0.1
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.12.1-desktop.4
    Path:     C:\Program Files\Docker\cli-plugins\docker-buildx.exe
  compose: Docker Compose (Docker Inc.)
    Version:  v2.24.3-desktop.1
    Path:     C:\Program Files\Docker\cli-plugins\docker-compose.exe
  debug: Get a shell into any image or container. (Docker Inc.)
    Version:  0.0.22
    Path:     C:\Program Files\Docker\cli-plugins\docker-debug.exe
  dev: Docker Dev Environments (Docker Inc.)
    Version:  v0.1.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-dev.exe
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.21
    Path:     C:\Program Files\Docker\cli-plugins\docker-extension.exe
  feedback: Provide feedback, right in your terminal! (Docker Inc.)
    Version:  v1.0.4
    Path:     C:\Program Files\Docker\cli-plugins\docker-feedback.exe
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v1.0.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-init.exe
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
    Version:  0.6.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-sbom.exe
  scout: Docker Scout (Docker Inc.)
    Version:  v1.3.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-scout.exe

Server:
 Containers: 1
  Running: 1
  Paused: 0
  Stopped: 0
 Images: 26
 Server Version: 25.0.1
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: a1496014c916f9e62104b33d1bb5bd03b0858e59
 runc version: v1.1.11-0-g4bccb38
 init version: de40ad0
 Security Options:
  seccomp
   Profile: unconfined
 Kernel Version: 5.15.133.1-microsoft-standard-WSL2
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 24
 Total Memory: 15.43GiB
 Name: docker-desktop
 ID: df562a23-434b-40ed-97d9-70b6589e58c2
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 No Proxy: hubproxy.docker.internal
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5555
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support
WARNING: No blkio throttle.write_iops_device support
WARNING: daemon is not using the default seccomp profile

Diagnostics ID

AEECB6F4-4558-4399-9A63-E38CE48B4BCE/20240129142522

Additional Info

This happens under cmd.exe, pwsh.exe or powershell.exe. It happens regardless if the console runs with standard or elevated ("as Administrator") privileges. It's not caused by a custom setting of imagesFormat, as I have not customized it, and also the issue occurs the same, if the format is indicated in the command (e.g. docker images --format "{{json .}}" docker/*-extension | more). The issue does not occur if the output is not redirected or if I use it on my WSL2 Ubuntu. It should probably also be considered, if such error messages should be ever returned to the standard output stream or rather (my preference) to the standard error stream.

hilari0n commented 5 months ago

I had some more time to test this, and the issue seems to be a bit more severe. Even mere docker --help | more has the same issue:

failed to get console mode for stdout: The handle is invalid.

Usage:  docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Common Commands:
  run         Create and run a new container from an image
[...]

One of tries (run under pwsh.exe) of docker --help | more resulted in this (I could have a couple of other docker commands running in the background at the same time):

Exception 0xc0000005 0x0 0xffffffffffffffff 0x7ff81d5e6d64
PC=0x7ff81d5e6d64

runtime.cgocall(0x81e220, 0x1e90088)
        /usr/local/go/src/runtime/cgocall.go:157 +0x3e fp=0xc00015f3d0 sp=0xc00015f398 pc=0x7b823e
syscall.SyscallN(0x815319?, {0xc00015f468?, 0xc00015f470?, 0x82db65?})
        /usr/local/go/src/runtime/syscall_windows.go:544 +0x107 fp=0xc00015f448 sp=0xc00015f3d0 pc=0x8197c7
syscall.Syscall12(0x0?, 0x0?, 0x0?, 0xc00015f540?, 0x800a89?, 0x1e605c0?, 0xc00015f570?, 0xc000046870?, 0xc00015f590?, 0x0, ...)
        /usr/local/go/src/runtime/syscall_windows.go:500 +0xa9 fp=0xc00015f4d8 sp=0xc00015f448 pc=0x8196a9
syscall.CreateProcess(0x36?, 0xc00015f618?, 0x7c0945?, 0x100000000?, 0x1, 0x80400, 0x2?, 0x400000?, 0x100c00015f620?, 0xc00015f660)
        /usr/local/go/src/syscall/zsyscall_windows.go:545 +0x10c fp=0xc00015f5a0 sp=0xc00015f4d8 pc=0x835a0c
syscall.StartProcess({0xc0000aa600?, 0x5120a09f00000400?}, {0xc00060a500, 0x2, 0x2}, 0xc000416810?)
        /usr/local/go/src/syscall/exec_windows.go:418 +0xbcf fp=0xc00015f800 sp=0xc00015f5a0 pc=0x82facf
os.startProcess({0xc0000aa600, 0x33}, {0xc00060a500, 0x2, 0x2}, 0xc00015fa40)
        /usr/local/go/src/os/exec_posix.go:54 +0x2df fp=0xc00015f8e0 sp=0xc00015f800 pc=0x86bf3f
os.StartProcess({0xc0000aa600, 0x33}, {0xc00060a500, 0x2, 0x2}, 0xc00014b9b8?)
        /usr/local/go/src/os/exec.go:111 +0x54 fp=0xc00015f928 sp=0xc00015f8e0 pc=0x86b9f4
os/exec.(*Cmd).Start(0xc0000d2dc0)
        /usr/local/go/src/os/exec/exec.go:693 +0x625 fp=0xc00015faa0 sp=0xc00015f928 pc=0x8a0d65
os/exec.(*Cmd).Run(0x2?)
        /usr/local/go/src/os/exec/exec.go:587 +0x18 fp=0xc00015fac0 sp=0xc00015faa0 pc=0x8a04b8
os/exec.(*Cmd).Output(0xc0000d2dc0)
        /usr/local/go/src/os/exec/exec.go:984 +0xb6 fp=0xc00015fb10 sp=0xc00015fac0 pc=0x8a2256
github.com/docker/cli/cli-plugins/manager.(*candidate).Metadata(0x12fdae0?)
        /go/src/github.com/docker/cli/cli-plugins/manager/candidate.go:20 +0x4a fp=0xc00015fb58 sp=0xc00015fb10 pc=0xda5f4a
github.com/docker/cli/cli-plugins/manager.newPlugin({0x16537f8, 0xc0004245d0}, {0xc00017f600, 0x3b, 0x0?})
        /go/src/github.com/docker/cli/cli-plugins/manager/plugin.go:83 +0xb17 fp=0xc00015fcf8 sp=0xc00015fb58 pc=0xda9017
github.com/docker/cli/cli-plugins/manager.ListPlugins.ListPlugins.func1.func3()
        /go/src/github.com/docker/cli/cli-plugins/manager/manager.go:163 +0x13a fp=0xc00015ff78 sp=0xc00015fcf8 pc=0xda7b3a
github.com/docker/cli/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1()
        /go/src/github.com/docker/cli/vendor/golang.org/x/sync/errgroup/errgroup.go:78 +0x56 fp=0xc00015ffe0 sp=0xc00015ff78 pc=0xda5d96
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00015ffe8 sp=0xc00015ffe0 pc=0x81ca41
created by github.com/docker/cli/vendor/golang.org/x/sync/errgroup.(*Group).Go in goroutine 1
        /go/src/github.com/docker/cli/vendor/golang.org/x/sync/errgroup/errgroup.go:75 +0x96

goroutine 1 [semacquire]:
runtime.gopark(0x39?, 0xc0005bf970?, 0x0?, 0x60?, 0x1655c60?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0004d78d0 sp=0xc0004d78b0 pc=0x7ef18e
runtime.goparkunlock(...)
        /usr/local/go/src/runtime/proc.go:404
runtime.semacquire1(0xc000430750, 0x18?, 0x1, 0x0, 0x4b?)
        /usr/local/go/src/runtime/sema.go:160 +0x229 fp=0xc0004d7938 sp=0xc0004d78d0 pc=0x7fed29
sync.runtime_Semacquire(0x0?)
        /usr/local/go/src/runtime/sema.go:62 +0x25 fp=0xc0004d7970 sp=0xc0004d7938 pc=0x817f45
sync.(*WaitGroup).Wait(0xc000102870?)
        /usr/local/go/src/sync/waitgroup.go:116 +0x48 fp=0xc0004d7998 sp=0xc0004d7970 pc=0x82b988
github.com/docker/cli/vendor/golang.org/x/sync/errgroup.(*Group).Wait(0xc000430740)
        /go/src/github.com/docker/cli/vendor/golang.org/x/sync/errgroup/errgroup.go:56 +0x25 fp=0xc0004d79b8 sp=0xc0004d7998 pc=0xda5c25
github.com/docker/cli/cli-plugins/manager.ListPlugins({0x16670e8?, 0xc000672000?}, 0xc000004300)
        /go/src/github.com/docker/cli/cli-plugins/manager/manager.go:177 +0x27f fp=0xc0004d7aa0 sp=0xc0004d79b8 pc=0xda789f
github.com/docker/cli/cli-plugins/manager.AddPluginCommandStubs.func1()
        /go/src/github.com/docker/cli/cli-plugins/manager/cobra.go:43 +0x49 fp=0xc0004d7be0 sp=0xc0004d7aa0 pc=0xda60a9
sync.(*Once).doSlow(0xc00017f600?, 0x8829d3?)
        /usr/local/go/src/sync/once.go:74 +0xbf fp=0xc0004d7c40 sp=0xc0004d7be0 pc=0x82a3df
sync.(*Once).Do(...)
        /usr/local/go/src/sync/once.go:65
github.com/docker/cli/cli-plugins/manager.AddPluginCommandStubs({0x16670e8?, 0xc000672000}, 0xc000004300)
        /go/src/github.com/docker/cli/cli-plugins/manager/cobra.go:41 +0x93 fp=0xc0004d7c98 sp=0xc0004d7c40 pc=0xda6013
main.setHelpFunc.func1(0x164f160?, {0xc0004241e0, 0x0, 0x1})
        /go/src/github.com/docker/cli/cmd/docker/docker.go:163 +0x65 fp=0xc0004d7d18 sp=0xc0004d7c98 pc=0x121d1c5
github.com/docker/cli/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc000004300)
        /go/src/github.com/docker/cli/vendor/github.com/spf13/cobra/command.go:1120 +0x5d7 fp=0xc0004d7df0 sp=0xc0004d7d18 pc=0xd91eb7
github.com/docker/cli/vendor/github.com/spf13/cobra.(*Command).Execute(...)
        /go/src/github.com/docker/cli/vendor/github.com/spf13/cobra/command.go:1039
main.runDocker(0x0?)
        /go/src/github.com/docker/cli/cmd/docker/docker.go:325 +0x485 fp=0xc0004d7ec8 sp=0xc0004d7df0 pc=0x121e085
main.main()
        /go/src/github.com/docker/cli/cmd/docker/docker.go:35 +0x90 fp=0xc0004d7f40 sp=0xc0004d7ec8 pc=0x121c070
runtime.main()
        /usr/local/go/src/runtime/proc.go:267 +0x2b2 fp=0xc0004d7fe0 sp=0xc0004d7f40 pc=0x7eed72
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0004d7fe8 sp=0xc0004d7fe0 pc=0x81ca41

goroutine 2 [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc00008dfa8 sp=0xc00008df88 pc=0x7ef18e
runtime.goparkunlock(...)
        /usr/local/go/src/runtime/proc.go:404
runtime.forcegchelper()
        /usr/local/go/src/runtime/proc.go:322 +0xb8 fp=0xc00008dfe0 sp=0xc00008dfa8 pc=0x7ef018
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00008dfe8 sp=0xc00008dfe0 pc=0x81ca41
created by runtime.init.6 in goroutine 1
        /usr/local/go/src/runtime/proc.go:310 +0x1a

goroutine 3 [GC sweep wait]:
runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc00008ff78 sp=0xc00008ff58 pc=0x7ef18e
runtime.goparkunlock(...)
        /usr/local/go/src/runtime/proc.go:404
runtime.bgsweep(0x0?)
        /usr/local/go/src/runtime/mgcsweep.go:321 +0xdf fp=0xc00008ffc8 sp=0xc00008ff78 pc=0x7d88bf
runtime.gcenable.func1()
        /usr/local/go/src/runtime/mgc.go:200 +0x25 fp=0xc00008ffe0 sp=0xc00008ffc8 pc=0x7cda05
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00008ffe8 sp=0xc00008ffe0 pc=0x81ca41
created by runtime.gcenable in goroutine 1
        /usr/local/go/src/runtime/mgc.go:200 +0x66

goroutine 4 [GC scavenge wait]:
runtime.gopark(0xc00009a000?, 0x1647fe8?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0000a1f70 sp=0xc0000a1f50 pc=0x7ef18e
runtime.goparkunlock(...)
        /usr/local/go/src/runtime/proc.go:404
runtime.(*scavengerState).park(0x1e8f480)
        /usr/local/go/src/runtime/mgcscavenge.go:425 +0x49 fp=0xc0000a1fa0 sp=0xc0000a1f70 pc=0x7d6149
runtime.bgscavenge(0x0?)
        /usr/local/go/src/runtime/mgcscavenge.go:658 +0x59 fp=0xc0000a1fc8 sp=0xc0000a1fa0 pc=0x7d66f9
runtime.gcenable.func2()
        /usr/local/go/src/runtime/mgc.go:201 +0x25 fp=0xc0000a1fe0 sp=0xc0000a1fc8 pc=0x7cd9a5
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000a1fe8 sp=0xc0000a1fe0 pc=0x81ca41
created by runtime.gcenable in goroutine 1
        /usr/local/go/src/runtime/mgc.go:201 +0xa5

goroutine 5 [finalizer wait]:
runtime.gopark(0x7c01de?, 0x400000?, 0x70?, 0x1e?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000091e20 sp=0xc000091e00 pc=0x7ef18e
runtime.runfinq()
        /usr/local/go/src/runtime/mfinal.go:193 +0x107 fp=0xc000091fe0 sp=0xc000091e20 pc=0x7cca67
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000091fe8 sp=0xc000091fe0 pc=0x81ca41
created by runtime.createfing in goroutine 1
        /usr/local/go/src/runtime/mfinal.go:163 +0x3d

goroutine 34 [GC worker (idle)]:
runtime.gopark(0xc0000a3fa8?, 0x7b97bd?, 0xb8?, 0x11?, 0xc00021a380?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0000a3f50 sp=0xc0000a3f30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc0000a3fe0 sp=0xc0000a3f50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0000a3fe8 sp=0xc0000a3fe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 18 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc00009df50 sp=0xc00009df30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc00009dfe0 sp=0xc00009df50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00009dfe8 sp=0xc00009dfe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 8 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0003c5f50 sp=0xc0003c5f30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc0003c5fe0 sp=0xc0003c5f50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0003c5fe8 sp=0xc0003c5fe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 9 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0003c7f50 sp=0xc0003c7f30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc0003c7fe0 sp=0xc0003c7f50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0003c7fe8 sp=0xc0003c7fe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 10 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0003c1f50 sp=0xc0003c1f30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc0003c1fe0 sp=0xc0003c1f50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0003c1fe8 sp=0xc0003c1fe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 19 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc00009ff50 sp=0xc00009ff30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc00009ffe0 sp=0xc00009ff50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00009ffe8 sp=0xc00009ffe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 11 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0003c3f50 sp=0xc0003c3f30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc0003c3fe0 sp=0xc0003c3f50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0003c3fe8 sp=0xc0003c3fe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 20 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0004a5f50 sp=0xc0004a5f30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc0004a5fe0 sp=0xc0004a5f50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0004a5fe8 sp=0xc0004a5fe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 12 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0004a1f50 sp=0xc0004a1f30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc0004a1fe0 sp=0xc0004a1f50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0004a1fe8 sp=0xc0004a1fe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 21 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0004a7f50 sp=0xc0004a7f30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc0004a7fe0 sp=0xc0004a7f50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0004a7fe8 sp=0xc0004a7fe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 22 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0004adf50 sp=0xc0004adf30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc0004adfe0 sp=0xc0004adf50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0004adfe8 sp=0xc0004adfe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 13 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0004a3f50 sp=0xc0004a3f30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc0004a3fe0 sp=0xc0004a3f50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0004a3fe8 sp=0xc0004a3fe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 23 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0004aff50 sp=0xc0004aff30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc0004affe0 sp=0xc0004aff50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0004affe8 sp=0xc0004affe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 14 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0004a9f50 sp=0xc0004a9f30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc0004a9fe0 sp=0xc0004a9f50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0004a9fe8 sp=0xc0004a9fe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 35 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000509f50 sp=0xc000509f30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc000509fe0 sp=0xc000509f50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000509fe8 sp=0xc000509fe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 15 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0004abf50 sp=0xc0004abf30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc0004abfe0 sp=0xc0004abf50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0004abfe8 sp=0xc0004abfe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 24 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000505f50 sp=0xc000505f30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc000505fe0 sp=0xc000505f50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000505fe8 sp=0xc000505fe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 16 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0003cdf50 sp=0xc0003cdf30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc0003cdfe0 sp=0xc0003cdf50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0003cdfe8 sp=0xc0003cdfe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 36 [GC worker (idle)]:
runtime.gopark(0x12e706c2344?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc00050bf50 sp=0xc00050bf30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc00050bfe0 sp=0xc00050bf50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00050bfe8 sp=0xc00050bfe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 37 [GC worker (idle)]:
runtime.gopark(0x12e7074a244?, 0x1?, 0x0?, 0x7f?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0003c9f50 sp=0xc0003c9f30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc0003c9fe0 sp=0xc0003c9f50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0003c9fe8 sp=0xc0003c9fe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 25 [GC worker (idle)]:
runtime.gopark(0x12e7074a244?, 0x1?, 0xd8?, 0xac?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc000507f50 sp=0xc000507f30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc000507fe0 sp=0xc000507f50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000507fe8 sp=0xc000507fe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 38 [GC worker (idle)]:
runtime.gopark(0x1ee63e0?, 0x1?, 0x0?, 0x7f?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0003cbf50 sp=0xc0003cbf30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc0003cbfe0 sp=0xc0003cbf50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0003cbfe8 sp=0xc0003cbfe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 26 [GC worker (idle)]:
runtime.gopark(0x1ee63e0?, 0x1?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0004b5f50 sp=0xc0004b5f30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc0004b5fe0 sp=0xc0004b5f50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0004b5fe8 sp=0xc0004b5fe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 39 [GC worker (idle)]:
runtime.gopark(0x1ee63e0?, 0x1?, 0x0?, 0x7f?, 0x0?)
        /usr/local/go/src/runtime/proc.go:398 +0xce fp=0xc0004b1f50 sp=0xc0004b1f30 pc=0x7ef18e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1295 +0xe5 fp=0xc0004b1fe0 sp=0xc0004b1f50 pc=0x7cf605
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0004b1fe8 sp=0xc0004b1fe0 pc=0x81ca41
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1219 +0x1c

goroutine 40 [syscall, locked to thread]:
runtime.cgocall(0x81e220, 0xc000096ac8)
        /usr/local/go/src/runtime/cgocall.go:157 +0x3e fp=0xc00015b3d0 sp=0xc00015b398 pc=0x7b823e
syscall.SyscallN(0x82ea0a?, {0xc00015b468?, 0xc0003ed000?, 0xf72?})
        /usr/local/go/src/runtime/syscall_windows.go:544 +0x107 fp=0xc00015b448 sp=0xc00015b3d0 pc=0x8197c7
syscall.Syscall12(0x0?, 0x0?, 0x0?, 0xc00015b540?, 0x800a89?, 0x1e605c0?, 0xc00015b570?, 0xc0003d6190?, 0xc00015b590?, 0x0, ...)
        /usr/local/go/src/runtime/syscall_windows.go:500 +0xa9 fp=0xc00015b4d8 sp=0xc00015b448 pc=0x8196a9
syscall.CreateProcess(0x36?, 0xc00015b618?, 0x7c0945?, 0x100000000?, 0x1, 0x80400, 0x2?, 0x400000?, 0x100c00015b620?, 0xc00015b660)
        /usr/local/go/src/syscall/zsyscall_windows.go:545 +0x10c fp=0xc00015b5a0 sp=0xc00015b4d8 pc=0x835a0c
syscall.StartProcess({0xc0000aa3c0?, 0x582c42e700000400?}, {0xc000692020, 0x2, 0x2}, 0xc0003dc018?)
        /usr/local/go/src/syscall/exec_windows.go:418 +0xbcf fp=0xc00015b800 sp=0xc00015b5a0 pc=0x82facf
os.startProcess({0xc0000aa3c0, 0x36}, {0xc000692020, 0x2, 0x2}, 0xc00015ba40)
        /usr/local/go/src/os/exec_posix.go:54 +0x2df fp=0xc00015b8e0 sp=0xc00015b800 pc=0x86bf3f
os.StartProcess({0xc0000aa3c0, 0x36}, {0xc000692020, 0x2, 0x2}, 0x5?)
        /usr/local/go/src/os/exec.go:111 +0x54 fp=0xc00015b928 sp=0xc00015b8e0 pc=0x86b9f4
os/exec.(*Cmd).Start(0xc0003d2000)
        /usr/local/go/src/os/exec/exec.go:693 +0x625 fp=0xc00015baa0 sp=0xc00015b928 pc=0x8a0d65
os/exec.(*Cmd).Run(0x2?)
        /usr/local/go/src/os/exec/exec.go:587 +0x18 fp=0xc00015bac0 sp=0xc00015baa0 pc=0x8a04b8
os/exec.(*Cmd).Output(0xc0003d2000)
        /usr/local/go/src/os/exec/exec.go:984 +0xb6 fp=0xc00015bb10 sp=0xc00015bac0 pc=0x8a2256
github.com/docker/cli/cli-plugins/manager.(*candidate).Metadata(0x12fdae0?)
        /go/src/github.com/docker/cli/cli-plugins/manager/candidate.go:20 +0x4a fp=0xc00015bb58 sp=0xc00015bb10 pc=0xda5f4a
github.com/docker/cli/cli-plugins/manager.newPlugin({0x16537f8, 0xc000510010}, {0xc00017f600, 0x3b, 0x0?})
        /go/src/github.com/docker/cli/cli-plugins/manager/plugin.go:83 +0xb17 fp=0xc00015bcf8 sp=0xc00015bb58 pc=0xda9017
github.com/docker/cli/cli-plugins/manager.ListPlugins.ListPlugins.func1.func3()
        /go/src/github.com/docker/cli/cli-plugins/manager/manager.go:163 +0x13a fp=0xc00015bf78 sp=0xc00015bcf8 pc=0xda7b3a
github.com/docker/cli/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1()
        /go/src/github.com/docker/cli/vendor/golang.org/x/sync/errgroup/errgroup.go:78 +0x56 fp=0xc00015bfe0 sp=0xc00015bf78 pc=0xda5d96
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00015bfe8 sp=0xc00015bfe0 pc=0x81ca41
created by github.com/docker/cli/vendor/golang.org/x/sync/errgroup.(*Group).Go in goroutine 1
        /go/src/github.com/docker/cli/vendor/golang.org/x/sync/errgroup/errgroup.go:75 +0x96

goroutine 41 [syscall, locked to thread]:
runtime.cgocall(0x81e220, 0xc000096ec8)
        /usr/local/go/src/runtime/cgocall.go:157 +0x3e fp=0xc0005e53d0 sp=0xc0005e5398 pc=0x7b823e
syscall.SyscallN(0x82ea0a?, {0xc0005e5468?, 0xc000019000?, 0xf72?})
        /usr/local/go/src/runtime/syscall_windows.go:544 +0x107 fp=0xc0005e5448 sp=0xc0005e53d0 pc=0x8197c7
syscall.Syscall12(0x0?, 0x0?, 0x0?, 0xc0005e5540?, 0x800a89?, 0x1e605c0?, 0xc0005e5570?, 0xc0001ae140?, 0xc0005e5590?, 0x0, ...)
        /usr/local/go/src/runtime/syscall_windows.go:500 +0xa9 fp=0xc0005e54d8 sp=0xc0005e5448 pc=0x8196a9
syscall.CreateProcess(0x36?, 0xc0005e5618?, 0x7c0945?, 0x100000000?, 0x1, 0x80400, 0x2?, 0x3?, 0x10081f6781ce8?, 0xc0005e5660)
        /usr/local/go/src/syscall/zsyscall_windows.go:545 +0x10c fp=0xc0005e55a0 sp=0xc0005e54d8 pc=0x835a0c
syscall.StartProcess({0xc0000aa420?, 0x886e7ed300000400?}, {0xc00043a000, 0x2, 0x2}, 0xc000416150?)
        /usr/local/go/src/syscall/exec_windows.go:418 +0xbcf fp=0xc0005e5800 sp=0xc0005e55a0 pc=0x82facf
os.startProcess({0xc0000aa420, 0x34}, {0xc00043a000, 0x2, 0x2}, 0xc0005e5a40)
        /usr/local/go/src/os/exec_posix.go:54 +0x2df fp=0xc0005e58e0 sp=0xc0005e5800 pc=0x86bf3f
os.StartProcess({0xc0000aa420, 0x34}, {0xc00043a000, 0x2, 0x2}, 0xc0004b7998?)
        /usr/local/go/src/os/exec.go:111 +0x54 fp=0xc0005e5928 sp=0xc0005e58e0 pc=0x86b9f4
os/exec.(*Cmd).Start(0xc0005c6000)
        /usr/local/go/src/os/exec/exec.go:693 +0x625 fp=0xc0005e5aa0 sp=0xc0005e5928 pc=0x8a0d65
os/exec.(*Cmd).Run(0x2?)
        /usr/local/go/src/os/exec/exec.go:587 +0x18 fp=0xc0005e5ac0 sp=0xc0005e5aa0 pc=0x8a04b8
os/exec.(*Cmd).Output(0xc0005c6000)
        /usr/local/go/src/os/exec/exec.go:984 +0xb6 fp=0xc0005e5b10 sp=0xc0005e5ac0 pc=0x8a2256
github.com/docker/cli/cli-plugins/manager.(*candidate).Metadata(0x12fdae0?)
        /go/src/github.com/docker/cli/cli-plugins/manager/candidate.go:20 +0x4a fp=0xc0005e5b58 sp=0xc0005e5b10 pc=0xda5f4a
github.com/docker/cli/cli-plugins/manager.newPlugin({0x16537f8, 0xc00040a000}, {0xc00017f600, 0x3b, 0x0?})
        /go/src/github.com/docker/cli/cli-plugins/manager/plugin.go:83 +0xb17 fp=0xc0005e5cf8 sp=0xc0005e5b58 pc=0xda9017
github.com/docker/cli/cli-plugins/manager.ListPlugins.ListPlugins.func1.func3()
        /go/src/github.com/docker/cli/cli-plugins/manager/manager.go:163 +0x13a fp=0xc0005e5f78 sp=0xc0005e5cf8 pc=0xda7b3a
github.com/docker/cli/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1()
        /go/src/github.com/docker/cli/vendor/golang.org/x/sync/errgroup/errgroup.go:78 +0x56 fp=0xc0005e5fe0 sp=0xc0005e5f78 pc=0xda5d96
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0005e5fe8 sp=0xc0005e5fe0 pc=0x81ca41
created by github.com/docker/cli/vendor/golang.org/x/sync/errgroup.(*Group).Go in goroutine 1
        /go/src/github.com/docker/cli/vendor/golang.org/x/sync/errgroup/errgroup.go:75 +0x96

goroutine 42 [syscall, locked to thread]:
runtime.cgocall(0x81e220, 0xc0000976c8)
        /usr/local/go/src/runtime/cgocall.go:157 +0x3e fp=0xc00038d3d0 sp=0xc00038d398 pc=0x7b823e
syscall.SyscallN(0x82ea0a?, {0xc00038d468?, 0xc000457000?, 0xf72?})
        /usr/local/go/src/runtime/syscall_windows.go:544 +0x107 fp=0xc00038d448 sp=0xc00038d3d0 pc=0x8197c7
syscall.Syscall12(0x0?, 0x0?, 0xc0004041a0?, 0xc00021f540?, 0x800a89?, 0x1e605c0?, 0xc00021f570?, 0xc000242190?, 0xc00021f590?, 0x0, ...)
        /usr/local/go/src/runtime/syscall_windows.go:500 +0xa9 fp=0xc00038d4d8 sp=0xc00038d448 pc=0x8196a9
syscall.CreateProcess(0x36?, 0xc00021f618?, 0x7c0973?, 0x10100000000?, 0x1, 0x80400, 0x2?, 0x3?, 0x100000081aa77?, 0xc00038d660)
        /usr/local/go/src/syscall/zsyscall_windows.go:545 +0x10c fp=0xc00038d5a0 sp=0xc00038d4d8 pc=0x835a0c
syscall.StartProcess({0xc0000aa480?, 0xc3bd5dba00000400?}, {0xc000228000, 0x2, 0x2}, 0xc00024e018?)
        /usr/local/go/src/syscall/exec_windows.go:418 +0xbcf fp=0xc00038d800 sp=0xc00038d5a0 pc=0x82facf
os.startProcess({0xc0000aa480, 0x32}, {0xc000228000, 0x2, 0x2}, 0xc00038da40)
        /usr/local/go/src/os/exec_posix.go:54 +0x2df fp=0xc00038d8e0 sp=0xc00038d800 pc=0x86bf3f
os.StartProcess({0xc0000aa480, 0x32}, {0xc000228000, 0x2, 0x2}, 0x5?)
        /usr/local/go/src/os/exec.go:111 +0x54 fp=0xc00038d928 sp=0xc00038d8e0 pc=0x86b9f4
os/exec.(*Cmd).Start(0xc00023a000)
        /usr/local/go/src/os/exec/exec.go:693 +0x625 fp=0xc00038daa0 sp=0xc00038d928 pc=0x8a0d65
os/exec.(*Cmd).Run(0x2?)
        /usr/local/go/src/os/exec/exec.go:587 +0x18 fp=0xc00038dac0 sp=0xc00038daa0 pc=0x8a04b8
os/exec.(*Cmd).Output(0xc00023a000)
        /usr/local/go/src/os/exec/exec.go:984 +0xb6 fp=0xc00038db10 sp=0xc00038dac0 pc=0x8a2256
github.com/docker/cli/cli-plugins/manager.(*candidate).Metadata(0x12fdae0?)
        /go/src/github.com/docker/cli/cli-plugins/manager/candidate.go:20 +0x4a fp=0xc00038db58 sp=0xc00038db10 pc=0xda5f4a
github.com/docker/cli/cli-plugins/manager.newPlugin({0x16537f8, 0xc00068e010}, {0xc00017f600, 0x3b, 0x0?})
        /go/src/github.com/docker/cli/cli-plugins/manager/plugin.go:83 +0xb17 fp=0xc00038dcf8 sp=0xc00038db58 pc=0xda9017
github.com/docker/cli/cli-plugins/manager.ListPlugins.ListPlugins.func1.func3()
        /go/src/github.com/docker/cli/cli-plugins/manager/manager.go:163 +0x13a fp=0xc00038df78 sp=0xc00038dcf8 pc=0xda7b3a
github.com/docker/cli/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1()
        /go/src/github.com/docker/cli/vendor/golang.org/x/sync/errgroup/errgroup.go:78 +0x56 fp=0xc00038dfe0 sp=0xc00038df78 pc=0xda5d96
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00038dfe8 sp=0xc00038dfe0 pc=0x81ca41
created by github.com/docker/cli/vendor/golang.org/x/sync/errgroup.(*Group).Go in goroutine 1
        /go/src/github.com/docker/cli/vendor/golang.org/x/sync/errgroup/errgroup.go:75 +0x96

goroutine 43 [syscall, locked to thread]:
runtime.cgocall(0x81e220, 0xc0005c02c8)
        /usr/local/go/src/runtime/cgocall.go:157 +0x3e fp=0xc0003913d0 sp=0xc000391398 pc=0x7b823e
syscall.SyscallN(0x82ea0a?, {0xc000391468?, 0xc000483000?, 0xf72?})
        /usr/local/go/src/runtime/syscall_windows.go:544 +0x107 fp=0xc000391448 sp=0xc0003913d0 pc=0x8197c7
syscall.Syscall12(0x0?, 0x0?, 0xc000404340?, 0xc000391540?, 0x800a89?, 0x1e605c0?, 0xc000391570?, 0xc000046a00?, 0xc000391590?, 0x0, ...)
        /usr/local/go/src/runtime/syscall_windows.go:500 +0xa9 fp=0xc0003914d8 sp=0xc000391448 pc=0x8196a9
syscall.CreateProcess(0x36?, 0xc000391618?, 0x7c0973?, 0x10100000000?, 0x1, 0x80400, 0x2?, 0xc000054500?, 0x100000081aa77?, 0xc000391660)
        /usr/local/go/src/syscall/zsyscall_windows.go:545 +0x10c fp=0xc0003915a0 sp=0xc0003914d8 pc=0x835a0c
syscall.StartProcess({0xc0000aa4e0?, 0x8285f78400000400?}, {0xc0001a00c0, 0x2, 0x2}, 0xc000416840?)
        /usr/local/go/src/syscall/exec_windows.go:418 +0xbcf fp=0xc000391800 sp=0xc0003915a0 pc=0x82facf
os.startProcess({0xc0000aa4e0, 0x38}, {0xc0001a00c0, 0x2, 0x2}, 0xc000391a40)
        /usr/local/go/src/os/exec_posix.go:54 +0x2df fp=0xc0003918e0 sp=0xc000391800 pc=0x86bf3f
os.StartProcess({0xc0000aa4e0, 0x38}, {0xc0001a00c0, 0x2, 0x2}, 0x0?)
        /usr/local/go/src/os/exec.go:111 +0x54 fp=0xc000391928 sp=0xc0003918e0 pc=0x86b9f4
os/exec.(*Cmd).Start(0xc0001a4160)
        /usr/local/go/src/os/exec/exec.go:693 +0x625 fp=0xc000391aa0 sp=0xc000391928 pc=0x8a0d65
os/exec.(*Cmd).Run(0x2?)
        /usr/local/go/src/os/exec/exec.go:587 +0x18 fp=0xc000391ac0 sp=0xc000391aa0 pc=0x8a04b8
os/exec.(*Cmd).Output(0xc0001a4160)
        /usr/local/go/src/os/exec/exec.go:984 +0xb6 fp=0xc000391b10 sp=0xc000391ac0 pc=0x8a2256
github.com/docker/cli/cli-plugins/manager.(*candidate).Metadata(0x12fdae0?)
        /go/src/github.com/docker/cli/cli-plugins/manager/candidate.go:20 +0x4a fp=0xc000391b58 sp=0xc000391b10 pc=0xda5f4a
github.com/docker/cli/cli-plugins/manager.newPlugin({0x16537f8, 0xc0006089f0}, {0xc00017f600, 0x3b, 0x0?})
        /go/src/github.com/docker/cli/cli-plugins/manager/plugin.go:83 +0xb17 fp=0xc000391cf8 sp=0xc000391b58 pc=0xda9017
github.com/docker/cli/cli-plugins/manager.ListPlugins.ListPlugins.func1.func3()
        /go/src/github.com/docker/cli/cli-plugins/manager/manager.go:163 +0x13a fp=0xc000391f78 sp=0xc000391cf8 pc=0xda7b3a
github.com/docker/cli/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1()
        /go/src/github.com/docker/cli/vendor/golang.org/x/sync/errgroup/errgroup.go:78 +0x56 fp=0xc000391fe0 sp=0xc000391f78 pc=0xda5d96
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000391fe8 sp=0xc000391fe0 pc=0x81ca41
created by github.com/docker/cli/vendor/golang.org/x/sync/errgroup.(*Group).Go in goroutine 1
        /go/src/github.com/docker/cli/vendor/golang.org/x/sync/errgroup/errgroup.go:75 +0x96

goroutine 44 [syscall, locked to thread]:
runtime.cgocall(0x81e220, 0xc0006006c8)
        /usr/local/go/src/runtime/cgocall.go:157 +0x3e fp=0xc0005e13d0 sp=0xc0005e1398 pc=0x7b823e
syscall.SyscallN(0x82ea0a?, {0xc0005e1468?, 0xc0002a5000?, 0xf72?})
        /usr/local/go/src/runtime/syscall_windows.go:544 +0x107 fp=0xc0005e1448 sp=0xc0005e13d0 pc=0x8197c7
syscall.Syscall12(0x0?, 0x0?, 0x0?, 0xc000223540?, 0x800a89?, 0x1e605c0?, 0xc000223570?, 0xc0003d6140?, 0xc000223590?, 0x0, ...)
        /usr/local/go/src/runtime/syscall_windows.go:500 +0xa9 fp=0xc0005e14d8 sp=0xc0005e1448 pc=0x8196a9
syscall.CreateProcess(0x36?, 0xc000223618?, 0x7c0945?, 0x100000000?, 0x1, 0x80400, 0x2?, 0x400000?, 0x100c000223620?, 0xc0005e1660)
        /usr/local/go/src/syscall/zsyscall_windows.go:545 +0x10c fp=0xc0005e15a0 sp=0xc0005e14d8 pc=0x835a0c
syscall.StartProcess({0xc0000aa540?, 0x166a67ab00000400?}, {0xc0001a0000, 0x2, 0x2}, 0xc0006363d8?)
        /usr/local/go/src/syscall/exec_windows.go:418 +0xbcf fp=0xc0005e1800 sp=0xc0005e15a0 pc=0x82facf
os.startProcess({0xc0000aa540, 0x37}, {0xc0001a0000, 0x2, 0x2}, 0xc0005e1a40)
        /usr/local/go/src/os/exec_posix.go:54 +0x2df fp=0xc0005e18e0 sp=0xc0005e1800 pc=0x86bf3f
os.StartProcess({0xc0000aa540, 0x37}, {0xc0001a0000, 0x2, 0x2}, 0x5?)
        /usr/local/go/src/os/exec.go:111 +0x54 fp=0xc0005e1928 sp=0xc0005e18e0 pc=0x86b9f4
os/exec.(*Cmd).Start(0xc0001a4000)
        /usr/local/go/src/os/exec/exec.go:693 +0x625 fp=0xc0005e1aa0 sp=0xc0005e1928 pc=0x8a0d65
os/exec.(*Cmd).Run(0x2?)
        /usr/local/go/src/os/exec/exec.go:587 +0x18 fp=0xc0005e1ac0 sp=0xc0005e1aa0 pc=0x8a04b8
os/exec.(*Cmd).Output(0xc0001a4000)
        /usr/local/go/src/os/exec/exec.go:984 +0xb6 fp=0xc0005e1b10 sp=0xc0005e1ac0 pc=0x8a2256
github.com/docker/cli/cli-plugins/manager.(*candidate).Metadata(0x12fdae0?)
        /go/src/github.com/docker/cli/cli-plugins/manager/candidate.go:20 +0x4a fp=0xc0005e1b58 sp=0xc0005e1b10 pc=0xda5f4a
github.com/docker/cli/cli-plugins/manager.newPlugin({0x16537f8, 0xc000608990}, {0xc00017f600, 0x3b, 0x0?})
        /go/src/github.com/docker/cli/cli-plugins/manager/plugin.go:83 +0xb17 fp=0xc0005e1cf8 sp=0xc0005e1b58 pc=0xda9017
github.com/docker/cli/cli-plugins/manager.ListPlugins.ListPlugins.func1.func3()
        /go/src/github.com/docker/cli/cli-plugins/manager/manager.go:163 +0x13a fp=0xc0005e1f78 sp=0xc0005e1cf8 pc=0xda7b3a
github.com/docker/cli/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1()
        /go/src/github.com/docker/cli/vendor/golang.org/x/sync/errgroup/errgroup.go:78 +0x56 fp=0xc0005e1fe0 sp=0xc0005e1f78 pc=0xda5d96
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0005e1fe8 sp=0xc0005e1fe0 pc=0x81ca41
created by github.com/docker/cli/vendor/golang.org/x/sync/errgroup.(*Group).Go in goroutine 1
        /go/src/github.com/docker/cli/vendor/golang.org/x/sync/errgroup/errgroup.go:75 +0x96

goroutine 45 [syscall, locked to thread]:
runtime.cgocall(0x81e220, 0xc0006762c8)
        /usr/local/go/src/runtime/cgocall.go:157 +0x3e fp=0xc00021f3d0 sp=0xc00021f398 pc=0x7b823e
syscall.SyscallN(0x82ea0a?, {0xc00021f468?, 0xc0004d9000?, 0xf72?})
        /usr/local/go/src/runtime/syscall_windows.go:544 +0x107 fp=0xc00021f448 sp=0xc00021f3d0 pc=0x8197c7
syscall.Syscall12(0x0?, 0x0?, 0x0?, 0xc00021f540?, 0x800a89?, 0x1e605c0?, 0xc00021f570?, 0xc000046140?, 0xc00021f590?, 0x0, ...)
        /usr/local/go/src/runtime/syscall_windows.go:500 +0xa9 fp=0xc00021f4d8 sp=0xc00021f448 pc=0x8196a9
syscall.CreateProcess(0x36?, 0xc00021f618?, 0x7c0945?, 0x10100000000?, 0x1, 0x80400, 0x2?, 0x3?, 0x100255554aaaa?, 0xc00021f660)
        /usr/local/go/src/syscall/zsyscall_windows.go:545 +0x10c fp=0xc00021f5a0 sp=0xc00021f4d8 pc=0x835a0c
syscall.StartProcess({0xc0000aa660?, 0x76c5e4cf00000400?}, {0xc00043a020, 0x2, 0x2}, 0xc0003dc030?)
        /usr/local/go/src/syscall/exec_windows.go:418 +0xbcf fp=0xc00021f800 sp=0xc00021f5a0 pc=0x82facf
os.startProcess({0xc0000aa660, 0x34}, {0xc00043a020, 0x2, 0x2}, 0xc00021fa40)
        /usr/local/go/src/os/exec_posix.go:54 +0x2df fp=0xc00021f8e0 sp=0xc00021f800 pc=0x86bf3f
os.StartProcess({0xc0000aa660, 0x34}, {0xc00043a020, 0x2, 0x2}, 0x7cdfec?)
        /usr/local/go/src/os/exec.go:111 +0x54 fp=0xc00021f928 sp=0xc00021f8e0 pc=0x86b9f4
os/exec.(*Cmd).Start(0xc000454000)
        /usr/local/go/src/os/exec/exec.go:693 +0x625 fp=0xc00021faa0 sp=0xc00021f928 pc=0x8a0d65
os/exec.(*Cmd).Run(0x2?)
        /usr/local/go/src/os/exec/exec.go:587 +0x18 fp=0xc00021fac0 sp=0xc00021faa0 pc=0x8a04b8
os/exec.(*Cmd).Output(0xc000454000)
        /usr/local/go/src/os/exec/exec.go:984 +0xb6 fp=0xc00021fb10 sp=0xc00021fac0 pc=0x8a2256
github.com/docker/cli/cli-plugins/manager.(*candidate).Metadata(0x12fdae0?)
        /go/src/github.com/docker/cli/cli-plugins/manager/candidate.go:20 +0x4a fp=0xc00021fb58 sp=0xc00021fb10 pc=0xda5f4a
github.com/docker/cli/cli-plugins/manager.newPlugin({0x16537f8, 0xc00040a020}, {0xc00017f600, 0x3b, 0x0?})
        /go/src/github.com/docker/cli/cli-plugins/manager/plugin.go:83 +0xb17 fp=0xc00021fcf8 sp=0xc00021fb58 pc=0xda9017
github.com/docker/cli/cli-plugins/manager.ListPlugins.ListPlugins.func1.func3()
        /go/src/github.com/docker/cli/cli-plugins/manager/manager.go:163 +0x13a fp=0xc00021ff78 sp=0xc00021fcf8 pc=0xda7b3a
github.com/docker/cli/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1()
        /go/src/github.com/docker/cli/vendor/golang.org/x/sync/errgroup/errgroup.go:78 +0x56 fp=0xc00021ffe0 sp=0xc00021ff78 pc=0xda5d96
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00021ffe8 sp=0xc00021ffe0 pc=0x81ca41
created by github.com/docker/cli/vendor/golang.org/x/sync/errgroup.(*Group).Go in goroutine 1
        /go/src/github.com/docker/cli/vendor/golang.org/x/sync/errgroup/errgroup.go:75 +0x96

goroutine 46 [syscall, locked to thread]:
runtime.cgocall(0x81e220, 0xc000400ac8)
        /usr/local/go/src/runtime/cgocall.go:157 +0x3e fp=0xc0002233d0 sp=0xc000223398 pc=0x7b823e
syscall.SyscallN(0x82ea0a?, {0xc000223468?, 0xc000133000?, 0xf72?})
        /usr/local/go/src/runtime/syscall_windows.go:544 +0x107 fp=0xc000223448 sp=0xc0002233d0 pc=0x8197c7
syscall.Syscall12(0x0?, 0x0?, 0x0?, 0xc000223540?, 0x800a89?, 0x1e605c0?, 0xc000223570?, 0xc0003d61e0?, 0xc000223590?, 0x0, ...)
        /usr/local/go/src/runtime/syscall_windows.go:500 +0xa9 fp=0xc0002234d8 sp=0xc000223448 pc=0x8196a9
syscall.CreateProcess(0x36?, 0xc0004b3618?, 0x7c0945?, 0x100000000?, 0x1, 0x80400, 0x2?, 0x3?, 0x10081f6803bc0?, 0xc000223660)
        /usr/local/go/src/syscall/zsyscall_windows.go:545 +0x10c fp=0xc0002235a0 sp=0xc0002234d8 pc=0x835a0c
syscall.StartProcess({0xc0000aa360?, 0x9cf2050600000400?}, {0xc000284000, 0x2, 0x2}, 0xc000636018?)
        /usr/local/go/src/syscall/exec_windows.go:418 +0xbcf fp=0xc000223800 sp=0xc0002235a0 pc=0x82facf
os.startProcess({0xc0000aa360, 0x35}, {0xc000284000, 0x2, 0x2}, 0xc000223a40)
        /usr/local/go/src/os/exec_posix.go:54 +0x2df fp=0xc0002238e0 sp=0xc000223800 pc=0x86bf3f
os.StartProcess({0xc0000aa360, 0x35}, {0xc000284000, 0x2, 0x2}, 0x5?)
        /usr/local/go/src/os/exec.go:111 +0x54 fp=0xc000223928 sp=0xc0002238e0 pc=0x86b9f4
os/exec.(*Cmd).Start(0xc000286000)
        /usr/local/go/src/os/exec/exec.go:693 +0x625 fp=0xc000223aa0 sp=0xc000223928 pc=0x8a0d65
os/exec.(*Cmd).Run(0x2?)
        /usr/local/go/src/os/exec/exec.go:587 +0x18 fp=0xc000223ac0 sp=0xc000223aa0 pc=0x8a04b8
os/exec.(*Cmd).Output(0xc000286000)
        /usr/local/go/src/os/exec/exec.go:984 +0xb6 fp=0xc000223b10 sp=0xc000223ac0 pc=0x8a2256
github.com/docker/cli/cli-plugins/manager.(*candidate).Metadata(0x12fdae0?)
        /go/src/github.com/docker/cli/cli-plugins/manager/candidate.go:20 +0x4a fp=0xc000223b58 sp=0xc000223b10 pc=0xda5f4a
github.com/docker/cli/cli-plugins/manager.newPlugin({0x16537f8, 0xc000050010}, {0xc00017f600, 0x3b, 0x0?})
        /go/src/github.com/docker/cli/cli-plugins/manager/plugin.go:83 +0xb17 fp=0xc000223cf8 sp=0xc000223b58 pc=0xda9017
github.com/docker/cli/cli-plugins/manager.ListPlugins.ListPlugins.func1.func3()
        /go/src/github.com/docker/cli/cli-plugins/manager/manager.go:163 +0x13a fp=0xc000223f78 sp=0xc000223cf8 pc=0xda7b3a
github.com/docker/cli/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1()
        /go/src/github.com/docker/cli/vendor/golang.org/x/sync/errgroup/errgroup.go:78 +0x56 fp=0xc000223fe0 sp=0xc000223f78 pc=0xda5d96
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc000223fe8 sp=0xc000223fe0 pc=0x81ca41
created by github.com/docker/cli/vendor/golang.org/x/sync/errgroup.(*Group).Go in goroutine 1
        /go/src/github.com/docker/cli/vendor/golang.org/x/sync/errgroup/errgroup.go:75 +0x96

goroutine 47 [syscall, locked to thread]:
runtime.cgocall(0x81e220, 0xc0006802c8)
        /usr/local/go/src/runtime/cgocall.go:157 +0x3e fp=0xc00029b3d0 sp=0xc00029b398 pc=0x7b823e
syscall.SyscallN(0x82ea0a?, {0xc00029b468?, 0xc000337000?, 0xf72?})
        /usr/local/go/src/runtime/syscall_windows.go:544 +0x107 fp=0xc00029b448 sp=0xc00029b3d0 pc=0x8197c7
syscall.Syscall12(0x0?, 0x0?, 0xc000405a00?, 0xc00029b540?, 0x800a89?, 0x1e605c0?, 0xc00029b570?, 0xc00030e190?, 0xc00029b590?, 0x0, ...)
        /usr/local/go/src/runtime/syscall_windows.go:500 +0xa9 fp=0xc00029b4d8 sp=0xc00029b448 pc=0x8196a9
syscall.CreateProcess(0x36?, 0xc00029b618?, 0x7c0973?, 0x100000000?, 0x1, 0x80400, 0xc0001e6170?, 0xc0001e6170?, 0x1000000000000?, 0xc00029b660)
        /usr/local/go/src/syscall/zsyscall_windows.go:545 +0x10c fp=0xc00029b5a0 sp=0xc00029b4d8 pc=0x835a0c
syscall.StartProcess({0xc0000aa5a0?, 0x75b8b5bb00000400?}, {0xc000304000, 0x2, 0x2}, 0xc00031a018?)
        /usr/local/go/src/syscall/exec_windows.go:418 +0xbcf fp=0xc00029b800 sp=0xc00029b5a0 pc=0x82facf
os.startProcess({0xc0000aa5a0, 0x33}, {0xc000304000, 0x2, 0x2}, 0xc00029ba40)
        /usr/local/go/src/os/exec_posix.go:54 +0x2df fp=0xc00029b8e0 sp=0xc00029b800 pc=0x86bf3f
os.StartProcess({0xc0000aa5a0, 0x33}, {0xc000304000, 0x2, 0x2}, 0x5?)
        /usr/local/go/src/os/exec.go:111 +0x54 fp=0xc00029b928 sp=0xc00029b8e0 pc=0x86b9f4
os/exec.(*Cmd).Start(0xc000306000)
        /usr/local/go/src/os/exec/exec.go:693 +0x625 fp=0xc00029baa0 sp=0xc00029b928 pc=0x8a0d65
os/exec.(*Cmd).Run(0x2?)
        /usr/local/go/src/os/exec/exec.go:587 +0x18 fp=0xc00029bac0 sp=0xc00029baa0 pc=0x8a04b8
os/exec.(*Cmd).Output(0xc000306000)
        /usr/local/go/src/os/exec/exec.go:984 +0xb6 fp=0xc00029bb10 sp=0xc00029bac0 pc=0x8a2256
github.com/docker/cli/cli-plugins/manager.(*candidate).Metadata(0x12fdae0?)
        /go/src/github.com/docker/cli/cli-plugins/manager/candidate.go:20 +0x4a fp=0xc00029bb58 sp=0xc00029bb10 pc=0xda5f4a
github.com/docker/cli/cli-plugins/manager.newPlugin({0x16537f8, 0xc0001c6000}, {0xc00017f600, 0x3b, 0x0?})
        /go/src/github.com/docker/cli/cli-plugins/manager/plugin.go:83 +0xb17 fp=0xc00029bcf8 sp=0xc00029bb58 pc=0xda9017
github.com/docker/cli/cli-plugins/manager.ListPlugins.ListPlugins.func1.func3()
        /go/src/github.com/docker/cli/cli-plugins/manager/manager.go:163 +0x13a fp=0xc00029bf78 sp=0xc00029bcf8 pc=0xda7b3a
github.com/docker/cli/vendor/golang.org/x/sync/errgroup.(*Group).Go.func1()
        /go/src/github.com/docker/cli/vendor/golang.org/x/sync/errgroup/errgroup.go:78 +0x56 fp=0xc00029bfe0 sp=0xc00029bf78 pc=0xda5d96
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 fp=0xc00029bfe8 sp=0xc00029bfe0 pc=0x81ca41
created by github.com/docker/cli/vendor/golang.org/x/sync/errgroup.(*Group).Go in goroutine 1
        /go/src/github.com/docker/cli/vendor/golang.org/x/sync/errgroup/errgroup.go:75 +0x96
rax     0x32336c656e72656b
rbx     0x1e90088
rcx     0x5f88bff240
rdi     0x5f88bff3e0
rsi     0x5f88bff480
rbp     0x5f88bffaf0
rsp     0x5f88bff1e0
r8      0x32336c656e72656b
r9      0x70
r10     0xc20f5660096b
r11     0x5f88bff390
r12     0xc00015f780
r13     0xc00015f660
r14     0xc000405ba0
r15     0xc00060a6c0
rip     0x7ff81d5e6d64
rflags  0x10287
cs      0x33
fs      0x53
gs      0x2b
failed to get console mode for stdout: The handle is invalid.

Definitely not all commands suffer from this. I have not experienced it for docker pull ... or docker container ls or docker inspect ... or docker image rm ....

KirillOsenkov commented 5 months ago

Can confirm this just broke us after updating to 4.27.0.

Earlier this Powershell script worked fine:

$foo = docker version --format '{{.Client.Version}}'
$foo

Now it returns failed to get console mode for stdout: The handle is invalid.

image

martinberteig commented 5 months ago

I can also confirm this. Some example commands that fails with this message:

Example 1:

PS C:\Users\admin> $Networks = Invoke-Expression "docker network ls --format `"{{.Name}}`""
PS C:\Users\admin> $Networks
failed to get console mode for stdout: The handle is invalid.
Default Switch
WSL
WSL (Hyper-V firewall)
nat
none

Example 2:

PS C:\Users\admin> $ContainerImageId = Invoke-Expression "docker container inspect $ContainerName --format=`"{{.Image}}`""
PS C:\Users\admin>  $ContainerImageId
failed to get console mode for stdout: The handle is invalid.
sha256:31ccc5d50927eae90e7d7672657f8b1fb688353e9253ced1f70191a71eebfd5e

Example 3:

PS C:\Users\admin> $State = docker ps -all --format "{{.State}}" --filter "name=$ContainerName"
PS C:\Users\admin> $State
failed to get console mode for stdout: The handle is invalid.
exited

Note: If you run the same command without redirection, it works fine Example 1:

PS C:\Users\admin> Invoke-Expression "docker network ls --format `"{{.Name}}`""
Default Switch
WSL
WSL (Hyper-V firewall)
nat
none

Example 2:

PS C:\Users\admin> Invoke-Expression "docker container inspect $ContainerName --format=`"{{.Image}}`""
sha256:31ccc5d50927eae90e7d7672657f8b1fb688353e9253ced1f70191a71eebfd5e

Example 3:

PS C:\Users\admin> docker ps -all --format "{{.State}}" --filter "name=$ContainerName"
exited

This unfortunately breaks all our PowerShell automation for our local devenvironments with Docker Desktop. We have reverted to 4.26.1 for now

jpliraa commented 5 months ago

image Same trying to login on aws ecr

zylxjtu commented 5 months ago

having the same issue with the docker import command

martinberteig commented 5 months ago

FYI. Issue still persists in version 4.27.1

go-aegian commented 5 months ago

After updating to 4.27.1 this problem came up. As it's critical, what is the ETA on this?

VadymPatuk commented 5 months ago

Same here, v4.27.1 doesnt fix it

image

laurazard commented 5 months ago

Hiya! Sorry for the delay in replying, we're aware and will fix a ship for this soon.

In the meantime, we've pinpointed the issue, so if you need a workaround right now, you can downgrade the docker.exe binary by downloading an older version of this binary from before this was introduced – docker-windows-amd64.exe.zip – and replacing the docker.exe in C:\Program Files\Docker\Docker\resources\bin with it (this is an internal build, it might not be signed and Windows might or might not complain about it).

Another option is to invoke the com.docker.cli.exe binary in that folder directly, keeping in mind that some things might behave differently/some commands might not be available there (i.e. some of the aws/ecs integrations).

go-aegian commented 5 months ago

@laurazard,

Thank you for replying!

Replacing it with the one you provided in the zip file worked for me while waiting on the fix...

hultqvist commented 5 months ago

The previous version works, can this be installed safely?

laurazard commented 5 months ago

Downgrading Docker Desktop as a whole isn't advisable due to the recently disclosed CVEs that we patched in the last version — https://www.docker.com/blog/docker-security-advisory-multiple-vulnerabilities-in-runc-buildkit-and-moby/.

DerVanTek commented 5 months ago

... docker-windows-amd64.exe.zip – and replacing the docker.exe in C:\Program Files\Docker\Docker\resources\bin ...

Ty for the quick fix, it's working.

Hazmi35 commented 5 months ago

idk if this is related but docker completion powershell is broken after updating from 4.26.0 to 4.27.1

image

Can confirm this happens after updating to 4.27.1 after updating two of my devices

Real-MJoe commented 4 months ago

... docker-windows-amd64.exe.zip – and replacing the docker.exe in C:\Program Files\Docker\Docker\resources\bin ...

Ty for the quick fix, it's working.

I can confirm that this hotfix works Thanks

igorewka commented 4 months ago

Is it fixed in 4.27.2 ?

istipeti commented 4 months ago
  1. docker images docker/*-extension | more

No, it isn't fixed.

ch4ox commented 4 months ago

you can downgrade the docker.exe binary by downloading an older version of this binary from before this was introduced – docker-windows-amd64.exe.zip – and replacing the...

Can confirm this hotfix still works with v4.27.2. Thanks! 👍

ckuetbach commented 4 months ago

Is there any update on how long until this is fixed?

Currently I have to decide between

KevinGuancheDarias commented 4 months ago

@ckuetbach If you are using git bash, you can use some workaround like this

if uname | grep -i mingw &> /dev/null && docker --version | grep 'failed to get console mode for stdout' &> /dev/null ; then
    log warning "applying hotfix for known docker bug docker/for-win#13891" # if you don't have log, use regular echo
    function docker () { # you can use alias instead if you are going to place this in .bashrc
        com.docker.cli $@;
    }
fi
port513 commented 4 months ago

Same problem here, I have to get rid of this annoying problem since it makes false failures in my system...

If you run docker completion powershell The first row will be an error line.

How did this bug even get in the system?

laurazard commented 4 months ago

Small update: we've merged a fix for this which we'll include in the next version of Docker Desktop (4.28), soon. Sorry for the inconvenience in the meantime!

go-aegian commented 4 months ago

@laurazard

I updated to v4.27.2 after using 4.26 while 4.27.x was being fixed

Yet still I get the same error as when I reported 4.27.x so is there a way to push a new version only once this is actually fixed for windows users?

PS> docker --help | more failed to get console mode for stdout: The handle is invalid.

julio-am commented 4 months ago

Thanks for the update! Currently my service is broken because my code expects the output of Docker commands to adhere to the "{{.json}}" format specifier rules.

Is there an estimate on when 4.28 will be available?

coxantohi commented 4 months ago

I'm mentioning an workaround that relies on modifying the PowerShell scripts.

When a single string is expected, as in:

$x = docker version --format '{{.Client.Version}}'
$y = "v" + $x
$z = "v$x"
$y
#outputs `vfailed to get console mode for stdout: The handle is invalid. 25.0.3`
$z
#outputs `vfailed to get console mode for stdout: The handle is invalid. 25.0.3`

we can replace $x with $x[1] or with $($x[1]) depending on the usage:

$x = docker version --format '{{.Client.Version}}'
$y = "v" + $x[1]
$z = "v$($x[1])"
$y
#outputs `v25.0.3`
$z
#outputs `v25.0.3`

When an array is expected, as in:

$a = docker network ls --format '{{.Name}}'
$a | Foreach-Object { "Name is $_" }
#outputs:
#Name is failed to get console mode for stdout: The handle is invalid.
#Name is bridge
#Name is dockercompose8436543740933270177_default
#Name is host
#Name is none

we can add a Select-Object -Skip 1 command in the pipeline:

$a = docker network ls --format '{{.Name}}'
$a | Select-Object -Skip 1 | Foreach-Object { "Name is $_" }
#outputs:
#Name is bridge
#Name is dockercompose8436543740933270177_default
#Name is host
#Name is none
frankrutz commented 4 months ago

Potential workaround

We observe this issue as well, Docker v4.27.2 , from powershell.

Part of failing.ps1 script:

` $command = 'docker run --rm $containerimage id -u $user '

Invoke-Expression -Command $command | Out-String -OutVariable userid

`

Error: failed to get console mode for stdout: The handle is invalid.

Our workaround:

Launch Windows PowerShell ISE and run script failing.ps1 from there. Works nice in my case.

Greetings from SwissLife in Zurich .... Frank Potthast Rutz

Update:

Minimal script for testing. Fails in PowerShell, OK from within PowerShell ISE.

Invoke-Expression -Command 'docker run busybox date'

Invoke-Expression -Command 'docker run busybox date' | Out-String -OutVariable userid

julio-am commented 4 months ago

Hi Frank, won’t that workaround throw away the first line of valid output on every version besides v27? If the output format is supposed to be JSON, that would result in a completely invalid JSON object.

I do not agree that this issue should be downgraded to low severity. Please consider that this output is relied upon ubiquitously, sometimes in production programs that may be hard if not impossible to patch quickly.

It’s pretty unacceptable that the output format can be specified explicitly and then not adhered to.

Thank you for your hard work, -julio

frankrutz commented 4 months ago

s

Hi Julio, sorry, my comment above was unclear.

That we downgraded this issue from critical to low was intended to describe how we, a docker-enduser-company, handle this bug.

From a Docker Desktop perspective, this is a rather critical issue, I agree with you. I removed the line from my comment above to avoid further misunderstandings.

Sorry for being unclear, kind regards ... Frank

julio-am commented 4 months ago

Sorry for being unclear, kind regards ... Frank

Apologies for the confusion on my end! Glad we’re on the same page.

Best, -julio

freddydk commented 4 months ago

Any estimate on when 4.28 will be released? Should we create workarounds or wait?

Thanks

hilari0n commented 4 months ago

Potential workaround

We observe this issue as well, Docker v4.27.2 , from powershell.

[...]

Launch Windows PowerShell ISE and run script failing.ps1 from there. Works nice in my case.

Thanks for sharing. I was not aware that there are cases, where this works. (It's not a viable workaround for us, as we use PowerShell (Core), as Windows PowerShell lacks some functionalities we need, but still there may be scenarios where we can leverage this.)

hilari0n commented 4 months ago

I'm mentioning an workaround that relies on modifying the PowerShell scripts.

[...]

There's a more general/generic approach we've implemented in our script, which is also elastic, so you don't need to understand which commands are and which are not affected and will also work with unaffected versions of Docker Desktop, so will also work correctly after a fix is released. It works with Windows PowerShell and PowerShell (Core).

[string] $dockerCommandParameters = @(,'--help'); # This is just an example, you can use any command, e.g.: @(,'version', '--format', '{{.Client.Version}}')
[string[]] $commandOutput = & docker $dockerCommandParameters `
| % { [bool] $firstline = $true; } { if (!$firstline -Or ($_ -INotLike '*failed to get console*')) { $_ }; $firstline = $false; };
# Do the command output processing here, e.g.:
$commandOutput | more;

You can also use it with pipeline processing (i.e., when you don't want to store the whole output in a variable, but process it as it's being returned) and without the use of array for command parameters. Something like this:

& docker --help `
| % { [bool] $firstline = $true; } { if (!$firstline -Or ($_ -INotLike '*failed to get console*')) { $_ }; $firstline = $false; } `
| more;

There are drawbacks however:

fernando1419 commented 4 months ago

you can downgrade the docker.exe binary by downloading an older version of this binary from before this was introduced – docker-windows-amd64.exe.zip – and replacing the...

Can confirm this hotfix still works with v4.27.2. Thanks! 👍

wyckster commented 4 months ago

I hope you added a new unit test to prevent regression.

Easy steps to reproduce

docker --version >version.txt

version.txt:

failed to get console mode for stdout: The handle is invalid.
Docker version 25.0.3, build 4debf41

Possible workaround for some

Use 2>NUL

docker --version >version2.txt 2>NUL

version2.txt:

Docker version 25.0.3, build 4debf41
ch4ox commented 4 months ago

Release notes for 4.28.0 list:

Fixed an issue that caused the failed to get console mode error when redirecting output from the CLI.

So this issue is fixed, correct? Would love to update to a stable version, thanks! 😊

quarky42 commented 3 months ago

Docker Desktop 4.27.2 had this error. Docker Desktop 4.28.0 fixed this for me. I was using volumes=$(docker volume ls -q) and getting the error stored in the variable as part of a larger script that removed all listed volumes but only if $volumes was defined / non-empty. (Using Git-Bash)

navdotnetreqs commented 1 month ago

Experiencing this same issue with:

4.27.2 (137060) Engine: 25.0.3 Compose: v2.24.5-desktop.1

It screws up all scripts relating to business central containers (bccontainerhelper) because it breaks json-handling all over the place. The json data begins with "failed to get console mode for stdout: The handle is invalid."

Issue with vs code test runner

$StatusJson = docker inspect $ContainerName
$StatusJson = [String]::Join([Environment]::NewLine, $StatusJson)
$Status = ConvertFrom-Json $StatusJson
**Message        : Invalid JSON primitive: failed.**
ParamName      :
Data           : {}
InnerException :
TargetSite     : System.Object DeserializePrimitiveObject()
StackTrace     :    at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject()
                    at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth)
                    at System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(String input, Int32 depthLimit, JavaScriptSerializer serializer)
                    at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit)
                    at Microsoft.PowerShell.Commands.JsonObject.ConvertFromJson(String input, ErrorRecord& error)
                    at Microsoft.PowerShell.Commands.ConvertFromJsonCommand.ConvertFromJsonHelper(String input)
                    at System.Management.Automation.CommandProcessorBase.Complete()
HelpLink       :
Source         : System.Web.Extensions
HResult        : -2147024809
navdotnetreqs commented 1 month ago

Funny/interesting note: If I run docker images docker/*-extension | more in Windows Powershell, I get the error message. If I run it in "Windows Powershell ISE", I don't get it.

hilari0n commented 1 month ago

Experiencing this same issue with:

4.27.2 (137060) Engine: 25.0.3 Compose: v2.24.5-desktop.1

I don't think they will be releasing a patch addressing it for 4.27, so your only solution seems to be to upgrade to 4.28, 4.29 or 4.30, or "frankenstein" yourself a something from different versions. (As the issue is solely in Docker CLI, you could try to keep the rest as-is and only take the CLI from a newer version.)

FlorentP42 commented 1 month ago

I just tested with version:

Client:
 Cloud integration: v1.0.35+desktop.13
 Version:           26.0.0
 API version:       1.45
 Go version:        go1.21.8
 Git commit:        2ae903e
 Built:             Wed Mar 20 15:18:56 2024
 OS/Arch:           windows/amd64
 Context:           default

Server: Docker Desktop 4.29.0 (145265)
 Engine:
  Version:          26.0.0
  API version:      1.45 (minimum version 1.24)
  Go version:       go1.21.8
  Git commit:       8b79278
  Built:            Wed Mar 20 15:18:01 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.28
  GitCommit:        ae07eda36dd25f8a1b98dfbf587313b99c0190bb
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

And I can confirm the error no longer appears in the file when I run a docker build command from console and redirect the output to a file but what happen is still not the intended behavior:

The output from docker is still not logged into the output file and is logged into the caller console instead, which defeats the purpose of redirecting the output to a file in the first place.

It appears that the whole docker build log is logged into stderr instead of stdout, meaning that you can catch it into the file only by redirecting both of those into it.

Is there any valid reason for docker build to behave like that?