docker / compose

Define and run multi-container applications with Docker
https://docs.docker.com/compose/
Apache License 2.0
33.16k stars 5.13k forks source link

(Regression) Pressing CTRL+C on `docker-compose up` hangs when using containers with restart: unless-stopped|always #9003

Closed joanbm closed 2 years ago

joanbm commented 2 years ago

Description

Since version 2.2.0, when I launch a docker-compose.yml file defining one or more containers with its restart policy set to restart: unless-stopped or restart: always with docker-compose up, then pressing CTRL+C after the container is up will stop the container as expected, but the docker-compose process will no longer successfully quit. Instead, it will hang, and the only way to get it to quit is to terminate it with something like pkill -6 docker-compose.

I have bisected the problem and it appears to have been introduced in commit ed2395819d81ac812a5eefeeccbf77432392626c. Testing a version previous to this commit or reverting it, avoids the problem when terminating with CTRL+C.

Steps to reproduce the issue:

  1. Install Docker Compose >= 2.2.0 (tested up to latest v2 branch commit)
  2. Create a new folder with a docker-compose.yml file with the following content:
version: "3.4"

services:
  db:
    image: alpine:3.15
    command: ["/bin/sleep", "9999"]
    restart: unless-stopped
  1. Run docker-compose up on the folder (where docker-compose is the compiled compose binary, do not run docker compose up, as this seems to work around the problem).

  2. Wait for the container to start up and then press CTRL+C and wait some seconds.

Describe the results you received:

The container stops, but docker-compose does never quit no matter how many times I press CTRL+C. I need to terminate the docker-compose process in order to quit it.

$ docker-compose up
[+] Running 2/2
 ⠿ Network dc_default  Created                                                                                                                                                                                  0.0s
 ⠿ Container dc-db-1   Created                                                                                                                                                                                  0.1s
Attaching to dc-db-1
^CGracefully stopping... (press Ctrl+C again to force)
[+] Running 1/1
 ⠿ Container dc-db-1  Stopped                                                                                                                                                                                  10.4s
[+] Running 0/0
 ⠿ Container dc-db-1  Error while Killing                                                                                                                                                                       0.0s
^C^C^C^C^C^C^C^C^C

Describe the results you expected:

The container stops, then docker-compose quits gracefully.

$ docker-compose up
[+] Running 2/2
 ⠿ Network dc_default  Created                                                                                                                                                                                  0.0s
 ⠿ Container dc-db-1   Created                                                                                                                                                                                  0.1s
Attaching to dc-db-1
^CGracefully stopping... (press Ctrl+C again to force)
[+] Running 1/1
 ⠿ Container dc-db-1  Stopped                                                                                                                                                                                  10.4s
canceled

Additional information you deem important (e.g. issue happens only occasionally):

Always reproduces. Reproduced on current Arch Linux and a clean Fedora 35 install. Has begun to happen on commit ed2395819d81ac812a5eefeeccbf77432392626c.

Output of docker compose version:

$ docker compose version
Docker Compose version 2.2.2

Output of docker info:

$ docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Build with BuildKit (Docker Inc., v0.6.1-docker)
  compose: Docker Compose (Docker Inc., 2.2.2)

Server:
 Containers: 1
  Running: 0
  Paused: 0
  Stopped: 1
 Images: 4
 Server Version: 20.10.11
 Storage Driver: overlay2
  Backing Filesystem: btrfs
  Supports d_type: true
  Native Overlay Diff: false
  userxattr: true
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 1e5ef943eb76627a6d3b6de8cd1ef6537f393a71.m
 runc version: v1.0.2-0-g52b36a2d-dirty
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
  rootless
  cgroupns
 Kernel Version: 5.16.0-rc4-12001-mainline-git
 Operating System: Arch Linux (error determining if containerized)
 OSType: linux
 Architecture: x86_64
 CPUs: 16
 Total Memory: 31.36GiB
 Name: solpc
 ID: CIRU:4366:6H77:IDAY:WUDP:4AHN:BHDA:7RBP:7HIC:PTNP:FTCY:BFFD
 Docker Root Dir: /home/zealcharm/.local/share/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false
 Default Address Pools:
   Base: 192.168.3.128/25, Size: 28

Additional environment details: (Above environment is rootless but I have also reproduced it with rootful Docker.)

joanbm commented 2 years ago

PS: Seems related to #8977, not sure if it's actually the same issue...

1ace commented 2 years ago

I'm encountering the same bug, and I have a test-case that can be run from a CI:

services:

  server:
    image: alpine
    command: /bin/sleep infinity
    restart: always

  client-test:
    image: alpine
    command: /bin/true

If you remove the restart line:

~/bug $ docker compose up --abort-on-container-exit
[+] Running 3/0
 ⠿ Network bug_default          Created 0.0s
 ⠿ Container bug-server-1       Created 0.0s
 ⠿ Container bug-client-test-1  Created 0.0s
Attaching to bug-client-test-1, bug-server-1
bug-client-test-1 exited with code 0
Aborting on container exit...
[+] Running 2/2
 ⠿ Container bug-server-1       Stopped 10.3s
 ⠿ Container bug-client-test-1  Stopped 0.0s
ERRO[0010] 0
~/bug $ 

If you leave the restart line:

~/bug $ docker compose up --abort-on-container-exit
[+] Running 3/0
 ⠿ Network bug_default          Created 0.0s
 ⠿ Container bug-server-1       Created 0.0s
 ⠿ Container bug-client-test-1  Created 0.0s
Attaching to bug-client-test-1, bug-server-1
bug-client-test-1 exited with code 0
Aborting on container exit...
[+] Running 2/2
 ⠿ Container bug-server-1       Stopped 10.2s
 ⠿ Container bug-client-test-1  Stopped 0.0s
ERRO[0010] 0

and it never returns.

I didn't bisect, but the bug is clearly there on 2.2.0 and not on 2.1.1. The commit bisected to by OP is a very likely candidate for the cause of this bug.

flaviut commented 2 years ago

This also came up here: https://unix.stackexchange.com/questions/680756/docker-compose-up-doesnt-exit-when-containers-stopped

verhovensky commented 2 years ago

Same for me, got container restarted after pkill -6 docker-compose .

docker-compose.yml

version: '3.1'

services:

wordpress: image: wordpress restart: always ports:

volumes: wordpress: db:

docker version

Client: Version: 20.10.11 API version: 1.41 Go version: go1.17.3 Git commit: dea9396e18 Built: Sat Nov 20 12:57:52 2021 OS/Arch: linux/amd64 Context: default Experimental: true

Server: Engine: Version: 20.10.11 API version: 1.41 (minimum version 1.12) Go version: go1.17.3 Git commit: 847da184ad Built: Sat Nov 20 12:57:08 2021 OS/Arch: linux/amd64 Experimental: false containerd: Version: v1.5.8 GitCommit: 1e5ef943eb76627a6d3b6de8cd1ef6537f393a71.m runc: Version: 1.0.3 GitCommit: v1.0.3-0-gf46b6ba2 docker-init: Version: 0.19.0 GitCommit: de40ad0

docker info

Client: Context: default Debug Mode: false Plugins: buildx: Build with BuildKit (Docker Inc., v0.6.1-docker) compose: Docker Compose (Docker Inc., 2.2.2)

Server: Containers: 2 Running: 2 Paused: 0 Stopped: 0 Images: 4 Server Version: 20.10.11 Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Native Overlay Diff: false userxattr: false Logging Driver: json-file Cgroup Driver: systemd Cgroup Version: 2 Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc Default Runtime: runc Init Binary: docker-init containerd version: 1e5ef943eb76627a6d3b6de8cd1ef6537f393a71.m runc version: v1.0.3-0-gf46b6ba2 init version: de40ad0 Security Options: apparmor seccomp Profile: default cgroupns Kernel Version: 5.13.19-2-MANJARO Operating System: Manjaro Linux OSType: linux Architecture: x86_64 CPUs: 2 Total Memory: 5.675GiB Docker Root Dir: /var/lib/docker Debug Mode: false Registry: https://index.docker.io/v1/ Labels: Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false

joanbm commented 2 years ago

According to my testing it's fixed in 740276f550ecb7da444b20dc21860ce2f2c547d6, which is not yet in any released version.

MitchTalmadge commented 2 years ago

I'm still running into this problem. Removing all restart configurations has fixed it, but that's not ideal.

$ docker --version
Docker version 20.10.16, build aa7e414
$ docker compose version
Docker Compose version v2.6.0
SamD commented 2 years ago

Seeing the same

Docker Compose version v2.6.0
GrayCygnus commented 11 months ago

Joining the choir here, getting this behavior when running docker-compose up waiting till everything goes up, and then CTRL+C ... it "gracefully" kills the containers but then hangs and never releases control of the console.

Docker Compose version v2.6.0

AnnoyingTechnology commented 7 months ago

Seeing the same behavior with Docker Compose version v2.12.2 and Docker version 24.0.7, build afdd53b

As the ticket is closed but the issue remains, taking a chance and pinging @glours

This is the dump, following a killing of hanging docker-compose.

PC=0x46bfa1 m=0 sigcode=0

goroutine 0 [idle]:
runtime.futex()
    runtime/sys_linux_amd64.s:559 +0x21 fp=0x7ffc36599870 sp=0x7ffc36599868 pc=0x46bfa1
runtime.futexsleep(0x447b99?, 0x6c500?, 0xc000083900?)
    runtime/os_linux.go:69 +0x36 fp=0x7ffc365998c0 sp=0x7ffc36599870 pc=0x434fd6
runtime.notesleep(0x2ef3608)
    runtime/lock_futex.go:160 +0x87 fp=0x7ffc365998f8 sp=0x7ffc365998c0 pc=0x40bf47
runtime.mPark()
    runtime/proc.go:1457 +0x25 fp=0x7ffc36599918 sp=0x7ffc365998f8 pc=0x43e2c5
runtime.stoplockedm()
    runtime/proc.go:2440 +0x65 fp=0x7ffc36599968 sp=0x7ffc36599918 pc=0x43fea5
runtime.schedule()
    runtime/proc.go:3185 +0x3d fp=0x7ffc365999a0 sp=0x7ffc36599968 pc=0x441b7d
runtime.park_m(0xc000500820?)
    runtime/proc.go:3355 +0x14d fp=0x7ffc365999d0 sp=0x7ffc365999a0 pc=0x44212d
runtime.mcall()
    runtime/asm_amd64.s:448 +0x43 fp=0x7ffc365999e0 sp=0x7ffc365999d0 pc=0x467fa3

goroutine 1 [semacquire, 9 minutes]:
runtime.gopark(0xc000923fa0?, 0x189a1af?, 0x60?, 0x15?, 0x20a23a0?)
    runtime/proc.go:363 +0xd6 fp=0xc0004eff10 sp=0xc0004efef0 pc=0x43b936
runtime.goparkunlock(...)
    runtime/proc.go:369
runtime.semacquire1(0xc000349410, 0xc0?, 0x1, 0x0)
    runtime/sema.go:150 +0x1fe fp=0xc0004eff78 sp=0xc0004eff10 pc=0x44be3e
sync.runtime_Semacquire(0x1899f2c?)
    runtime/sema.go:62 +0x25 fp=0xc0004effa8 sp=0xc0004eff78 pc=0x466145
sync.(*WaitGroup).Wait(0xc0005b0f00?)
    sync/waitgroup.go:139 +0x52 fp=0xc0004effd0 sp=0xc0004effa8 pc=0x475db2
golang.org/x/sync/errgroup.(*Group).Wait(0xc000349400)
    golang.org/x/sync@v0.0.0-20220819030929-7fc1605a5dde/errgroup/errgroup.go:53 +0x27 fp=0xc0004effe8 sp=0xc0004effd0 pc=0xa485e7
github.com/docker/compose/v2/pkg/compose.(*composeService).start(0xc0001d6490, {0x20a23a0, 0xc000349100}, {0xc000684080?, 0x0?}, {0xc000829040, {0x2093930, 0xc000614d20}, {0xc000122da0, 0x2, ...}, ...}, ...)
    github.com/docker/compose/v2/pkg/compose/start.go:99 +0x567 fp=0xc0004f1160 sp=0xc0004effe8 pc=0x18b42e7
github.com/docker/compose/v2/pkg/compose.(*composeService).Up(0xc0001d6490, {0x20a23a0, 0xc000692000}, 0xc000829040, {{{0x2f24c78, 0x0, 0x0}, 0x0, 0x0, {0x1d97342, ...}, ...}, ...})
    github.com/docker/compose/v2/pkg/compose/up.go:88 +0x57d fp=0xc0004f1298 sp=0xc0004f1160 pc=0x18b6f7d
github.com/docker/compose/v2/pkg/api.Service.Up-fm({0x20a23a0?, 0xc000692000?}, 0x0?, {{{0x2f24c78, 0x0, 0x0}, 0x0, 0x0, {0x1d97342, 0x8}, ...}, ...})
    <autogenerated>:1 +0x83 fp=0xc0004f1388 sp=0xc0004f1298 pc=0xe03be3
github.com/docker/compose/v2/pkg/api.(*ServiceProxy).Up(0xc00047e0e0, {0x20a23a0, 0xc000692000}, 0x0?, {{{0x2f24c78, 0x0, 0x0}, 0x0, 0x0, {0x1d97342, ...}, ...}, ...})
    github.com/docker/compose/v2/pkg/api/proxy.go:175 +0x143 fp=0xc0004f1490 sp=0xc0004f1388 pc=0xe01e43
github.com/docker/compose/v2/cmd/compose.runUp({0x20a23a0?, 0xc000692000}, {0x20b7578, 0xc00047e0e0}, {0x0, 0x0, {0x1d95ca2, 0x7}, 0x0, 0x0, ...}, ...)
    github.com/docker/compose/v2/cmd/compose/up.go:208 +0x7c3 fp=0xc0004f18b8 sp=0xc0004f1490 pc=0x18d17e3
github.com/docker/compose/v2/cmd/compose.upCommand.func2({0x20a23a0, 0xc000692000}, 0xc000829040, {0x2f24c78, 0x0, 0x0})
    github.com/docker/compose/v2/cmd/compose/up.go:110 +0x178 fp=0xc0004f19b8 sp=0xc0004f18b8 pc=0x18d0d98
github.com/docker/compose/v2/cmd/compose.(*projectOptions).WithServices.func1({0x20a23a0, 0xc000692000}, {0x2f24c78, 0x0, 0x0})
    github.com/docker/compose/v2/cmd/compose/compose.go:125 +0xd7 fp=0xc0004f1a18 sp=0xc0004f19b8 pc=0x18be2d7
github.com/docker/compose/v2/cmd/compose.Adapt.func1({0x20a23a0?, 0xc000692000?}, 0x2?, {0x2f24c78?, 0x1?, 0x0?})
    github.com/docker/compose/v2/cmd/compose/compose.go:90 +0x36 fp=0xc0004f1a50 sp=0xc0004f1a18 pc=0x18bdfd6
github.com/docker/compose/v2/cmd/compose.AdaptCmd.func1(0xc00001a600, {0x2f24c78, 0x0, 0x0})
    github.com/docker/compose/v2/cmd/compose/compose.go:69 +0x21c fp=0xc0004f1b30 sp=0xc0004f1a50 pc=0x18bdcfc
github.com/spf13/cobra.(*Command).execute(0xc00001a600, {0xc0005b0930, 0x0, 0x0})
    github.com/spf13/cobra@v1.6.0/command.go:916 +0x862 fp=0xc0004f1c68 sp=0xc0004f1b30 pc=0x9f3e82
github.com/spf13/cobra.(*Command).ExecuteC(0xc000029500)
    github.com/spf13/cobra@v1.6.0/command.go:1040 +0x3bd fp=0xc0004f1d20 sp=0xc0004f1c68 pc=0x9f46fd
github.com/spf13/cobra.(*Command).Execute(...)
    github.com/spf13/cobra@v1.6.0/command.go:968
github.com/docker/cli/cli-plugins/plugin.RunPlugin(0xc0005ac5a0?, 0xc00001a300, {{0x1d92070, 0x5}, {0x1d9b150, 0xb}, {0x2081d28, 0x7}, {0x0, 0x0}, ...})
    github.com/docker/cli@v20.10.19+incompatible/cli-plugins/plugin/plugin.go:51 +0x130 fp=0xc0004f1da8 sp=0xc0004f1d20 pc=0xa0ad50
github.com/docker/cli/cli-plugins/plugin.Run(0x1ea8680, {{0x1d92070, 0x5}, {0x1d9b150, 0xb}, {0x2081d28, 0x7}, {0x0, 0x0}, {0x0, ...}, ...})
    github.com/docker/cli@v20.10.19+incompatible/cli-plugins/plugin/plugin.go:64 +0xee fp=0xc0004f1e60 sp=0xc0004f1da8 pc=0xa0b02e
main.pluginMain()
    github.com/docker/compose/v2/cmd/main.go:36 +0xdf fp=0xc0004f1f28 sp=0xc0004f1e60 pc=0x18d3b1f
main.main()
    github.com/docker/compose/v2/cmd/main.go:68 +0x198 fp=0xc0004f1f80 sp=0xc0004f1f28 pc=0x18d3cd8
runtime.main()
    runtime/proc.go:250 +0x212 fp=0xc0004f1fe0 sp=0xc0004f1f80 pc=0x43b572
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc0004f1fe8 sp=0xc0004f1fe0 pc=0x46a0a1

goroutine 2 [force gc (idle), 4 minutes]:
runtime.gopark(0x773af2245f0ea?, 0x0?, 0x0?, 0x0?, 0x0?)
    runtime/proc.go:363 +0xd6 fp=0xc000098fb0 sp=0xc000098f90 pc=0x43b936
runtime.goparkunlock(...)
    runtime/proc.go:369
runtime.forcegchelper()
    runtime/proc.go:302 +0xad fp=0xc000098fe0 sp=0xc000098fb0 pc=0x43b7cd
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc000098fe8 sp=0xc000098fe0 pc=0x46a0a1
created by runtime.init.6
    runtime/proc.go:290 +0x25

goroutine 3 [GC sweep wait]:
runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?)
    runtime/proc.go:363 +0xd6 fp=0xc000099790 sp=0xc000099770 pc=0x43b936
runtime.goparkunlock(...)
    runtime/proc.go:369
runtime.bgsweep(0x0?)
    runtime/mgcsweep.go:297 +0xd7 fp=0xc0000997c8 sp=0xc000099790 pc=0x427037
runtime.gcenable.func1()
    runtime/mgc.go:178 +0x26 fp=0xc0000997e0 sp=0xc0000997c8 pc=0x41bca6
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc0000997e8 sp=0xc0000997e0 pc=0x46a0a1
created by runtime.gcenable
    runtime/mgc.go:178 +0x6b

goroutine 4 [GC scavenge wait]:
runtime.gopark(0x773a1183455e0?, 0x11c83f66?, 0x0?, 0x0?, 0x0?)
    runtime/proc.go:363 +0xd6 fp=0xc000099f70 sp=0xc000099f50 pc=0x43b936
runtime.goparkunlock(...)
    runtime/proc.go:369
runtime.(*scavengerState).park(0x2ef2540)
    runtime/mgcscavenge.go:389 +0x53 fp=0xc000099fa0 sp=0xc000099f70 pc=0x425093
runtime.bgscavenge(0x0?)
    runtime/mgcscavenge.go:622 +0x65 fp=0xc000099fc8 sp=0xc000099fa0 pc=0x425685
runtime.gcenable.func2()
    runtime/mgc.go:179 +0x26 fp=0xc000099fe0 sp=0xc000099fc8 pc=0x41bc46
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc000099fe8 sp=0xc000099fe0 pc=0x46a0a1
created by runtime.gcenable
    runtime/mgc.go:179 +0xaa

goroutine 5 [finalizer wait, 9 minutes]:
runtime.gopark(0x43bcb7?, 0x43b705?, 0x0?, 0x0?, 0xc000098770?)
    runtime/proc.go:363 +0xd6 fp=0xc000098628 sp=0xc000098608 pc=0x43b936
runtime.goparkunlock(...)
    runtime/proc.go:369
runtime.runfinq()
    runtime/mfinal.go:180 +0x10f fp=0xc0000987e0 sp=0xc000098628 pc=0x41adaf
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc0000987e8 sp=0xc0000987e0 pc=0x46a0a1
created by runtime.createfing
    runtime/mfinal.go:157 +0x45

goroutine 18 [GC worker (idle), 9 minutes]:
runtime.gopark(0xc00009a780?, 0x405a7d?, 0x13?, 0x0?, 0xc00009a7a8?)
    runtime/proc.go:363 +0xd6 fp=0xc00009a750 sp=0xc00009a730 pc=0x43b936
runtime.gcBgMarkWorker()
    runtime/mgc.go:1235 +0xf1 fp=0xc00009a7e0 sp=0xc00009a750 pc=0x41ddf1
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc00009a7e8 sp=0xc00009a7e0 pc=0x46a0a1
created by runtime.gcBgMarkStartWorkers
    runtime/mgc.go:1159 +0x25

goroutine 33 [GC worker (idle), 9 minutes]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
    runtime/proc.go:363 +0xd6 fp=0xc000094750 sp=0xc000094730 pc=0x43b936
