Skip to content

[BUG] Fatal error on map writing #13006

@Igor743646

Description

@Igor743646

Description

After this command:

docker compose up

Error:
fatal error: concurrent map writes

goroutine 44 [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/[email protected]/errgroup/errgroup.go:79 +0x50
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 42
golang.org/x/[email protected]/errgroup/errgroup.go:76 +0x96

goroutine 1 [semacquire]:
sync.runtime_Semacquire(0xc000335d58?)
runtime/sema.go:71 +0x25
sync.(*WaitGroup).Wait(0x26a5940?)
sync/waitgroup.go:118 +0x48
golang.org/x/sync/errgroup.(*Group).Wait(0xc0002a8200)
golang.org/x/[email protected]/errgroup/errgroup.go:56 +0x25
github.com/docker/compose/v2/pkg/progress.RunWithStatus({0x2c96b48, 0xc000793920}, 0xc00024c2f0, 0xc00012cf90, {0x28abdf9, 0x7})
github.com/docker/compose/v2/pkg/progress/writer.go:97 +0x225
github.com/docker/compose/v2/pkg/progress.Run({0x2c96b48, 0xc000793920}, 0xc0002a81c0, 0xc00012cf90)
github.com/docker/compose/v2/pkg/progress/writer.go:61 +0x85
github.com/docker/compose/v2/pkg/compose.(*composeService).Up(0xc00013bd80, {0x2c96b48, 0xc000793920}, , {{0xc00063a780, {0x42d02e0, 0x0, 0x0}, 0x0, 0x0, ...}, ...})
github.com/docker/compose/v2/pkg/compose/up.go:40 +0x213
github.com/docker/compose/v2/cmd/compose.runUp({
, }, {, }, {, _}, {0x0, 0x0, {0x28aa156, 0x6}, ...}, ...)
github.com/docker/compose/v2/cmd/compose/up.go:319 +0xb54
github.com/docker/compose/v2/cmd/compose.upCommand.func2({0x2c96b48, 0xc000793920}, 0xc00050cea0, {0x42d02e0, 0x0, 0x0})
github.com/docker/compose/v2/cmd/compose/up.go:143 +0x29f
github.com/docker/compose/v2/cmd/compose.upCommand.(*ProjectOptions).WithServices.func5({0x2c96b80, 0xc00034a690}, {0x42d02e0, 0x0, 0x0})
github.com/docker/compose/v2/cmd/compose/compose.go:187 +0x22d
github.com/docker/compose/v2/cmd/compose.upCommand.(*ProjectOptions).WithServices.Adapt.func7({0x2c96b80?, 0xc00034a690?}, 0x2?, {0x42d02e0?, 0x2c7b6c8?, 0x3f0cfdd?})
github.com/docker/compose/v2/cmd/compose/compose.go:137 +0x30
github.com/docker/compose/v2/cmd/compose.upCommand.(*ProjectOptions).WithServices.Adapt.AdaptCmd.func8(0xc0001eb508, {0x42d02e0, 0x0, 0x0})
github.com/docker/compose/v2/cmd/compose/compose.go:121 +0x143
github.com/docker/cli/cli-plugins/plugin.RunPlugin.func1.1.2(0xc0001eb508, {0x42d02e0, 0x0, 0x0})
github.com/docker/[email protected]+incompatible/cli-plugins/plugin/plugin.go:65 +0x6c
github.com/docker/compose/v2/cmd/cmdtrace.Setup.wrapRunE.func2(0xc0001eb508?, {0x42d02e0?, 0x0?, 0x0?})
github.com/docker/compose/v2/cmd/cmdtrace/cmd_span.go:85 +0x63
github.com/spf13/cobra.(*Command).execute(0xc0001eb508, {0xc0002f8870, 0x0, 0x0})
github.com/spf13/[email protected]/command.go:1015 +0xa94
github.com/spf13/cobra.(*Command).ExecuteC(0xc00048cf08)
github.com/spf13/[email protected]/command.go:1148 +0x40c
github.com/spf13/cobra.(*Command).Execute(...)
github.com/spf13/[email protected]/command.go:1071
github.com/docker/cli/cli-plugins/plugin.RunPlugin(0xc00016a500, 0xc0001eb208, {{0x28a8bd9, 0x5}, {0x28b2be3, 0xb}, {0x2c6cbe0, 0x11}, {0x0, 0x0}, ...})
github.com/docker/[email protected]+incompatible/cli-plugins/plugin/plugin.go:80 +0x145
github.com/docker/cli/cli-plugins/plugin.Run(0x2a094f0, {{0x28a8bd9, 0x5}, {0x28b2be3, 0xb}, {0x2c6cbe0, 0x11}, {0x0, 0x0}, {0x0, ...}})
github.com/docker/[email protected]+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 15 [select]:
github.com/docker/compose/v2/pkg/progress.(*ttyWriter).Start(0xc00063a800, {0x2c96710, 0x42d02e0})
github.com/docker/compose/v2/pkg/progress/tty.go:54 +0xfa
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/[email protected]/errgroup/errgroup.go:79 +0x50
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 1
golang.org/x/[email protected]/errgroup/errgroup.go:76 +0x96

goroutine 12 [syscall]:
syscall.SyscallN(0x424ca40?, {0xc000157f08?, 0x0?, 0xc000696530?})
runtime/syscall_windows.go:500 +0x1e
github.com/Microsoft/go-winio.getQueuedCompletionStatus(0x204, 0x0?, 0x0?, 0x0?, 0xffffffff)
github.com/Microsoft/[email protected]/zsyscall_windows.go:327 +0xb5
github.com/Microsoft/go-winio.ioCompletionProcessor(0x204)
github.com/Microsoft/[email protected]/file.go:162 +0x85
created by github.com/Microsoft/go-winio.initIO in goroutine 11
github.com/Microsoft/[email protected]/file.go:58 +0x5d

goroutine 13 [select]:
github.com/Microsoft/go-winio.(*win32File).asyncIO(0xc000121130, 0xc0005344b0, 0xc000121168, 0x0, {0x2c6da20, 0x4137158})
github.com/Microsoft/[email protected]/file.go:191 +0x15e
github.com/Microsoft/go-winio.(*win32File).Read(0xc000121130, {0xc0004e3000, 0x1000, 0x1000})
github.com/Microsoft/[email protected]/file.go:234 +0x115
github.com/Microsoft/go-winio.(*win32MessageBytePipe).Read(0xc0002f8fc0, {0xc0004e3000?, 0x0?, 0x0?})
github.com/Microsoft/[email protected]/pipe.go:181 +0x36
net/http.(*persistConn).Read(0xc00041cc60, {0xc0004e3000?, 0x81fde5?, 0x2454080?})
net/http/transport.go:2052 +0x4a
bufio.(*Reader).fill(0xc000109c20)
bufio/bufio.go:110 +0x103
bufio.(*Reader).Peek(0xc000109c20, 0x1)
bufio/bufio.go:148 +0x53
net/http.(*persistConn).readLoop(0xc00041cc60)
net/http/transport.go:2205 +0x185
created by net/http.(*Transport).dialConn in goroutine 11
net/http/transport.go:1874 +0x154f

goroutine 14 [select]:
net/http.(*persistConn).writeLoop(0xc00041cc60)
net/http/transport.go:2519 +0xe7
created by net/http.(*Transport).dialConn in goroutine 11
net/http/transport.go:1875 +0x15a5

goroutine 37 [select]:
go.opentelemetry.io/otel/sdk/trace.(*batchSpanProcessor).processQueue(0xc0005be000)
go.opentelemetry.io/otel/[email protected]/trace/batch_span_processor.go:302 +0x114
go.opentelemetry.io/otel/sdk/trace.NewBatchSpanProcessor.func1()
go.opentelemetry.io/otel/[email protected]/trace/batch_span_processor.go:117 +0x4e
created by go.opentelemetry.io/otel/sdk/trace.NewBatchSpanProcessor in goroutine 1
go.opentelemetry.io/otel/[email protected]/trace/batch_span_processor.go:115 +0x2e5

goroutine 38 [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 39 [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 40 [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 16 [semacquire]:
sync.runtime_Semacquire(0xc0004aa138?)
runtime/sema.go:71 +0x25
sync.(*WaitGroup).Wait(0x26a5940?)
sync/waitgroup.go:118 +0x48
golang.org/x/sync/errgroup.(*Group).Wait(0xc000536040)
golang.org/x/[email protected]/errgroup/errgroup.go:56 +0x25
github.com/docker/compose/v2/pkg/progress.RunWithStatus({0x2c96b48, 0xc0005340f0}, 0xc0003deac0, 0xc00012cf90, {0x28abdf9, 0x7})
github.com/docker/compose/v2/pkg/progress/writer.go:97 +0x225
github.com/docker/compose/v2/pkg/progress.Run({0x2c96b48, 0xc0005340f0}, 0xc000534150, 0xc00012cf90)
github.com/docker/compose/v2/pkg/progress/writer.go:61 +0x85
github.com/docker/compose/v2/pkg/compose.(*composeService).pullRequiredImages(0xc00013bd80, {0x2c96b48, 0xc0005340f0}, 0xc00050cea0, 0xc0005e7230, 0x0)
github.com/docker/compose/v2/pkg/compose/pull.go:320 +0x2ef
github.com/docker/compose/v2/pkg/compose.(*composeService).ensureImagesExists.func1({0x2c96b48?, 0xc0005340f0?})
github.com/docker/compose/v2/pkg/compose/build.go:278 +0x37
github.com/docker/compose/v2/pkg/compose.(*composeService).ensureImagesExists.SpanWrapFunc.func3({0x2c96b48, 0xc0005e7200})
github.com/docker/compose/v2/internal/tracing/wrap.go:43 +0x13d
github.com/docker/compose/v2/pkg/compose.(*composeService).ensureImagesExists(0xc00013bd80, {0x2c96b48, 0xc0005e7200}, 0xc00050cea0, 0xc00063a780, 0x0)
github.com/docker/compose/v2/pkg/compose/build.go:280 +0x29e
github.com/docker/compose/v2/pkg/compose.(*composeService).create(0xc00013bd80, {0x2c96b48, 0xc0005e7200}, 0xc00050cea0, {0xc00063a780, {0xc00058c020, 0x2, 0x2}, 0x0, 0x0, ...})
github.com/docker/compose/v2/pkg/compose/create.go:83 +0xdf
github.com/docker/compose/v2/pkg/compose.(*composeService).Up.func1({0x2c96b48, 0xc0005e7200})
github.com/docker/compose/v2/pkg/compose/up.go:41 +0x85
github.com/docker/compose/v2/pkg/compose.(*composeService).Up.SpanWrapFunc.func5({0x2c96b48, 0xc0005e71d0})
github.com/docker/compose/v2/internal/tracing/wrap.go:43 +0x13d
github.com/docker/compose/v2/pkg/progress.Run.func1({0x2c96b48?, 0xc0005e71d0?})
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/[email protected]/errgroup/errgroup.go:79 +0x50
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 1
golang.org/x/[email protected]/errgroup/errgroup.go:76 +0x96

goroutine 41 [select]:
github.com/docker/compose/v2/pkg/progress.(*ttyWriter).Start(0xc0003a6000, {0x2c96710, 0x42d02e0})
github.com/docker/compose/v2/pkg/progress/tty.go:54 +0xfa
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/[email protected]/errgroup/errgroup.go:79 +0x50
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 16
golang.org/x/[email protected]/errgroup/errgroup.go:76 +0x96

goroutine 67 [select]:
github.com/Microsoft/go-winio.(*win32File).asyncIO(0xc0001211e0, 0xc000656420, 0xc000121218, 0x0, {0x2c6da20, 0x4137158})
github.com/Microsoft/[email protected]/file.go:191 +0x15e
github.com/Microsoft/go-winio.(*win32File).Read(0xc0001211e0, {0xc000619000, 0x1000, 0x1000})
github.com/Microsoft/[email protected]/file.go:234 +0x115
github.com/Microsoft/go-winio.(*win32MessageBytePipe).Read(0xc0000965e0, {0xc000619000?, 0xc000600808?, 0xc000600d40?})
github.com/Microsoft/[email protected]/pipe.go:181 +0x36
net/http.(*persistConn).Read(0xc000116120, {0xc000619000?, 0x81fde5?, 0x2454080?})
net/http/transport.go:2052 +0x4a
bufio.(*Reader).fill(0xc0008d22a0)
bufio/bufio.go:110 +0x103
bufio.(*Reader).Peek(0xc0008d22a0, 0x1)
bufio/bufio.go:148 +0x53
net/http.(*persistConn).readLoop(0xc000116120)
net/http/transport.go:2205 +0x185
created by net/http.(*Transport).dialConn in goroutine 66
net/http/transport.go:1874 +0x154f

goroutine 68 [select]:
net/http.(*persistConn).writeLoop(0xc000116120)
net/http/transport.go:2519 +0xe7
created by net/http.(*Transport).dialConn in goroutine 66
net/http/transport.go:1875 +0x15a5

goroutine 42 [semacquire]:
sync.runtime_Semacquire(0x0?)
runtime/sema.go:71 +0x25
sync.(*WaitGroup).Wait(0xc000534120?)
sync/waitgroup.go:118 +0x48
golang.org/x/sync/errgroup.(*Group).Wait(0xc0005360c0)
golang.org/x/[email protected]/errgroup/errgroup.go:56 +0x25
github.com/docker/compose/v2/pkg/compose.(*composeService).pullRequiredImages.func1({0x2c96b48, 0xc0005341b0})
github.com/docker/compose/v2/pkg/compose/pull.go:340 +0x39b
github.com/docker/compose/v2/pkg/progress.Run.func1({0x2c96b48?, 0xc0005341b0?})
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/[email protected]/errgroup/errgroup.go:79 +0x50
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 16
golang.org/x/[email protected]/errgroup/errgroup.go:76 +0x96
Error: executing C:\Program Files\Docker\Docker\resources\bin\docker-compose.exe up: exit status 2

Steps To Reproduce

No response

Compose Version

Docker Compose version v2.35.1-desktop.1

Docker Environment

Client:
 Version:    28.1.1
 Context:    desktop-linux
 Debug Mode: false
 Plugins:
  ai: Docker AI Agent - Ask Gordon (Docker Inc.)
    Version:  v1.1.7
    Path:     C:\Program Files\Docker\cli-plugins\docker-ai.exe     
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.23.0-desktop.1
    Path:     C:\Program Files\Docker\cli-plugins\docker-buildx.exe 
  cloud: Docker Cloud (Docker Inc.)
    Version:  v0.3.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-cloud.exe  
  compose: Docker Compose (Docker Inc.)
    Version:  v2.35.1-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.38
    Path:     C:\Program Files\Docker\cli-plugins\docker-debug.exe  
  desktop: Docker Desktop commands (Docker Inc.)
    Version:  v0.1.8
    Path:     C:\Program Files\Docker\cli-plugins\docker-desktop.exe
  dev: Docker Dev Environments (Docker Inc.)
    Version:  v0.1.2
    Path:     C:\Program Files\Docker\cli-plugins\docker-dev.exe
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.27
    Path:     C:\Program Files\Docker\cli-plugins\docker-extension.exe
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v1.4.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-init.exe
  mcp: Docker MCP Plugin (Docker Inc.)
    Version:  dev
    Path:     C:\Program Files\Docker\cli-plugins\docker-mcp.exe
  model: Docker Model Runner (Docker Inc.)
    Version:  v0.1.11
    Path:     C:\Program Files\Docker\cli-plugins\docker-model.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.17.1
    Path:     C:\Program Files\Docker\cli-plugins\docker-scout.exe

Server:
error during connect: Get "http://%2F%2F.%2Fpipe%2FdockerDesktopLinuxEngine/v1.49/info": open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified.

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions