-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Closed as duplicate of#12747
Labels
Description
Description
Docker 2.8.1.1 on Ubuntu 24.04.2 (freshly installed) and docker installed via get.docker.com script

Cmd:
docker compose --env-file ./config/.env.test up --remove-orphans --renew-anon-volumes --detach
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
CARGO_HOME: /home/ubuntu/.cargo
CARGO_INCREMENTAL: 0
CARGO_TERM_COLOR: always
DOCKER_BUILDKIT: 1
IS_DEBUG: false
GITHUB_ACCESS_TOKEN: ***
ORG: xxxlabs
TAG: dacef7c0cda969db3b727c3c2e779667e8342779
Full error:
fatal error: concurrent map writes
goroutine 308 [running]:
github.com/docker/compose/v2/pkg/compose.(*composeService).pullRequiredImages.func1.1()
github.com/docker/compose/v2/pkg/compose/pull.go:328 +0x236
golang.org/x/sync/errgroup.(*Group).Go.func1()
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:79 +0x50
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 61
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:76 +0x96
goroutine 1 [semacquire]:
sync.runtime_Semacquire(0xc000880f18?)
runtime/sema.go:71 +0x25
sync.(*WaitGroup).Wait(0x25d4c40?)
sync/waitgroup.go:118 +0x48
golang.org/x/sync/errgroup.(*Group).Wait(0xc0008ab140)
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:56 +0x25
github.com/docker/compose/v2/pkg/progress.RunWithStatus({0x2bba6c8, 0xc000816ea0}, 0xc000876060, 0xc0004718c0, {0x27d7fae, 0x7})
github.com/docker/compose/v2/pkg/progress/writer.go:97 +0x225
github.com/docker/compose/v2/pkg/progress.Run({0x2bba6c8, 0xc000816ea0}, 0xc0008ab100, 0xc0004718c0)
github.com/docker/compose/v2/pkg/progress/writer.go:61 +0x85
github.com/docker/compose/v2/pkg/compose.(*composeService).Up(0xc000421340, {0x2bba6c8, 0xc000816ea0}, _, {{0xc000a22000, {0xc0003919b0, 0x0, 0x3}, 0x1, 0x0, ...}, ...})
github.com/docker/compose/v2/pkg/compose/up.go:40 +0x213
github.com/docker/compose/v2/cmd/compose.runUp({_, _}, {_, _}, {_, _}, {0x0, 0x0, {0x27d632b, 0x6}, ...}, ...)
github.com/docker/compose/v2/cmd/compose/up.go:319 +0xb54
github.com/docker/compose/v2/cmd/compose.upCommand.func2({0x2bba6c8, 0xc000816ea0}, 0xc0005537a0, {0xc0003919b0, 0x0, 0x3})
github.com/docker/compose/v2/cmd/compose/up.go:143 +0x29f
github.com/docker/compose/v2/cmd/compose.upCommand.(*ProjectOptions).WithServices.func5({0x2bba700, 0xc0001ea1e0}, {0xc0003919b0, 0x0, 0x3})
github.com/docker/compose/v2/cmd/compose/compose.go:187 +0x22d
github.com/docker/compose/v2/cmd/compose.upCommand.(*ProjectOptions).WithServices.Adapt.func7({0x2bba700?, 0xc0001ea1e0?}, 0x2?, {0xc0003919b0?, 0x2b9f088?, 0x9d433a?})
github.com/docker/compose/v2/cmd/compose/compose.go:137 +0x30
github.com/docker/compose/v2/cmd/compose.upCommand.(*ProjectOptions).WithServices.Adapt.AdaptCmd.func8(0xc000239508, {0xc0003919b0, 0x0, 0x3})
github.com/docker/compose/v2/cmd/compose/compose.go:121 +0x143
github.com/docker/cli/cli-plugins/plugin.RunPlugin.func1.1.2(0xc000239508, {0xc0003919b0, 0x0, 0x3})
github.com/docker/cli@v28.1.0+incompatible/cli-plugins/plugin/plugin.go:65 +0x6c
github.com/docker/compose/v2/cmd/cmdtrace.Setup.wrapRunE.func2(0xc000239508?, {0xc0003919b0?, 0x0?, 0x3?})
github.com/docker/compose/v2/cmd/cmdtrace/cmd_span.go:85 +0x63
github.com/spf13/cobra.(*Command).execute(0xc000239508, {0xc00014ba10, 0x3, 0x3})
github.com/spf13/cobra@v1.9.1/command.go:1015 +0xa94
github.com/spf13/cobra.(*Command).ExecuteC(0xc000544f08)
github.com/spf13/cobra@v1.9.1/command.go:1148 +0x40c
github.com/spf13/cobra.(*Command).Execute(...)
github.com/spf13/cobra@v1.9.1/command.go:1071
github.com/docker/cli/cli-plugins/plugin.RunPlugin(0xc000437cc0, 0xc000239208, {{0x27d4d6a, 0x5}, {0x27dedc8, 0xb}, {0x2b8a0a8, 0x7}, {0x0, 0x0}, ...})
github.com/docker/cli@v28.1.0+incompatible/cli-plugins/plugin/plugin.go:80 +0x145
github.com/docker/cli/cli-plugins/plugin.Run(0x2931458, {{0x27d4d6a, 0x5}, {0x27dedc8, 0xb}, {0x2b8a0a8, 0x7}, {0x0, 0x0}, {0x0, ...}})
github.com/docker/cli@v28.1.0+incompatible/cli-plugins/plugin/plugin.go:95 +0x105
main.pluginMain()
github.com/docker/compose/v2/cmd/main.go:38 +0xa5
main.main()
github.com/docker/compose/v2/cmd/main.go:98 +0x19c
goroutine 54 [IO wait]:
internal/poll.runtime_pollWait(0x7b33b7a956b0, 0x72)
runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc0003f3400?, 0xc0004787bf?, 0x0)
internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0003f3400, {0xc0004787bf, 0x1, 0x1})
internal/poll/fd_unix.go:165 +0x27a
net.(*netFD).Read(0xc0003f3400, {0xc0004787bf?, 0x0?, 0x0?})
net/fd_posix.go:55 +0x25
net.(*conn).Read(0xc0006a4760, {0xc0004787bf?, 0x0?, 0x0?})
net/net.go:189 +0x45
github.com/docker/cli/cli-plugins/socket.ConnectAndWait.func1()
github.com/docker/cli@v28.1.0+incompatible/cli-plugins/socket/socket.go:162 +0x45
created by github.com/docker/cli/cli-plugins/socket.ConnectAndWait in goroutine 1
github.com/docker/cli@v28.1.0+incompatible/cli-plugins/socket/socket.go:159 +0x118
goroutine 187 [select]:
net/http.(*persistConn).writeLoop(0xc000ac8240)
net/http/transport.go:2519 +0xe7
created by net/http.(*Transport).dialConn in goroutine 214
net/http/transport.go:1875 +0x15a5
goroutine 66 [runnable]:
go.opentelemetry.io/otel/sdk/trace.(*batchSpanProcessor).processQueue(0xc0005ca000)
go.opentelemetry.io/otel/sdk@v1.34.0/trace/batch_span_processor.go:302 +0x114
go.opentelemetry.io/otel/sdk/trace.NewBatchSpanProcessor.func1()
go.opentelemetry.io/otel/sdk@v1.34.0/trace/batch_span_processor.go:117 +0x4e
created by go.opentelemetry.io/otel/sdk/trace.NewBatchSpanProcessor in goroutine 1
go.opentelemetry.io/otel/sdk@v1.34.0/trace/batch_span_processor.go:115 +0x2e5
goroutine 67 [syscall]:
os/signal.signal_recv()
runtime/sigqueue.go:152 +0x29
os/signal.loop()
os/signal/signal_unix.go:23 +0x13
created by os/signal.Notify.func1.1 in goroutine 1
os/signal/signal.go:151 +0x1f
goroutine 68 [chan receive]:
github.com/docker/compose/v2/cmd/compose.upCommand.AdaptCmd.func4.1()
github.com/docker/compose/v2/cmd/compose/compose.go:115 +0x27
created by github.com/docker/compose/v2/cmd/compose.upCommand.AdaptCmd.func4 in goroutine 1
github.com/docker/compose/v2/cmd/compose/compose.go:114 +0x10a
goroutine 69 [chan receive]:
github.com/docker/compose/v2/cmd/compose.upCommand.(*ProjectOptions).WithServices.Adapt.AdaptCmd.func8.1()
github.com/docker/compose/v2/cmd/compose/compose.go:115 +0x27
created by github.com/docker/compose/v2/cmd/compose.upCommand.(*ProjectOptions).WithServices.Adapt.AdaptCmd.func8 in goroutine 1
github.com/docker/compose/v2/cmd/compose/compose.go:114 +0x10a
goroutine 12 [select]:
github.com/docker/compose/v2/pkg/progress.(*plainWriter).Start(0xc00088c320, {0x2bba290, 0x4147d60})
github.com/docker/compose/v2/pkg/progress/plain.go:34 +0x67
github.com/docker/compose/v2/pkg/progress.RunWithStatus.func1()
github.com/docker/compose/v2/pkg/progress/writer.go:83 +0x2a
golang.org/x/sync/errgroup.(*Group).Go.func1()
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:79 +0x50
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 1
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:76 +0x96
goroutine 13 [semacquire]:
sync.runtime_Semacquire(0xc0008802e8?)
runtime/sema.go:71 +0x25
sync.(*WaitGroup).Wait(0x25d4c40?)
sync/waitgroup.go:118 +0x48
golang.org/x/sync/errgroup.(*Group).Wait(0xc0002cf240)
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:56 +0x25
github.com/docker/compose/v2/pkg/progress.RunWithStatus({0x2bba6c8, 0xc0008478f0}, 0xc000b26510, 0xc0004718c0, {0x27d7fae, 0x7})
github.com/docker/compose/v2/pkg/progress/writer.go:97 +0x225
github.com/docker/compose/v2/pkg/progress.Run({0x2bba6c8, 0xc0008478f0}, 0xc000847950, 0xc0004718c0)
github.com/docker/compose/v2/pkg/progress/writer.go:61 +0x85
github.com/docker/compose/v2/pkg/compose.(*composeService).pullRequiredImages(0xc000421340, {0x2bba6c8, 0xc0008478f0}, 0xc0005537a0, 0xc0005a6900, 0x0)
github.com/docker/compose/v2/pkg/compose/pull.go:320 +0x2ef
github.com/docker/compose/v2/pkg/compose.(*composeService).ensureImagesExists.func1({0x2bba6c8?, 0xc0008478f0?})
github.com/docker/compose/v2/pkg/compose/build.go:278 +0x37
github.com/docker/compose/v2/pkg/compose.(*composeService).ensureImagesExists.SpanWrapFunc.func3({0x2bba6c8, 0xc0005a68d0})
github.com/docker/compose/v2/internal/tracing/wrap.go:43 +0x13d
github.com/docker/compose/v2/pkg/compose.(*composeService).ensureImagesExists(0xc000421340, {0x2bba6c8, 0xc0005a68d0}, 0xc0005537a0, 0xc000a22000, 0x0)
github.com/docker/compose/v2/pkg/compose/build.go:280 +0x29e
github.com/docker/compose/v2/pkg/compose.(*composeService).create(0xc000421340, {0x2bba6c8, 0xc0005a68d0}, 0xc0005537a0, {0xc000a22000, {0xc000284a00, 0x17, 0x20}, 0x1, 0x0, ...})
github.com/docker/compose/v2/pkg/compose/create.go:83 +0xdf
github.com/docker/compose/v2/pkg/compose.(*composeService).Up.func1({0x2bba6c8, 0xc0005a68d0})
github.com/docker/compose/v2/pkg/compose/up.go:41 +0x85
github.com/docker/compose/v2/pkg/compose.(*composeService).Up.SpanWrapFunc.func5({0x2bba6c8, 0xc0005a68a0})
github.com/docker/compose/v2/internal/tracing/wrap.go:43 +0x13d
github.com/docker/compose/v2/pkg/progress.Run.func1({0x2bba6c8?, 0xc0005a68a0?})
github.com/docker/compose/v2/pkg/progress/writer.go:62 +0x22
github.com/docker/compose/v2/pkg/progress.RunWithStatus.func2()
github.com/docker/compose/v2/pkg/progress/writer.go:90 +0x70
golang.org/x/sync/errgroup.(*Group).Go.func1()
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:79 +0x50
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 1
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:76 +0x96
goroutine 231 [select]:
net/http.(*persistConn).readLoop(0xc00041c480)
net/http/transport.go:2325 +0xca5
created by net/http.(*Transport).dialConn in goroutine 133
net/http/transport.go:1874 +0x154f
goroutine 60 [select]:
github.com/docker/compose/v2/pkg/progress.(*plainWriter).Start(0xc0001a6860, {0x2bba290, 0x4147d60})
github.com/docker/compose/v2/pkg/progress/plain.go:34 +0x67
github.com/docker/compose/v2/pkg/progress.RunWithStatus.func1()
github.com/docker/compose/v2/pkg/progress/writer.go:83 +0x2a
golang.org/x/sync/errgroup.(*Group).Go.func1()
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:79 +0x50
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 13
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:76 +0x96
goroutine 186 [select]:
net/http.(*persistConn).readLoop(0xc000ac8240)
net/http/transport.go:2325 +0xca5
created by net/http.(*Transport).dialConn in goroutine 214
net/http/transport.go:1874 +0x154f
goroutine 232 [select]:
net/http.(*persistConn).writeLoop(0xc00041c480)
net/http/transport.go:2519 +0xe7
created by net/http.(*Transport).dialConn in goroutine 133
net/http/transport.go:1875 +0x15a5
goroutine 63 [IO wait]:
internal/poll.runtime_pollWait(0x7b33b7a94aa8, 0x72)
runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc0009ac080?, 0xc00086c000?, 0x0)
internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0009ac080, {0xc00086c000, 0x1000, 0x1000})
internal/poll/fd_unix.go:165 +0x27a
net.(*netFD).Read(0xc0009ac080, {0xc00086c000?, 0x0?, 0x0?})
net/fd_posix.go:55 +0x25
net.(*conn).Read(0xc00079c160, {0xc00086c000?, 0x0?, 0xc000504fc0?})
net/net.go:189 +0x45
net/http.(*persistConn).Read(0xc000ac8240, {0xc00086c000?, 0x0?, 0x17?})
net/http/transport.go:2052 +0x4a
bufio.(*Reader).fill(0xc000b00420)
bufio/bufio.go:110 +0x103
bufio.(*Reader).ReadSlice(0xc000b00420, 0xa)
bufio/bufio.go:376 +0x29
net/http/internal.readChunkLine(0x0?)
net/http/internal/chunked.go:156 +0x1c
net/http/internal.(*chunkedReader).beginChunk(0xc0007e8b10)
net/http/internal/chunked.go:49 +0x25
net/http/internal.(*chunkedReader).Read(0xc0007e8b10, {0xc000873802?, 0x0?, 0xc00083e650?})
net/http/internal/chunked.go:125 +0x131
net/http.(*body).readLocked(0xc000796bc0, {0xc000873802?, 0xc0006e8680?, 0xc000194140?})
net/http/transfer.go:844 +0x3b
net/http.(*body).Read(0x4?, {0xc000873802?, 0x224bc60?, 0x414b960?})
net/http/transfer.go:836 +0x112
net/http.(*bodyEOFSignal).Read(0xc000796c00, {0xc000873802, 0x5fe, 0x5fe})
net/http/transport.go:2913 +0x13f
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp.(*wrappedBody).Read(0xc000796cc0, {0xc000873802?, 0x0?, 0x0?})
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.56.0/transport.go:229 +0x2d
encoding/json.(*Decoder).refill(0xc000316c80)
encoding/json/stream.go:165 +0x188
encoding/json.(*Decoder).readValue(0xc000316c80)
encoding/json/stream.go:140 +0x85
encoding/json.(*Decoder).Decode(0xc000316c80, {0x23690c0, 0xc0005a4630})
encoding/json/stream.go:63 +0x75
github.com/docker/compose/v2/pkg/compose.(*composeService).pullServiceImage(_, {_, _}, {{0xc000340688, 0x4}, {0x0, 0x0, 0x0}, 0x0, 0x0, ...}, ...)
github.com/docker/compose/v2/pkg/compose/pull.go:231 +0x4b0
github.com/docker/compose/v2/pkg/compose.(*composeService).pullRequiredImages.func1.1()
github.com/docker/compose/v2/pkg/compose/pull.go:327 +0x170
golang.org/x/sync/errgroup.(*Group).Go.func1()
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:79 +0x50
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 61
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:76 +0x96
goroutine 184 [select]:
net/http.(*persistConn).readLoop(0xc00071e360)
net/http/transport.go:2325 +0xca5
created by net/http.(*Transport).dialConn in goroutine 206
net/http/transport.go:1874 +0x154f
goroutine 204 [IO wait]:
internal/poll.runtime_pollWait(0x7b336857d658, 0x72)
runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc0002d6600?, 0xc00100d000?, 0x0)
internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0002d6600, {0xc00100d000, 0x1000, 0x1000})
internal/poll/fd_unix.go:165 +0x27a
net.(*netFD).Read(0xc0002d6600, {0xc00100d000?, 0x0?, 0x2b915a0?})
net/fd_posix.go:55 +0x25
net.(*conn).Read(0xc0008c6028, {0xc00100d000?, 0x0?, 0x0?})
net/net.go:189 +0x45
net/http.(*persistConn).Read(0xc0008da240, {0xc00100d000?, 0x7841c5?, 0x23877c0?})
net/http/transport.go:2052 +0x4a
bufio.(*Reader).fill(0xc000193e00)
bufio/bufio.go:110 +0x103
bufio.(*Reader).Peek(0xc000193e00, 0x1)
bufio/bufio.go:148 +0x53
net/http.(*persistConn).readLoop(0xc0008da240)
net/http/transport.go:2205 +0x185
created by net/http.(*Transport).dialConn in goroutine 149
net/http/transport.go:1874 +0x154f
goroutine 185 [select]:
net/http.(*persistConn).writeLoop(0xc00071e360)
net/http/transport.go:2519 +0xe7
created by net/http.(*Transport).dialConn in goroutine 206
net/http/transport.go:1875 +0x15a5
goroutine 65 [IO wait]:
internal/poll.runtime_pollWait(0x7b33b7a94df0, 0x72)
runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc000a42080?, 0xc000d30000?, 0x0)
internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000a42080, {0xc000d30000, 0x1000, 0x1000})
internal/poll/fd_unix.go:165 +0x27a
net.(*netFD).Read(0xc000a42080, {0xc000d30000?, 0x0?, 0x0?})
net/fd_posix.go:55 +0x25
net.(*conn).Read(0xc000a24028, {0xc000d30000?, 0x0?, 0xc0009a61c0?})
net/net.go:189 +0x45
net/http.(*persistConn).Read(0xc000b46120, {0xc000d30000?, 0x0?, 0x61?})
net/http/transport.go:2052 +0x4a
bufio.(*Reader).fill(0xc000ac6480)
bufio/bufio.go:110 +0x103
bufio.(*Reader).ReadSlice(0xc000ac6480, 0xa)
bufio/bufio.go:376 +0x29
net/http/internal.readChunkLine(0x0?)
net/http/internal/chunked.go:156 +0x1c
net/http/internal.(*chunkedReader).beginChunk(0xc0007e8450)
net/http/internal/chunked.go:49 +0x25
net/http/internal.(*chunkedReader).Read(0xc0007e8450, {0xc00020d202?, 0x0?, 0xc0005d6650?})
net/http/internal/chunked.go:125 +0x131
net/http.(*body).readLocked(0xc000796280, {0xc00020d202?, 0xc0006e8680?, 0xc000194140?})
net/http/transfer.go:844 +0x3b
net/http.(*body).Read(0x4?, {0xc00020d202?, 0x224bc60?, 0x414b960?})
net/http/transfer.go:836 +0x112
net/http.(*bodyEOFSignal).Read(0xc0007962c0, {0xc00020d202, 0x5fe, 0x5fe})
net/http/transport.go:2913 +0x13f
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp.(*wrappedBody).Read(0xc0007963c0, {0xc00020d202?, 0x0?, 0x0?})
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.56.0/transport.go:229 +0x2d
encoding/json.(*Decoder).refill(0xc000316280)
encoding/json/stream.go:165 +0x188
encoding/json.(*Decoder).readValue(0xc000316280)
encoding/json/stream.go:140 +0x85
encoding/json.(*Decoder).Decode(0xc000316280, {0x23690c0, 0xc000515440})
encoding/json/stream.go:63 +0x75
github.com/docker/compose/v2/pkg/compose.(*composeService).pullServiceImage(_, {_, _}, {{0xc000341350, 0xa}, {0x0, 0x0, 0x0}, 0x0, 0x0, ...}, ...)
github.com/docker/compose/v2/pkg/compose/pull.go:231 +0x4b0
github.com/docker/compose/v2/pkg/compose.(*composeService).pullRequiredImages.func1.1()
github.com/docker/compose/v2/pkg/compose/pull.go:327 +0x170
golang.org/x/sync/errgroup.(*Group).Go.func1()
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:79 +0x50
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 61
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:76 +0x96
goroutine 64 [IO wait]:
internal/poll.runtime_pollWait(0x7b33b7a95368, 0x72)
runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc000a22100?, 0xc0009e1000?, 0x0)
internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000a22100, {0xc0009e1000, 0x1000, 0x1000})
internal/poll/fd_unix.go:165 +0x27a
net.(*netFD).Read(0xc000a22100, {0xc0009e1000?, 0x0?, 0x0?})
net/fd_posix.go:55 +0x25
net.(*conn).Read(0xc00099a018, {0xc0009e1000?, 0x0?, 0xc0009a6380?})
net/net.go:189 +0x45
net/http.(*persistConn).Read(0xc00041c480, {0xc0009e1000?, 0x0?, 0x1d?})
net/http/transport.go:2052 +0x4a
bufio.(*Reader).fill(0xc000b84720)
bufio/bufio.go:110 +0x103
bufio.(*Reader).ReadSlice(0xc000b84720, 0xa)
bufio/bufio.go:376 +0x29
net/http/internal.readChunkLine(0x0?)
net/http/internal/chunked.go:156 +0x1c
net/http/internal.(*chunkedReader).beginChunk(0xc0007e86f0)
net/http/internal/chunked.go:49 +0x25
net/http/internal.(*chunkedReader).Read(0xc0007e86f0, {0xc000872c02?, 0x0?, 0xc0007d8650?})
net/http/internal/chunked.go:125 +0x131
net/http.(*body).readLocked(0xc000796940, {0xc000872c02?, 0xc0006e8680?, 0xc000194140?})
net/http/transfer.go:844 +0x3b
net/http.(*body).Read(0x4?, {0xc000872c02?, 0x224bc60?, 0x414b960?})
net/http/transfer.go:836 +0x112
net/http.(*bodyEOFSignal).Read(0xc000796980, {0xc000872c02, 0x5fe, 0x5fe})
net/http/transport.go:2913 +0x13f
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp.(*wrappedBody).Read(0xc000796a40, {0xc000872c02?, 0x0?, 0x0?})
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.56.0/transport.go:229 +0x2d
encoding/json.(*Decoder).refill(0xc000316a00)
encoding/json/stream.go:165 +0x188
encoding/json.(*Decoder).readValue(0xc000316a00)
encoding/json/stream.go:140 +0x85
encoding/json.(*Decoder).Decode(0xc000316a00, {0x23690c0, 0xc000514f30})
encoding/json/stream.go:63 +0x75
github.com/docker/compose/v2/pkg/compose.(*composeService).pullServiceImage(_, {_, _}, {{0xc000340b04, 0x5}, {0x0, 0x0, 0x0}, 0x0, 0x0, ...}, ...)
github.com/docker/compose/v2/pkg/compose/pull.go:231 +0x4b0
github.com/docker/compose/v2/pkg/compose.(*composeService).pullRequiredImages.func1.1()
github.com/docker/compose/v2/pkg/compose/pull.go:327 +0x170
golang.org/x/sync/errgroup.(*Group).Go.func1()
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:79 +0x50
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 61
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:76 +0x96
goroutine 233 [select]:
net/http.(*persistConn).readLoop(0xc000a3fc20)
net/http/transport.go:2325 +0xca5
created by net/http.(*Transport).dialConn in goroutine 313
net/http/transport.go:1874 +0x154f
goroutine 306 [IO wait]:
internal/poll.runtime_pollWait(0x7b336857d770, 0x72)
runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc000666100?, 0xc00094b000?, 0x0)
internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000666100, {0xc00094b000, 0x1000, 0x1000})
internal/poll/fd_unix.go:165 +0x27a
net.(*netFD).Read(0xc000666100, {0xc00094b000?, 0x0?, 0x0?})
net/fd_posix.go:55 +0x25
net.(*conn).Read(0xc000632028, {0xc00094b000?, 0x0?, 0xc000bce000?})
net/net.go:189 +0x45
net/http.(*persistConn).Read(0xc00071e360, {0xc00094b000?, 0x0?, 0x17?})
net/http/transport.go:2052 +0x4a
bufio.(*Reader).fill(0xc00069ac60)
bufio/bufio.go:110 +0x103
bufio.(*Reader).ReadSlice(0xc00069ac60, 0xa)
bufio/bufio.go:376 +0x29
net/http/internal.readChunkLine(0x0?)
net/http/internal/chunked.go:156 +0x1c
net/http/internal.(*chunkedReader).beginChunk(0xc0007e8a80)
net/http/internal/chunked.go:49 +0x25
net/http/internal.(*chunkedReader).Read(0xc0007e8a80, {0xc000873202?, 0x0?, 0xc0006f0650?})
net/http/internal/chunked.go:125 +0x131
net/http.(*body).readLocked(0xc000796a80, {0xc000873202?, 0xc0006e8680?, 0xc000194140?})
net/http/transfer.go:844 +0x3b
net/http.(*body).Read(0x4?, {0xc000873202?, 0x224bc60?, 0x414b960?})
net/http/transfer.go:836 +0x112
net/http.(*bodyEOFSignal).Read(0xc000796ac0, {0xc000873202, 0x5fe, 0x5fe})
net/http/transport.go:2913 +0x13f
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp.(*wrappedBody).Read(0xc000796b80, {0xc000873202?, 0x0?, 0x0?})
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.56.0/transport.go:229 +0x2d
encoding/json.(*Decoder).refill(0xc000316b40)
encoding/json/stream.go:165 +0x188
encoding/json.(*Decoder).readValue(0xc000316b40)
encoding/json/stream.go:140 +0x85
encoding/json.(*Decoder).Decode(0xc000316b40, {0x23690c0, 0xc00070def0})
encoding/json/stream.go:63 +0x75
github.com/docker/compose/v2/pkg/compose.(*composeService).pullServiceImage(_, {_, _}, {{0xc0006fb140, 0x11}, {0x0, 0x0, 0x0}, 0x0, 0x0, ...}, ...)
github.com/docker/compose/v2/pkg/compose/pull.go:231 +0x4b0
github.com/docker/compose/v2/pkg/compose.(*composeService).pullRequiredImages.func1.1()
github.com/docker/compose/v2/pkg/compose/pull.go:327 +0x170
golang.org/x/sync/errgroup.(*Group).Go.func1()
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:79 +0x50
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 61
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:76 +0x96
goroutine 234 [select]:
net/http.(*persistConn).writeLoop(0xc000a3fc20)
net/http/transport.go:2519 +0xe7
created by net/http.(*Transport).dialConn in goroutine 313
net/http/transport.go:1875 +0x15a5
goroutine 61 [semacquire]:
sync.runtime_Semacquire(0x1?)
runtime/sema.go:71 +0x25
sync.(*WaitGroup).Wait(0xc000847920?)
sync/waitgroup.go:118 +0x48
golang.org/x/sync/errgroup.(*Group).Wait(0xc0002cf340)
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:56 +0x25
github.com/docker/compose/v2/pkg/compose.(*composeService).pullRequiredImages.func1({0x2bba6c8, 0xc000847980})
github.com/docker/compose/v2/pkg/compose/pull.go:340 +0x39b
github.com/docker/compose/v2/pkg/progress.Run.func1({0x2bba6c8?, 0xc000847980?})
github.com/docker/compose/v2/pkg/progress/writer.go:62 +0x22
github.com/docker/compose/v2/pkg/progress.RunWithStatus.func2()
github.com/docker/compose/v2/pkg/progress/writer.go:90 +0x70
golang.org/x/sync/errgroup.(*Group).Go.func1()
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:79 +0x50
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 13
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:76 +0x96
goroutine 73 [IO wait]:
internal/poll.runtime_pollWait(0x7b336857d540, 0x72)
runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc000666200?, 0xc00066b000?, 0x0)
internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000666200, {0xc00066b000, 0x1000, 0x1000})
internal/poll/fd_unix.go:165 +0x27a
net.(*netFD).Read(0xc000666200, {0xc00066b000?, 0x0?, 0x2b915a0?})
net/fd_posix.go:55 +0x25
net.(*conn).Read(0xc000632010, {0xc00066b000?, 0x0?, 0x0?})
net/net.go:189 +0x45
net/http.(*persistConn).Read(0xc000ac8000, {0xc00066b000?, 0x7841c5?, 0x23877c0?})
net/http/transport.go:2052 +0x4a
bufio.(*Reader).fill(0xc000b84480)
bufio/bufio.go:110 +0x103
bufio.(*Reader).Peek(0xc000b84480, 0x1)
bufio/bufio.go:148 +0x53
net/http.(*persistConn).readLoop(0xc000ac8000)
net/http/transport.go:2205 +0x185
created by net/http.(*Transport).dialConn in goroutine 258
net/http/transport.go:1874 +0x154f
goroutine 205 [select]:
net/http.(*persistConn).writeLoop(0xc0008da240)
net/http/transport.go:2519 +0xe7
created by net/http.(*Transport).dialConn in goroutine 149
net/http/transport.go:1875 +0x15a5
goroutine 74 [select]:
net/http.(*persistConn).writeLoop(0xc000ac8000)
net/http/transport.go:2519 +0xe7
created by net/http.(*Transport).dialConn in goroutine 258
net/http/transport.go:1875 +0x15a5
goroutine 309 [IO wait]:
internal/poll.runtime_pollWait(0x7b33b7a95250, 0x72)
runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc000666500?, 0xc0009e3000?, 0x0)
internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000666500, {0xc0009e3000, 0x1000, 0x1000})
internal/poll/fd_unix.go:165 +0x27a
net.(*netFD).Read(0xc000666500, {0xc0009e3000?, 0x0?, 0x0?})
net/fd_posix.go:55 +0x25
net.(*conn).Read(0xc000632030, {0xc0009e3000?, 0x0?, 0xc00083a700?})
net/net.go:189 +0x45
net/http.(*persistConn).Read(0xc000a3fc20, {0xc0009e3000?, 0x0?, 0x17?})
net/http/transport.go:2052 +0x4a
bufio.(*Reader).fill(0xc000b84780)
bufio/bufio.go:110 +0x103
bufio.(*Reader).ReadSlice(0xc000b84780, 0xa)
bufio/bufio.go:376 +0x29
net/http/internal.readChunkLine(0x0?)
net/http/internal/chunked.go:156 +0x1c
net/http/internal.(*chunkedReader).beginChunk(0xc0007e8c30)
net/http/internal/chunked.go:49 +0x25
net/http/internal.(*chunkedReader).Read(0xc0007e8c30, {0xc000874602?, 0x0?, 0xc0007d4650?})
net/http/internal/chunked.go:125 +0x131
net/http.(*body).readLocked(0xc000796e40, {0xc000874602?, 0xc0006e8680?, 0xc000194140?})
net/http/transfer.go:844 +0x3b
net/http.(*body).Read(0x4?, {0xc000874602?, 0x224bc60?, 0x414b960?})
net/http/transfer.go:836 +0x112
net/http.(*bodyEOFSignal).Read(0xc000796e80, {0xc000874602, 0x5fe, 0x5fe})
net/http/transport.go:2913 +0x13f
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp.(*wrappedBody).Read(0xc000796f40, {0xc000874602?, 0x0?, 0x0?})
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.56.0/transport.go:229 +0x2d
encoding/json.(*Decoder).refill(0xc000316f00)
encoding/json/stream.go:165 +0x188
encoding/json.(*Decoder).readValue(0xc000316f00)
encoding/json/stream.go:140 +0x85
encoding/json.(*Decoder).Decode(0xc000316f00, {0x23690c0, 0xc0005a5ef0})
encoding/json/stream.go:63 +0x75
github.com/docker/compose/v2/pkg/compose.(*composeService).pullServiceImage(_, {_, _}, {{0xc000340998, 0x8}, {0x0, 0x0, 0x0}, 0x0, 0x0, ...}, ...)
github.com/docker/compose/v2/pkg/compose/pull.go:231 +0x4b0
github.com/docker/compose/v2/pkg/compose.(*composeService).pullRequiredImages.func1.1()
github.com/docker/compose/v2/pkg/compose/pull.go:327 +0x170
golang.org/x/sync/errgroup.(*Group).Go.func1()
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:79 +0x50
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 61
golang.org/x/sync@v0.13.0/errgroup/errgroup.go:76 +0x96
goroutine 265 [select]:
net/http.(*persistConn).readLoop(0xc000b46120)
net/http/transport.go:2325 +0xca5
created by net/http.(*Transport).dialConn in goroutine 264
net/http/transport.go:1874 +0x154f
goroutine 266 [select]:
net/http.(*persistConn).writeLoop(0xc000b46120)
net/http/transport.go:2519 +0xe7
created by net/http.(*Transport).dialConn in goroutine 264
net/http/transport.go:1875 +0x15a5
Error: Process completed with exit code 2.
Steps To Reproduce
Run docker compose --env-file ./config/.env.test up --remove-orphans --renew-anon-volumes --detach on a clean machine via self hosted Github action runner
Compose Version
ubuntu@ci-1:~$ docker compose version
Docker Compose version v2.35.1
Docker Environment
ubuntu@ci-1:~$ docker version
Client: Docker Engine - Community
Version: 28.1.1
API version: 1.49
Go version: go1.23.8
Git commit: 4eba377
Built: Fri Apr 18 09:52:14 2025
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 28.1.1
API version: 1.49 (minimum version 1.24)
Go version: go1.23.8
Git commit: 01f442b
Built: Fri Apr 18 09:52:14 2025
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.7.27
GitCommit: 05044ec0a9a75232cad458027ca83437aae3f4da
runc:
Version: 1.2.5
GitCommit: v1.2.5-0-g59923ef
docker-init:
Version: 0.19.0
GitCommit: de40ad0
ubuntu@ci-1:~$
Anything else?
No response