runtime.gcBgMarkWorker()
    runtime/mgc.go:1235 +0xf1 fp=0xc0000947e0 sp=0xc000094750 pc=0x41ddf1
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc0000947e8 sp=0xc0000947e0 pc=0x46a0a1
created by runtime.gcBgMarkStartWorkers
    runtime/mgc.go:1159 +0x25

goroutine 7 [GC worker (idle), 9 minutes]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
    runtime/proc.go:363 +0xd6 fp=0xc00009af50 sp=0xc00009af30 pc=0x43b936
runtime.gcBgMarkWorker()
    runtime/mgc.go:1235 +0xf1 fp=0xc00009afe0 sp=0xc00009af50 pc=0x41ddf1
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc00009afe8 sp=0xc00009afe0 pc=0x46a0a1
created by runtime.gcBgMarkStartWorkers
    runtime/mgc.go:1159 +0x25

goroutine 8 [GC worker (idle), 9 minutes]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
    runtime/proc.go:363 +0xd6 fp=0xc00009b750 sp=0xc00009b730 pc=0x43b936
runtime.gcBgMarkWorker()
    runtime/mgc.go:1235 +0xf1 fp=0xc00009b7e0 sp=0xc00009b750 pc=0x41ddf1
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc00009b7e8 sp=0xc00009b7e0 pc=0x46a0a1
created by runtime.gcBgMarkStartWorkers
    runtime/mgc.go:1159 +0x25

goroutine 34 [GC worker (idle), 8 minutes]:
runtime.gopark(0x7735a2c3d71cc?, 0x0?, 0x0?, 0x0?, 0x0?)
    runtime/proc.go:363 +0xd6 fp=0xc000094f50 sp=0xc000094f30 pc=0x43b936
runtime.gcBgMarkWorker()
    runtime/mgc.go:1235 +0xf1 fp=0xc000094fe0 sp=0xc000094f50 pc=0x41ddf1
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc000094fe8 sp=0xc000094fe0 pc=0x46a0a1
created by runtime.gcBgMarkStartWorkers
    runtime/mgc.go:1159 +0x25

goroutine 9 [GC worker (idle), 4 minutes]:
runtime.gopark(0x773af224f1626?, 0x1?, 0x58?, 0x67?, 0x0?)
    runtime/proc.go:363 +0xd6 fp=0xc00009bf50 sp=0xc00009bf30 pc=0x43b936
runtime.gcBgMarkWorker()
    runtime/mgc.go:1235 +0xf1 fp=0xc00009bfe0 sp=0xc00009bf50 pc=0x41ddf1
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc00009bfe8 sp=0xc00009bfe0 pc=0x46a0a1
created by runtime.gcBgMarkStartWorkers
    runtime/mgc.go:1159 +0x25

goroutine 35 [GC worker (idle), 8 minutes]:
runtime.gopark(0x7735a2c3dfe92?, 0x3?, 0xab?, 0x0?, 0x0?)
    runtime/proc.go:363 +0xd6 fp=0xc000095750 sp=0xc000095730 pc=0x43b936
runtime.gcBgMarkWorker()
    runtime/mgc.go:1235 +0xf1 fp=0xc0000957e0 sp=0xc000095750 pc=0x41ddf1
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc0000957e8 sp=0xc0000957e0 pc=0x46a0a1
created by runtime.gcBgMarkStartWorkers
    runtime/mgc.go:1159 +0x25

goroutine 36 [GC worker (idle), 8 minutes]:
runtime.gopark(0x7735a2c3d626b?, 0x3?, 0xb3?, 0xae?, 0x0?)
    runtime/proc.go:363 +0xd6 fp=0xc000095f50 sp=0xc000095f30 pc=0x43b936
runtime.gcBgMarkWorker()
    runtime/mgc.go:1235 +0xf1 fp=0xc000095fe0 sp=0xc000095f50 pc=0x41ddf1
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc000095fe8 sp=0xc000095fe0 pc=0x46a0a1
created by runtime.gcBgMarkStartWorkers
    runtime/mgc.go:1159 +0x25

goroutine 37 [GC worker (idle), 8 minutes]:
runtime.gopark(0x7735a2c3d5237?, 0x1?, 0x36?, 0x29?, 0x0?)
    runtime/proc.go:363 +0xd6 fp=0xc000096750 sp=0xc000096730 pc=0x43b936
runtime.gcBgMarkWorker()
    runtime/mgc.go:1235 +0xf1 fp=0xc0000967e0 sp=0xc000096750 pc=0x41ddf1
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc0000967e8 sp=0xc0000967e0 pc=0x46a0a1
created by runtime.gcBgMarkStartWorkers
    runtime/mgc.go:1159 +0x25

goroutine 10 [GC worker (idle), 8 minutes]:
runtime.gopark(0x7735a2c3d5241?, 0x1?, 0x20?, 0x71?, 0x0?)
    runtime/proc.go:363 +0xd6 fp=0xc0003dc750 sp=0xc0003dc730 pc=0x43b936
runtime.gcBgMarkWorker()
    runtime/mgc.go:1235 +0xf1 fp=0xc0003dc7e0 sp=0xc0003dc750 pc=0x41ddf1
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc0003dc7e8 sp=0xc0003dc7e0 pc=0x46a0a1
created by runtime.gcBgMarkStartWorkers
    runtime/mgc.go:1159 +0x25

goroutine 38 [GC worker (idle), 4 minutes]:
runtime.gopark(0x773af224e26d5?, 0x1?, 0x8?, 0x3b?, 0x0?)
    runtime/proc.go:363 +0xd6 fp=0xc000096f50 sp=0xc000096f30 pc=0x43b936
runtime.gcBgMarkWorker()
    runtime/mgc.go:1235 +0xf1 fp=0xc000096fe0 sp=0xc000096f50 pc=0x41ddf1
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc000096fe8 sp=0xc000096fe0 pc=0x46a0a1
created by runtime.gcBgMarkStartWorkers
    runtime/mgc.go:1159 +0x25

goroutine 39 [GC worker (idle), 8 minutes]:
runtime.gopark(0x7735a2c3d5eb3?, 0x3?, 0x66?, 0xe?, 0x0?)
    runtime/proc.go:363 +0xd6 fp=0xc000097750 sp=0xc000097730 pc=0x43b936
runtime.gcBgMarkWorker()
    runtime/mgc.go:1235 +0xf1 fp=0xc0000977e0 sp=0xc000097750 pc=0x41ddf1
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc0000977e8 sp=0xc0000977e0 pc=0x46a0a1
created by runtime.gcBgMarkStartWorkers
    runtime/mgc.go:1159 +0x25

goroutine 19 [GC worker (idle)]:
runtime.gopark(0x2f26560?, 0x1?, 0x99?, 0x62?, 0x0?)
    runtime/proc.go:363 +0xd6 fp=0xc0003d8750 sp=0xc0003d8730 pc=0x43b936
runtime.gcBgMarkWorker()
    runtime/mgc.go:1235 +0xf1 fp=0xc0003d87e0 sp=0xc0003d8750 pc=0x41ddf1
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc0003d87e8 sp=0xc0003d87e0 pc=0x46a0a1
created by runtime.gcBgMarkStartWorkers
    runtime/mgc.go:1159 +0x25

goroutine 20 [GC worker (idle), 8 minutes]:
runtime.gopark(0x7735a2c3e0041?, 0x1?, 0xbf?, 0x84?, 0x0?)
    runtime/proc.go:363 +0xd6 fp=0xc0003d8f50 sp=0xc0003d8f30 pc=0x43b936
runtime.gcBgMarkWorker()
    runtime/mgc.go:1235 +0xf1 fp=0xc0003d8fe0 sp=0xc0003d8f50 pc=0x41ddf1
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc0003d8fe8 sp=0xc0003d8fe0 pc=0x46a0a1
created by runtime.gcBgMarkStartWorkers
    runtime/mgc.go:1159 +0x25

goroutine 49 [GC worker (idle), 4 minutes]:
runtime.gopark(0x773af224e239f?, 0x1?, 0x20?, 0x7b?, 0x0?)
    runtime/proc.go:363 +0xd6 fp=0xc000506750 sp=0xc000506730 pc=0x43b936
runtime.gcBgMarkWorker()
    runtime/mgc.go:1235 +0xf1 fp=0xc0005067e0 sp=0xc000506750 pc=0x41ddf1
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc0005067e8 sp=0xc0005067e0 pc=0x46a0a1
created by runtime.gcBgMarkStartWorkers
    runtime/mgc.go:1159 +0x25

goroutine 21 [GC worker (idle), 9 minutes]:
runtime.gopark(0x7735a2c3d5359?, 0x1?, 0x8a?, 0xfa?, 0x0?)
    runtime/proc.go:363 +0xd6 fp=0xc0003d9750 sp=0xc0003d9730 pc=0x43b936
runtime.gcBgMarkWorker()
    runtime/mgc.go:1235 +0xf1 fp=0xc0003d97e0 sp=0xc0003d9750 pc=0x41ddf1
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc0003d97e8 sp=0xc0003d97e0 pc=0x46a0a1
created by runtime.gcBgMarkStartWorkers
    runtime/mgc.go:1159 +0x25

goroutine 22 [chan send, 9 minutes]:
runtime.gopark(0xc000614000?, 0x0?, 0x0?, 0x0?, 0x0?)
    runtime/proc.go:363 +0xd6 fp=0xc0003df698 sp=0xc0003df678 pc=0x43b936
runtime.chansend(0xc000056ae0, 0xc0003df790, 0x1, 0x0?)
    runtime/chan.go:259 +0x42c fp=0xc0003df720 sp=0xc0003df698 pc=0x405ecc
runtime.chansend1(0x1ac1840?, 0xc000120cf0?)
    runtime/chan.go:145 +0x1d fp=0xc0003df750 sp=0xc0003df720 pc=0x405a7d
github.com/docker/compose/v2/cmd/formatter.init.0.func1()
    github.com/docker/compose/v2/cmd/formatter/colors.go:120 +0x1de fp=0xc0003df7e0 sp=0xc0003df750 pc=0xe0723e
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc0003df7e8 sp=0xc0003df7e0 pc=0x46a0a1
created by github.com/docker/compose/v2/cmd/formatter.init.0
    github.com/docker/compose/v2/cmd/formatter/colors.go:104 +0x8b

goroutine 23 [select, 9 minutes, locked to thread]:
runtime.gopark(0xc0003dffa8?, 0x2?, 0xe?, 0x80?, 0xc0003dffa4?)
    runtime/proc.go:363 +0xd6 fp=0xc0003dfe18 sp=0xc0003dfdf8 pc=0x43b936
runtime.selectgo(0xc0003dffa8, 0xc0003dffa0, 0x0?, 0x0, 0xc000349100?, 0x1)
    runtime/select.go:328 +0x7bc fp=0xc0003dff58 sp=0xc0003dfe18 pc=0x44ad7c
runtime.ensureSigM.func1()
    runtime/signal_unix.go:991 +0x1b0 fp=0xc0003dffe0 sp=0xc0003dff58 pc=0x44efd0
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc0003dffe8 sp=0xc0003dffe0 pc=0x46a0a1
created by runtime.ensureSigM
    runtime/signal_unix.go:974 +0xbd

goroutine 65 [syscall]:
runtime.notetsleepg(0xffffffffffffffff?, 0xc000508728?)
    runtime/lock_futex.go:236 +0x34 fp=0xc0005087a0 sp=0xc000508768 pc=0x40c254
os/signal.signal_recv()
    runtime/sigqueue.go:152 +0x2f fp=0xc0005087c0 sp=0xc0005087a0 pc=0x4668af
os/signal.loop()
    os/signal/signal_unix.go:23 +0x19 fp=0xc0005087e0 sp=0xc0005087c0 pc=0x951fb9
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc0005087e8 sp=0xc0005087e0 pc=0x46a0a1
created by os/signal.Notify.func1.1
    os/signal/signal.go:151 +0x2a

goroutine 72 [select, 9 minutes]:
runtime.gopark(0xc0004c0f68?, 0x4?, 0x3?, 0x0?, 0xc0004c0db0?)
    runtime/proc.go:363 +0xd6 fp=0xc0004c0c00 sp=0xc0004c0be0 pc=0x43b936
runtime.selectgo(0xc0004c0f68, 0xc0004c0da8, 0xc0006ba500?, 0x0, 0x0?, 0x1)
    runtime/select.go:328 +0x7bc fp=0xc0004c0d40 sp=0xc0004c0c00 pc=0x44ad7c
net/http.(*persistConn).readLoop(0xc00084a5a0)
    net/http/transport.go:2213 +0xd85 fp=0xc0004c0fc8 sp=0xc0004c0d40 pc=0x734265
net/http.(*Transport).dialConn.func5()
    net/http/transport.go:1751 +0x26 fp=0xc0004c0fe0 sp=0xc0004c0fc8 pc=0x731e66
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc0004c0fe8 sp=0xc0004c0fe0 pc=0x46a0a1
created by net/http.(*Transport).dialConn
    net/http/transport.go:1751 +0x173e

goroutine 73 [select, 9 minutes]:
runtime.gopark(0xc0004c5f90?, 0x2?, 0xd8?, 0x5d?, 0xc0004c5f24?)
    runtime/proc.go:363 +0xd6 fp=0xc0004c5d90 sp=0xc0004c5d70 pc=0x43b936
runtime.selectgo(0xc0004c5f90, 0xc0004c5f20, 0xc0000d0640?, 0x0, 0x0?, 0x1)
    runtime/select.go:328 +0x7bc fp=0xc0004c5ed0 sp=0xc0004c5d90 pc=0x44ad7c
net/http.(*persistConn).writeLoop(0xc00084a5a0)
    net/http/transport.go:2392 +0xf5 fp=0xc0004c5fc8 sp=0xc0004c5ed0 pc=0x735315
net/http.(*Transport).dialConn.func6()
    net/http/transport.go:1752 +0x26 fp=0xc0004c5fe0 sp=0xc0004c5fc8 pc=0x731e06
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc0004c5fe8 sp=0xc0004c5fe0 pc=0x46a0a1
created by net/http.(*Transport).dialConn
    net/http/transport.go:1752 +0x1791

goroutine 86 [chan send, 8 minutes]:
runtime.gopark(0xc0005e80d0?, 0xc0003e0480?, 0x20?, 0x0?, 0xc000ad7548?)
    runtime/proc.go:363 +0xd6 fp=0xc0000a93f8 sp=0xc0000a93d8 pc=0x43b936
runtime.chansend(0xc000170180, 0xc0000a94c0, 0x1, 0x0?)
    runtime/chan.go:259 +0x42c fp=0xc0000a9480 sp=0xc0000a93f8 pc=0x405ecc
runtime.chansend1(0x0?, 0x0?)
    runtime/chan.go:145 +0x1d fp=0xc0000a94b0 sp=0xc0000a9480 pc=0x405a7d
github.com/docker/compose/v2/pkg/compose.(*printer).HandleEvent(0xc000ad7d18?, {0x3, {0xc0005784b1, 0x21}, {0xc000746915, 0x5}, {0x0, 0x0}, 0x0, 0x1})
    github.com/docker/compose/v2/pkg/compose/printer.go:55 +0x5c fp=0xc0000a9518 sp=0xc0000a94b0 pc=0x18aadbc
github.com/docker/compose/v2/pkg/compose.logPrinter.HandleEvent-fm({0x3, {0xc0005784b1, 0x21}, {0xc000746915, 0x5}, {0x0, 0x0}, 0x0, 0x1})
    <autogenerated>:1 +0xaa fp=0xc0000a9578 sp=0xc0000a9518 pc=0x18b840a
github.com/docker/compose/v2/pkg/compose.(*composeService).watchContainers.func1({{0x1e6e9fca, 0xedd03c8a0, 0x2ef2320}, {0xc000746458, 0x5}, {0xc00081c200, 0x40}, {0xc000746433, 0x3}, 0xc0002e1080})
    github.com/docker/compose/v2/pkg/compose/start.go:167 +0x603 fp=0xc0000a98b8 sp=0xc0000a9578 pc=0x18b52a3
github.com/docker/compose/v2/pkg/compose.(*composeService).Events(0xc0001d6490, {0x20a23a0, 0xc0004de180}, {0xc000684080?, 0x0?}, {{0xc000122da0?, 0x0?, 0x0?}, 0xc0004c7cd8?})
    github.com/docker/compose/v2/pkg/compose/events.go:67 +0x695 fp=0xc0000a9c30 sp=0xc0000a98b8 pc=0x18a1b95
github.com/docker/compose/v2/pkg/compose.(*composeService).watchContainers(0xc0001d6490, {0x20a23d8, 0xc0000540d8}, {0xc000684080, 0x19}, {0xc000122da0, 0x2, 0x2}, 0xc0005c3608, {0xc000300a80, ...}, ...)
    github.com/docker/compose/v2/pkg/compose/start.go:126 +0x1d5 fp=0xc0000a9ed8 sp=0xc0000a9c30 pc=0x18b4b55
github.com/docker/compose/v2/pkg/compose.(*composeService).start.func1()
    github.com/docker/compose/v2/pkg/compose/start.go:68 +0xf2 fp=0xc0000a9f78 sp=0xc0000a9ed8 pc=0x18b48d2
golang.org/x/sync/errgroup.(*Group).Go.func1()
    golang.org/x/sync@v0.0.0-20220819030929-7fc1605a5dde/errgroup/errgroup.go:75 +0x64 fp=0xc0000a9fe0 sp=0xc0000a9f78 pc=0xa48784
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc0000a9fe8 sp=0xc0000a9fe0 pc=0x46a0a1
created by golang.org/x/sync/errgroup.(*Group).Go
    golang.org/x/sync@v0.0.0-20220819030929-7fc1605a5dde/errgroup/errgroup.go:72 +0xa5

goroutine 50 [IO wait, 8 minutes]:
runtime.gopark(0x0?, 0xb?, 0x0?, 0x0?, 0x7?)
    runtime/proc.go:363 +0xd6 fp=0xc000a0f7d8 sp=0xc000a0f7b8 pc=0x43b936
runtime.netpollblock(0x47e205?, 0x19?, 0x0?)
    runtime/netpoll.go:526 +0xf7 fp=0xc000a0f810 sp=0xc000a0f7d8 pc=0x4343b7
internal/poll.runtime_pollWait(0x7f6a08f1b2c8, 0x72)
    runtime/netpoll.go:305 +0x89 fp=0xc000a0f830 sp=0xc000a0f810 pc=0x464889
internal/poll.(*pollDesc).wait(0xc000819c00?, 0xc000862000?, 0x0)
    internal/poll/fd_poll_runtime.go:84 +0x32 fp=0xc000a0f858 sp=0xc000a0f830 pc=0x4a0bf2
internal/poll.(*pollDesc).waitRead(...)
    internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000819c00, {0xc000862000, 0x1000, 0x1000})
    internal/poll/fd_unix.go:167 +0x25a fp=0xc000a0f8d8 sp=0xc000a0f858 pc=0x4a1f5a
net.(*netFD).Read(0xc000819c00, {0xc000862000?, 0xc000a0f9a0?, 0x529c65?})
    net/fd_posix.go:55 +0x29 fp=0xc000a0f920 sp=0xc000a0f8d8 pc=0x616b09
net.(*conn).Read(0xc0000138b8, {0xc000862000?, 0x51a2a6?, 0xc0004f4668?})
    net/net.go:183 +0x45 fp=0xc000a0f968 sp=0xc000a0f920 pc=0x628665
net/http.(*persistConn).Read(0xc00084a5a0, {0xc000862000?, 0x19fcd00?, 0xc000a0fc40?})
    net/http/transport.go:1929 +0x4e fp=0xc000a0f9c8 sp=0xc000a0f968 pc=0x73286e
bufio.(*Reader).fill(0xc000615260)
    bufio/bufio.go:106 +0xff fp=0xc000a0fa00 sp=0xc000a0f9c8 pc=0x52fbbf
bufio.(*Reader).ReadSlice(0xc000615260, 0x86?)
    bufio/bufio.go:372 +0x2f fp=0xc000a0fa50 sp=0xc000a0fa00 pc=0x5307af
net/http/internal.readChunkLine(0x19a?)
    net/http/internal/chunked.go:129 +0x25 fp=0xc000a0faa0 sp=0xc000a0fa50 pc=0x6cffc5
net/http/internal.(*chunkedReader).beginChunk(0xc0004d90e0)
    net/http/internal/chunked.go:48 +0x28 fp=0xc000a0fad0 sp=0xc000a0faa0 pc=0x6cfa28
net/http/internal.(*chunkedReader).Read(0xc0004d90e0, {0xc000a83801?, 0xc000a9c880?, 0x400?})
    net/http/internal/chunked.go:98 +0x156 fp=0xc000a0fb50 sp=0xc000a0fad0 pc=0x6cfcf6
net/http.(*body).readLocked(0xc0006ba500, {0xc000a83801?, 0xc0004f46d0?, 0x1cb6160?})
    net/http/transfer.go:846 +0x3c fp=0xc000a0fba0 sp=0xc000a0fb50 pc=0x72739c
net/http.(*body).Read(0x0?, {0xc000a83801?, 0xc000a0fe78?, 0x0?})
    net/http/transfer.go:838 +0x125 fp=0xc000a0fc18 sp=0xc000a0fba0 pc=0x727265
net/http.(*bodyEOFSignal).Read(0xc0006ba540, {0xc000a83801, 0x5ff, 0x5ff})
    net/http/transport.go:2774 +0x142 fp=0xc000a0fc98 sp=0xc000a0fc18 pc=0x736f42
encoding/json.(*Decoder).refill(0xc0004f4640)
    encoding/json/stream.go:165 +0x188 fp=0xc000a0fce8 sp=0xc000a0fc98 pc=0x52cfc8
encoding/json.(*Decoder).readValue(0xc0004f4640)
    encoding/json/stream.go:140 +0xbb fp=0xc000a0fd38 sp=0xc000a0fce8 pc=0x52cbbb
encoding/json.(*Decoder).Decode(0xc0004f4640, {0x1985680, 0xc00092f830})
    encoding/json/stream.go:63 +0x78 fp=0xc000a0fd68 sp=0xc000a0fd38 pc=0x52c7f8
github.com/docker/docker/client.(*Client).Events.func1()
    github.com/docker/docker@v20.10.19+incompatible/client/events.go:52 +0x458 fp=0xc000a0ffe0 sp=0xc000a0fd68 pc=0x7fc5d8
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc000a0ffe8 sp=0xc000a0ffe0 pc=0x46a0a1
created by github.com/docker/docker/client.(*Client).Events
    github.com/docker/docker@v20.10.19+incompatible/client/events.go:24 +0x185

goroutine 27 [IO wait, 8 minutes]:
runtime.gopark(0x1c1a9c0?, 0xb?, 0x0?, 0x0?, 0xa?)
    runtime/proc.go:363 +0xd6 fp=0xc00092daf8 sp=0xc00092dad8 pc=0x43b936
runtime.netpollblock(0x47e205?, 0x48c077?, 0x0?)
    runtime/netpoll.go:526 +0xf7 fp=0xc00092db30 sp=0xc00092daf8 pc=0x4343b7
internal/poll.runtime_pollWait(0x7f6a08f1aff8, 0x72)
    runtime/netpoll.go:305 +0x89 fp=0xc00092db50 sp=0xc00092db30 pc=0x464889
internal/poll.(*pollDesc).wait(0xc0005f2580?, 0xc000acc000?, 0x0)
    internal/poll/fd_poll_runtime.go:84 +0x32 fp=0xc00092db78 sp=0xc00092db50 pc=0x4a0bf2
internal/poll.(*pollDesc).waitRead(...)
    internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0005f2580, {0xc000acc000, 0x1000, 0x1000})
    internal/poll/fd_unix.go:167 +0x25a fp=0xc00092dbf8 sp=0xc00092db78 pc=0x4a1f5a
net.(*netFD).Read(0xc0005f2580, {0xc000acc000?, 0x406231?, 0x4?})
    net/fd_posix.go:55 +0x29 fp=0xc00092dc40 sp=0xc00092dbf8 pc=0x616b09
net.(*conn).Read(0xc000134f38, {0xc000acc000?, 0x0?, 0x0?})
    net/net.go:183 +0x45 fp=0xc00092dc88 sp=0xc00092dc40 pc=0x628665
net/http.(*persistConn).Read(0xc00084aea0, {0xc000acc000?, 0xc0006b8120?, 0xc00092dd30?})
    net/http/transport.go:1929 +0x4e fp=0xc00092dce8 sp=0xc00092dc88 pc=0x73286e
bufio.(*Reader).fill(0xc0000b9620)
    bufio/bufio.go:106 +0xff fp=0xc00092dd20 sp=0xc00092dce8 pc=0x52fbbf
bufio.(*Reader).Peek(0xc0000b9620, 0x1)
    bufio/bufio.go:144 +0x5d fp=0xc00092dd40 sp=0xc00092dd20 pc=0x52fd1d
net/http.(*persistConn).readLoop(0xc00084aea0)
    net/http/transport.go:2093 +0x1ac fp=0xc00092dfc8 sp=0xc00092dd40 pc=0x73368c
net/http.(*Transport).dialConn.func5()
    net/http/transport.go:1751 +0x26 fp=0xc00092dfe0 sp=0xc00092dfc8 pc=0x731e66
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc00092dfe8 sp=0xc00092dfe0 pc=0x46a0a1
created by net/http.(*Transport).dialConn
    net/http/transport.go:1751 +0x173e

goroutine 28 [select, 8 minutes]:
runtime.gopark(0xc0001ddf90?, 0x2?, 0xd8?, 0xdd?, 0xc0001ddf24?)
    runtime/proc.go:363 +0xd6 fp=0xc0001ddd90 sp=0xc0001ddd70 pc=0x43b936
runtime.selectgo(0xc0001ddf90, 0xc0001ddf20, 0xc00012f700?, 0x0, 0x0?, 0x1)
    runtime/select.go:328 +0x7bc fp=0xc0001dded0 sp=0xc0001ddd90 pc=0x44ad7c
net/http.(*persistConn).writeLoop(0xc00084aea0)
    net/http/transport.go:2392 +0xf5 fp=0xc0001ddfc8 sp=0xc0001dded0 pc=0x735315
net/http.(*Transport).dialConn.func6()
    net/http/transport.go:1752 +0x26 fp=0xc0001ddfe0 sp=0xc0001ddfc8 pc=0x731e06
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc0001ddfe8 sp=0xc0001ddfe0 pc=0x46a0a1
created by net/http.(*Transport).dialConn
    net/http/transport.go:1752 +0x1791

goroutine 98 [IO wait, 8 minutes]:
runtime.gopark(0x1c1a9c0?, 0xb?, 0x0?, 0x0?, 0x8?)
    runtime/proc.go:363 +0xd6 fp=0xc0001daaf8 sp=0xc0001daad8 pc=0x43b936
runtime.netpollblock(0x47e205?, 0x48c077?, 0x0?)
    runtime/netpoll.go:526 +0xf7 fp=0xc0001dab30 sp=0xc0001daaf8 pc=0x4343b7
internal/poll.runtime_pollWait(0x7f6a08f1b0e8, 0x72)
    runtime/netpoll.go:305 +0x89 fp=0xc0001dab50 sp=0xc0001dab30 pc=0x464889
internal/poll.(*pollDesc).wait(0xc000688000?, 0xc0007ea000?, 0x0)
    internal/poll/fd_poll_runtime.go:84 +0x32 fp=0xc0001dab78 sp=0xc0001dab50 pc=0x4a0bf2
internal/poll.(*pollDesc).waitRead(...)
    internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000688000, {0xc0007ea000, 0x1000, 0x1000})
    internal/poll/fd_unix.go:167 +0x25a fp=0xc0001dabf8 sp=0xc0001dab78 pc=0x4a1f5a
net.(*netFD).Read(0xc000688000, {0xc0007ea000?, 0x406231?, 0x4?})
    net/fd_posix.go:55 +0x29 fp=0xc0001dac40 sp=0xc0001dabf8 pc=0x616b09
net.(*conn).Read(0xc000012538, {0xc0007ea000?, 0x0?, 0x0?})
    net/net.go:183 +0x45 fp=0xc0001dac88 sp=0xc0001dac40 pc=0x628665
net/http.(*persistConn).Read(0xc0007c6240, {0xc0007ea000?, 0xc0006b8b40?, 0xc0001dad30?})
    net/http/transport.go:1929 +0x4e fp=0xc0001dace8 sp=0xc0001dac88 pc=0x73286e
bufio.(*Reader).fill(0xc000288540)
    bufio/bufio.go:106 +0xff fp=0xc0001dad20 sp=0xc0001dace8 pc=0x52fbbf
bufio.(*Reader).Peek(0xc000288540, 0x1)
    bufio/bufio.go:144 +0x5d fp=0xc0001dad40 sp=0xc0001dad20 pc=0x52fd1d
net/http.(*persistConn).readLoop(0xc0007c6240)
    net/http/transport.go:2093 +0x1ac fp=0xc0001dafc8 sp=0xc0001dad40 pc=0x73368c
net/http.(*Transport).dialConn.func5()
    net/http/transport.go:1751 +0x26 fp=0xc0001dafe0 sp=0xc0001dafc8 pc=0x731e66
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc0001dafe8 sp=0xc0001dafe0 pc=0x46a0a1
created by net/http.(*Transport).dialConn
    net/http/transport.go:1751 +0x173e

goroutine 99 [select, 8 minutes]:
runtime.gopark(0xc000929f90?, 0x2?, 0xd8?, 0x9d?, 0xc000929f24?)
    runtime/proc.go:363 +0xd6 fp=0xc000929d90 sp=0xc000929d70 pc=0x43b936
runtime.selectgo(0xc000929f90, 0xc000929f20, 0xc0000d0280?, 0x0, 0x0?, 0x1)
    runtime/select.go:328 +0x7bc fp=0xc000929ed0 sp=0xc000929d90 pc=0x44ad7c
net/http.(*persistConn).writeLoop(0xc0007c6240)
    net/http/transport.go:2392 +0xf5 fp=0xc000929fc8 sp=0xc000929ed0 pc=0x735315
net/http.(*Transport).dialConn.func6()
    net/http/transport.go:1752 +0x26 fp=0xc000929fe0 sp=0xc000929fc8 pc=0x731e06
runtime.goexit()
    runtime/asm_amd64.s:1594 +0x1 fp=0xc000929fe8 sp=0xc000929fe0 pc=0x46a0a1
created by net/http.(*Transport).dialConn
    net/http/transport.go:1752 +0x1791

rax    0xca
rbx    0x0
rcx    0x46bfa3
rdx    0x0
rdi    0x2ef3608
rsi    0x80
rbp    0x7ffc365998b0
rsp    0x7ffc36599868
r8     0x0
r9     0x0
r10    0x0
r11    0x286
r12    0x7ffc365998a8
r13    0x0
r14    0x2ef2b40
r15    0x1
rip    0x46bfa1
rflags 0x286
cs     0x33
fs     0x0
gs     0x0
glours commented 7 months ago

Hey @AnnoyingTechnology 👋 Compose v2.12.2 is one year old, the latest release is v2.23.3, can you try with this one as we have done a lot of fixes in a year. If you still have the problem, could you open new issue, follow the template so we could have the maximum of information to analyse it please?

AnnoyingTechnology commented 7 months ago

can you try v2.23.3

Thanks @glours , works perfectly :)

glours commented 7 months ago

@AnnoyingTechnology glad to know 👍

mindplay-dk commented 4 months ago

I'm on 2.24.6 and still having this problem. (I'm on Ubuntu 22.04 LTS on WSL2 if that matters.)

EDIT: sorry, no, I misread the topic - my problem is CTRL+C doesn't work for stopping anything. Maybe a new issue?

kchawla-pi commented 4 months ago

I have recently started facing this problem on Windows: Docker Compose version v2.24.5-desktop.1

Only solution is to close the Terminal window. I traced it to restart: on-failure

RobertSkawinski commented 4 months ago

same here for example with mailcow

first docker compose up then everything works great and after pressing <CTRL> + <C> even when forcing to kill nothing changes - only closing the terminal window helps

^CGracefully stopping... (press Ctrl+C again to force)
Aborting on container exit...
[+] Stopping 19/19
 ✔ Container mailcowdockerized-olefy-mailcow-1      Stopped                                                                          10.2s 
 ✔ Container mailcowdockerized-ofelia-mailcow-1     Stopped                                                                           0.3s 
 ✔ Container mailcowdockerized-ipv6nat-mailcow-1    Stopped                                                                           0.0s 
 ✔ Container mailcowdockerized-dockerapi-mailcow-1  Stopped                                                                           0.7s 
 ✔ Container mailcowdockerized-watchdog-mailcow-1   Stopped                                                                           0.0s 
 ✔ Container mailcowdockerized-solr-mailcow-1       Stopped                                                                           0.7s 
 ✔ Container mailcowdockerized-rspamd-mailcow-1     Stopped                                                                           0.4s 
 ✔ Container mailcowdockerized-clamd-mailcow-1      Stopped                                                                           0.0s 
 ✔ Container mailcowdockerized-memcached-mailcow-1  Stopped                                                                           1.0s 
 ✔ Container mailcowdockerized-acme-mailcow-1       Stopped                                                                           0.0s 
 ✔ Container mailcowdockerized-postfix-mailcow-1    Stopped                                                                           0.0s 
 ✔ Container mailcowdockerized-nginx-mailcow-1      Stopped                                                                           0.4s 
 ✔ Container mailcowdockerized-php-fpm-mailcow-1    Stopped                                                                           0.3s 
 ✔ Container mailcowdockerized-sogo-mailcow-1       Stopped                                                                          10.2s 
 ✔ Container mailcowdockerized-dovecot-mailcow-1    Stopped                                                                          10.5s 
 ✔ Container mailcowdockerized-redis-mailcow-1      Stopped                                                                           0.3s 
 ✔ Container mailcowdockerized-mysql-mailcow-1      Stopped                                                                           0.4s 
 ✔ Container mailcowdockerized-unbound-mailcow-1    Stopped                                                                           0.1s 
 ✔ Container mailcowdockerized-netfilter-mailcow-1  Stopped                                                                           4.2s 

^[
^Cno container to kill^C^C^C^C

Here some System details:

# docker compose version
Docker Compose version v2.18.0

# docker version
Client: Docker Engine - Community
 Version:           26.0.0
 API version:       1.45
 Go version:        go1.21.8
 Git commit:        2ae903e
 Built:             Wed Mar 20 15:17:48 2024
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 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:17:48 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

# cat /etc/os-release 
PRETTY_NAME="Ubuntu 22.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.4 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
NEGU93 commented 2 months ago

@joanbm

According to my testing it's fixed in 740276f, which is not yet in any released version.

From which version should it work? Can we have an update on the version now?

joanbm commented 2 months ago

@NEGU93 I believe it should have been released in Docker Compose v2.2.3 in early 2022. So, a long time ago.

The recent influx of comments in the last few months suggest to me that the issue was likely solved during 2022-2023 and recently some similar issue was introduced but it may have a different root cause. So, I suggest that you open a new issue if there isn't one already.