Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] 2.15.0 regression: building multiple containers crashes (fatal error: concurrent map writes) #10150

Closed
nocive opened this issue Jan 6, 2023 · 2 comments

Comments

@nocive
Copy link

nocive commented Jan 6, 2023

Description

15:53:12  + docker compose build app1 app2 app3 app4 app5
(...)
15:53:12  fatal error: concurrent map writes
15:53:12  fatal error: concurrent map writes
15:53:12  
15:53:12  goroutine 28 [running]:
15:53:12  github.com/docker/compose/v2/pkg/compose.(*composeService).build.func1({0x20a02e0, 0xc000b41cc0}, {0xc0001f0a90?, 0x10?})
15:53:12  	github.com/docker/compose/v2/pkg/compose/build.go:95 +0x652
15:53:12  github.com/docker/compose/v2/pkg/compose.(*graphTraversal).run.func1()
15:53:12  	github.com/docker/compose/v2/pkg/compose/dependencies.go:127 +0x63
15:53:12  golang.org/x/sync/errgroup.(*Group).Go.func1()
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x64
15:53:12  created by golang.org/x/sync/errgroup.(*Group).Go
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5
15:53:12  
15:53:12  goroutine 1 [semacquire]:
15:53:12  sync.runtime_Semacquire(0xc0000061a0?)
15:53:12  	runtime/sema.go:62 +0x25
15:53:12  sync.(*WaitGroup).Wait(0x2f1f101?)
15:53:12  	sync/waitgroup.go:139 +0x52
15:53:12  golang.org/x/sync/errgroup.(*Group).Wait(0xc000964a40)
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:53 +0x27
15:53:12  github.com/docker/compose/v2/pkg/progress.RunWithStatus({0x20a02e0, 0xc00012ecc0}, 0xc0001b60d0)
15:53:12  	github.com/docker/compose/v2/pkg/progress/writer.go:89 +0x20f
15:53:12  github.com/docker/compose/v2/pkg/progress.Run({0x20a02e0, 0xc00012ecc0}, 0xc000c325b0)
15:53:12  	github.com/docker/compose/v2/pkg/progress/writer.go:60 +0x6d
15:53:12  github.com/docker/compose/v2/pkg/compose.(*composeService).Build(0xc000117920, {0x20a02e0, 0xc00012ecc0}, 0xc0001fe3c0, {0x0, {0x1d8fe88, 0x4}, 0xc000a091d0, 0x0, 0x0, ...})
15:53:12  	github.com/docker/compose/v2/pkg/compose/build.go:45 +0xf0
15:53:12  github.com/docker/compose/v2/pkg/api.(*ServiceProxy).Build(0xc0004c60e0, {0x20a02e0, 0xc00012ecc0}, 0x1d8fe88?, {0x0, {0x1d8fe88, 0x4}, 0xc000a091d0, 0x0, 0x0, ...})
15:53:12  	github.com/docker/compose/v2/pkg/api/proxy.go:109 +0x143
15:53:12  github.com/docker/compose/v2/cmd/compose.runBuild({0x20a02e0, 0xc00012ecc0}, {0x20b5698, 0xc0004c60e0}, {0xc00014e800, {0x0}, 0x0, 0x0, {0x1d8fe88, 0x4}, ...}, ...)
15:53:12  	github.com/docker/compose/v2/cmd/compose/build.go:141 +0x236
15:53:12  github.com/docker/compose/v2/cmd/compose.buildCommand.func2({0x20a02e0, 0xc00012ecc0}, 0x2?, {0xc00014f200, 0x8, 0x8})
15:53:12  	github.com/docker/compose/v2/cmd/compose/build.go:107 +0x1d0
15:53:12  github.com/docker/compose/v2/cmd/compose.AdaptCmd.func1(0xc00066d500, {0xc00014f200, 0x8, 0x8})
15:53:12  	github.com/docker/compose/v2/cmd/compose/compose.go:69 +0x21c
15:53:12  github.com/spf13/cobra.(*Command).execute(0xc00066d500, {0xc000151920, 0x8, 0x8})
15:53:12  	github.com/spf13/cobra@v1.6.1/command.go:916 +0x862
15:53:12  github.com/spf13/cobra.(*Command).ExecuteC(0xc000670600)
15:53:12  	github.com/spf13/cobra@v1.6.1/command.go:1044 +0x3bd
15:53:12  github.com/spf13/cobra.(*Command).Execute(...)
15:53:12  	github.com/spf13/cobra@v1.6.1/command.go:968
15:53:12  github.com/docker/cli/cli-plugins/plugin.RunPlugin(0x40da87?, 0xc000053b00, {{0x1d90627, 0x5}, {0x1d99754, 0xb}, {0x207fd50, 0x7}, {0x0, 0x0}, ...})
15:53:12  	github.com/docker/cli@v20.10.20+incompatible/cli-plugins/plugin/plugin.go:51 +0x130
15:53:12  github.com/docker/cli/cli-plugins/plugin.Run(0x1ea6a20, {{0x1d90627, 0x5}, {0x1d99754, 0xb}, {0x207fd50, 0x7}, {0x0, 0x0}, {0x0, ...}, ...})
15:53:12  	github.com/docker/cli@v20.10.20+incompatible/cli-plugins/plugin/plugin.go:64 +0xee
15:53:12  main.pluginMain()
15:53:12  	github.com/docker/compose/v2/cmd/main.go:36 +0xdf
15:53:12  main.main()
15:53:12  	github.com/docker/compose/v2/cmd/main.go:68 +0x198
15:53:12  
15:53:12  goroutine 7 [chan send]:
15:53:12  github.com/docker/compose/v2/cmd/formatter.init.0.func1()
15:53:12  	github.com/docker/compose/v2/cmd/formatter/colors.go:119 +0x1de
15:53:12  created by github.com/docker/compose/v2/cmd/formatter.init.0
15:53:12  	github.com/docker/compose/v2/cmd/formatter/colors.go:103 +0x8b
15:53:12  
15:53:12  goroutine 11 [chan receive]:
15:53:12  github.com/docker/compose/v2/cmd/compose.AdaptCmd.func1.1()
15:53:12  	github.com/docker/compose/v2/cmd/compose/compose.go:65 +0x28
15:53:12  created by github.com/docker/compose/v2/cmd/compose.AdaptCmd.func1
15:53:12  	github.com/docker/compose/v2/cmd/compose/compose.go:64 +0x1da
15:53:12  
15:53:12  goroutine 9 [IO wait]:
15:53:12  internal/poll.runtime_pollWait(0x7f794344f308, 0x72)
15:53:12  	runtime/netpoll.go:305 +0x89
15:53:12  internal/poll.(*pollDesc).wait(0xc00014f300?, 0xc000673000?, 0x0)
15:53:12  	internal/poll/fd_poll_runtime.go:84 +0x32
15:53:12  internal/poll.(*pollDesc).waitRead(...)
15:53:12  	internal/poll/fd_poll_runtime.go:89
15:53:12  internal/poll.(*FD).Read(0xc00014f300, {0xc000673000, 0x1000, 0x1000})
15:53:12  	internal/poll/fd_unix.go:167 +0x25a
15:53:12  net.(*netFD).Read(0xc00014f300, {0xc000673000?, 0x0?, 0x4?})
15:53:12  	net/fd_posix.go:55 +0x29
15:53:12  net.(*conn).Read(0xc000013668, {0xc000673000?, 0xc000013660?, 0x1?})
15:53:12  	net/net.go:183 +0x45
15:53:12  net/http.(*persistConn).Read(0xc000603b00, {0xc000673000?, 0x44bb40?, 0xc000020ec8?})
15:53:12  	net/http/transport.go:1929 +0x4e
15:53:12  bufio.(*Reader).fill(0xc000637a40)
15:53:12  	bufio/bufio.go:106 +0xff
15:53:12  bufio.(*Reader).Peek(0xc000637a40, 0x1)
15:53:12  	bufio/bufio.go:144 +0x5d
15:53:12  net/http.(*persistConn).readLoop(0xc000603b00)
15:53:12  	net/http/transport.go:2093 +0x1ac
15:53:12  created by net/http.(*Transport).dialConn
15:53:12  	net/http/transport.go:1751 +0x173e
15:53:12  
15:53:12  goroutine 10 [select]:
15:53:12  net/http.(*persistConn).writeLoop(0xc000603b00)
15:53:12  	net/http/transport.go:2392 +0xf5
15:53:12  created by net/http.(*Transport).dialConn
15:53:12  	net/http/transport.go:1752 +0x1791
15:53:12  
15:53:12  goroutine 23 [syscall]:
15:53:12  os/signal.signal_recv()
15:53:12  	runtime/sigqueue.go:152 +0x2f
15:53:12  os/signal.loop()
15:53:12  	os/signal/signal_unix.go:23 +0x19
15:53:12  created by os/signal.Notify.func1.1
15:53:12  	os/signal/signal.go:151 +0x2a
15:53:12  
15:53:12  goroutine 12 [chan receive]:
15:53:12  github.com/docker/compose/v2/cmd/compose.AdaptCmd.func1.1()
15:53:12  	github.com/docker/compose/v2/cmd/compose/compose.go:65 +0x28
15:53:12  created by github.com/docker/compose/v2/cmd/compose.AdaptCmd.func1
15:53:12  	github.com/docker/compose/v2/cmd/compose/compose.go:64 +0x1da
15:53:12  
15:53:12  goroutine 27 [runnable]:
15:53:12  golang.org/x/sync/errgroup.(*Group).Go.func1()
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72
15:53:12  created by golang.org/x/sync/errgroup.(*Group).Go
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5
15:53:12  
15:53:12  goroutine 13 [select]:
15:53:12  github.com/docker/compose/v2/pkg/progress.(*plainWriter).Start(0xc000569380, {0x20a0318, 0xc0000540b0})
15:53:12  	github.com/docker/compose/v2/pkg/progress/plain.go:31 +0x6d
15:53:12  github.com/docker/compose/v2/pkg/progress.RunWithStatus.func1()
15:53:12  	github.com/docker/compose/v2/pkg/progress/writer.go:75 +0x30
15:53:12  golang.org/x/sync/errgroup.(*Group).Go.func1()
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x64
15:53:12  created by golang.org/x/sync/errgroup.(*Group).Go
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5
15:53:12  
15:53:12  goroutine 14 [semacquire]:
15:53:12  sync.runtime_Semacquire(0xc000b41ec0?)
15:53:12  	runtime/sema.go:62 +0x25
15:53:12  sync.(*WaitGroup).Wait(0x20a02e0?)
15:53:12  	sync/waitgroup.go:139 +0x52
15:53:12  golang.org/x/sync/errgroup.(*Group).Wait(0xc000b41d00)
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:53 +0x27
15:53:12  github.com/docker/compose/v2/pkg/compose.(*graphTraversal).visit(0xc0008f3590, {0x20a0388, 0xc000a09230}, 0x0?)
15:53:12  	github.com/docker/compose/v2/pkg/compose/dependencies.go:108 +0x10f
15:53:12  github.com/docker/compose/v2/pkg/compose.InDependencyOrder({0x20a0388, 0xc000a09230}, 0x0?, 0xc0001f8700, {0xc000963de8, 0x1, 0x0?})
15:53:12  	github.com/docker/compose/v2/pkg/compose/dependencies.go:86 +0x110
15:53:12  github.com/docker/compose/v2/pkg/compose.(*composeService).build(0xc000117920, {0x20a0388, 0xc000a09230}, 0xc0001fe3c0, {0x0, {0x1d8fe88, 0x4}, 0xc000a091d0, 0x0, 0x0, ...})
15:53:12  	github.com/docker/compose/v2/pkg/compose/build.go:54 +0x218
15:53:12  github.com/docker/compose/v2/pkg/compose.(*composeService).Build.func1({0x20a0388?, 0xc000a09230?})
15:53:12  	github.com/docker/compose/v2/pkg/compose/build.go:46 +0x65
15:53:12  github.com/docker/compose/v2/pkg/progress.Run.func1({0x20a0388?, 0xc000a09230?})
15:53:12  	github.com/docker/compose/v2/pkg/progress/writer.go:61 +0x27
15:53:12  github.com/docker/compose/v2/pkg/progress.RunWithStatus.func2()
15:53:12  	github.com/docker/compose/v2/pkg/progress/writer.go:82 +0x87
15:53:12  golang.org/x/sync/errgroup.(*Group).Go.func1()
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x64
15:53:12  created by golang.org/x/sync/errgroup.(*Group).Go
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5
15:53:12  
15:53:12  goroutine 81 [running]:
15:53:12  	goroutine running on other thread; stack unavailable
15:53:12  created by golang.org/x/sync/errgroup.(*Group).Go
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5
15:53:12  
15:53:12  goroutine 16 [runnable]:
15:53:12  sync.runtime_SemacquireMutex(0x424285?, 0x58?, 0x4504d4?)
15:53:12  	runtime/sema.go:77 +0x25
15:53:12  sync.(*Mutex).lockSlow(0xc0002d3c68)
15:53:12  	sync/mutex.go:171 +0x165
15:53:12  sync.(*Mutex).Lock(...)
15:53:12  	sync/mutex.go:90
15:53:12  sync.(*RWMutex).Lock(0xc000b55e08?)
15:53:12  	sync/rwmutex.go:147 +0x36
15:53:12  github.com/docker/compose/v2/pkg/compose.(*Graph).FilterChildren(0xc0002d3c60, {0xc000057cc8, 0x12}, 0x0)
15:53:12  	github.com/docker/compose/v2/pkg/compose/dependencies.go:314 +0x85
15:53:12  github.com/docker/compose/v2/pkg/compose.filterChildren(0xc000b41d00?, {0xc000057cc8?, 0x14?}, 0x6?)
15:53:12  	github.com/docker/compose/v2/pkg/compose/dependencies.go:309 +0x1e
15:53:12  github.com/docker/compose/v2/pkg/compose.(*graphTraversal).run(0xc0008f3590, {0x20a02e0?, 0xc000b41cc0}, 0xc0002d3c60, 0xc000b41d00, {0xc000a66000, 0x29, 0x0?})
15:53:12  	github.com/docker/compose/v2/pkg/compose/dependencies.go:116 +0xa4
15:53:12  github.com/docker/compose/v2/pkg/compose.(*graphTraversal).run.func1()
15:53:12  	github.com/docker/compose/v2/pkg/compose/dependencies.go:134 +0xcf
15:53:12  golang.org/x/sync/errgroup.(*Group).Go.func1()
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x64
15:53:12  created by golang.org/x/sync/errgroup.(*Group).Go
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5
15:53:12  
15:53:12  goroutine 26 [runnable]:
15:53:12  golang.org/x/sync/errgroup.(*Group).Go.func1()
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72
15:53:12  created by golang.org/x/sync/errgroup.(*Group).Go
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5
15:53:12  
15:53:12  goroutine 51 [runnable]:
15:53:12  sync.runtime_SemacquireMutex(0x203000?, 0x0?, 0x203000?)
15:53:12  	runtime/sema.go:77 +0x25
15:53:12  sync.(*Mutex).lockSlow(0xc0002d3c68)
15:53:12  	sync/mutex.go:171 +0x165
15:53:12  sync.(*Mutex).Lock(...)
15:53:12  	sync/mutex.go:90
15:53:12  sync.(*RWMutex).Lock(0x1?)
15:53:12  	sync/rwmutex.go:147 +0x36
15:53:12  github.com/docker/compose/v2/pkg/compose.(*Graph).FilterChildren(0xc0002d3c60, {0xc00074a018, 0x18}, 0x0)
15:53:12  	github.com/docker/compose/v2/pkg/compose/dependencies.go:314 +0x85
15:53:12  github.com/docker/compose/v2/pkg/compose.filterChildren(0xc0003f3e10?, {0xc00074a018?, 0x0?}, 0x0?)
15:53:12  	github.com/docker/compose/v2/pkg/compose/dependencies.go:309 +0x1e
15:53:12  github.com/docker/compose/v2/pkg/compose.(*graphTraversal).run(0xc0008f3590, {0x20a02e0?, 0xc000b41cc0}, 0xc0002d3c60, 0xc000b41d00, {0xc000c2c600, 0x8, 0x0?})
15:53:12  	github.com/docker/compose/v2/pkg/compose/dependencies.go:116 +0xa4
15:53:12  github.com/docker/compose/v2/pkg/compose.(*graphTraversal).run.func1()
15:53:12  	github.com/docker/compose/v2/pkg/compose/dependencies.go:134 +0xcf
15:53:12  golang.org/x/sync/errgroup.(*Group).Go.func1()
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x64
15:53:12  created by golang.org/x/sync/errgroup.(*Group).Go
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5
15:53:12  
15:53:12  goroutine 52 [runnable]:
15:53:12  sync.runtime_SemacquireMutex(0x4745ae?, 0x58?, 0x4504d4?)
15:53:12  	runtime/sema.go:77 +0x25
15:53:12  sync.(*Mutex).lockSlow(0xc0002d3c68)
15:53:12  	sync/mutex.go:171 +0x165
15:53:12  sync.(*Mutex).Lock(...)
15:53:12  	sync/mutex.go:90
15:53:12  sync.(*RWMutex).Lock(0xc000b87e08?)
15:53:12  	sync/rwmutex.go:147 +0x36
15:53:12  github.com/docker/compose/v2/pkg/compose.(*Graph).FilterChildren(0xc0002d3c60, {0xc00074a180, 0x17}, 0x0)
15:53:12  	github.com/docker/compose/v2/pkg/compose/dependencies.go:314 +0x85
15:53:12  github.com/docker/compose/v2/pkg/compose.filterChildren(0xc0005beb60?, {0xc00074a180?, 0x0?}, 0x1?)
15:53:12  	github.com/docker/compose/v2/pkg/compose/dependencies.go:309 +0x1e
15:53:12  github.com/docker/compose/v2/pkg/compose.(*graphTraversal).run(0xc0008f3590, {0x20a02e0?, 0xc000b41cc0}, 0xc0002d3c60, 0xc000b41d00, {0xc000c30580, 0xb, 0x0?})
15:53:12  	github.com/docker/compose/v2/pkg/compose/dependencies.go:116 +0xa4
15:53:12  github.com/docker/compose/v2/pkg/compose.(*graphTraversal).run.func1()
15:53:12  	github.com/docker/compose/v2/pkg/compose/dependencies.go:134 +0xcf
15:53:12  golang.org/x/sync/errgroup.(*Group).Go.func1()
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x64
15:53:12  created by golang.org/x/sync/errgroup.(*Group).Go
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5
15:53:12  
15:53:12  goroutine 66 [runnable]:
15:53:12  syscall.Syscall(0x8?, 0x0?, 0x0?, 0xc000a77d10?)
15:53:12  	syscall/syscall_linux.go:68 +0x27
15:53:12  syscall.Close(0xc000a77d10?)
15:53:12  	syscall/zsyscall_linux_amd64.go:295 +0x2a
15:53:12  internal/poll.(*FD).destroy(0xc000a161e0)
15:53:12  	internal/poll/fd_unix.go:84 +0x51
15:53:12  internal/poll.(*FD).decref(0x0?)
15:53:12  	internal/poll/fd_mutex.go:213 +0x53
15:53:12  internal/poll.(*FD).Close(0xc000a161e0)
15:53:12  	internal/poll/fd_unix.go:107 +0x4f
15:53:12  os.(*file).close(0xc000a161e0)
15:53:12  	os/file_unix.go:252 +0xad
15:53:12  os.(*File).Close(...)
15:53:12  	os/file_posix.go:25
15:53:12  github.com/docker/docker/pkg/ioutils.(*atomicFileWriter).Close(0xc000818600)
15:53:12  	github.com/docker/docker@v20.10.20+incompatible/pkg/ioutils/fswriters.go:71 +0xfd
15:53:12  github.com/docker/docker/pkg/ioutils.AtomicWriteFile({0xc000691da0?, 0xc000818540?}, {0xc0004568c0, 0x3e, 0x40}, 0x0?)
15:53:12  	github.com/docker/docker@v20.10.20+incompatible/pkg/ioutils/fswriters.go:40 +0xe2
15:53:12  github.com/docker/buildx/store.(*Txn).reset(0xc000c80020, {0x1db69c5?, 0x2083a80?})
15:53:12  	github.com/docker/buildx@v0.9.1/store/store.go:139 +0xf6
15:53:12  github.com/docker/buildx/store.(*Txn).Current(0xc000c80020, {0x1db69c5, 0x1b})
15:53:12  	github.com/docker/buildx@v0.9.1/store/store.go:180 +0x2f0
15:53:12  github.com/docker/buildx/store/storeutil.GetCurrentInstance(0x20afa98?, {0x20afa98, 0xc0004c6000})
15:53:12  	github.com/docker/buildx@v0.9.1/store/storeutil/storeutil.go:94 +0x47
15:53:12  github.com/docker/compose/v2/pkg/compose.(*composeService).getDrivers(0xc000117920, {0x20a02e0, 0xc000b41cc0})
15:53:12  	github.com/docker/compose/v2/pkg/compose/build_buildkit.go:90 +0xb5
15:53:12  github.com/docker/compose/v2/pkg/compose.(*composeService).doBuildBuildkit(0xc000117920, {0x20a02e0, 0xc000b41cc0}, 0xc000cc8000?, {0x1d8fe88, 0x4})
15:53:12  	github.com/docker/compose/v2/pkg/compose/build_buildkit.go:47 +0x87
15:53:12  github.com/docker/compose/v2/pkg/compose.(*composeService).doBuild(0xc000117920, {0x20a02e0, 0xc000b41cc0}, 0x4?, 0xc000a09260, {0x1d8fe88, 0x4})
15:53:12  	github.com/docker/compose/v2/pkg/compose/build.go:219 +0xc5
15:53:12  github.com/docker/compose/v2/pkg/compose.(*composeService).build.func1({0x20a02e0, 0xc000b41cc0}, {0xc000057cf8?, 0x15?})
15:53:12  	github.com/docker/compose/v2/pkg/compose/build.go:96 +0x6e9
15:53:12  github.com/docker/compose/v2/pkg/compose.(*graphTraversal).run.func1()
15:53:12  	github.com/docker/compose/v2/pkg/compose/dependencies.go:127 +0x63
15:53:12  golang.org/x/sync/errgroup.(*Group).Go.func1()
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x64
15:53:12  created by golang.org/x/sync/errgroup.(*Group).Go
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5
15:53:12  
15:53:12  goroutine 29 [runnable]:
15:53:12  golang.org/x/sync/errgroup.(*Group).Go.func1()
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72
15:53:12  created by golang.org/x/sync/errgroup.(*Group).Go
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5
15:53:12  
15:53:12  goroutine 30 [runnable]:
15:53:12  golang.org/x/sync/errgroup.(*Group).Go.func1()
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72
15:53:12  created by golang.org/x/sync/errgroup.(*Group).Go
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5
15:53:12  
15:53:12  goroutine 32 [runnable]:
15:53:12  golang.org/x/sync/errgroup.(*Group).Go.func1()
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72
15:53:12  created by golang.org/x/sync/errgroup.(*Group).Go
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5
15:53:12  
15:53:12  goroutine 81 [running]:
15:53:12  github.com/docker/compose/v2/pkg/compose.(*composeService).build.func1({0x20a02e0, 0xc000b41cc0}, {0xc0002db990?, 0xe?})
15:53:12  	github.com/docker/compose/v2/pkg/compose/build.go:95 +0x652
15:53:12  github.com/docker/compose/v2/pkg/compose.(*graphTraversal).run.func1()
15:53:12  	github.com/docker/compose/v2/pkg/compose/dependencies.go:127 +0x63
15:53:12  golang.org/x/sync/errgroup.(*Group).Go.func1()
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x64
15:53:12  created by golang.org/x/sync/errgroup.(*Group).Go
15:53:12  	golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5

Steps To Reproduce

We are observing this in a big docker compose project of ours which exhibits no problems with other docker compose versions. We seem to be able to consistently reproduce it but it doesn't happen with any subset of apps from the project.

  1. Call docker compose build with a subset of apps from your project
  2. Watch it crash after a while

Compose Version

2.15.0

Docker Environment

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc., v0.9.1)
  compose: Docker Compose (Docker Inc., v2.15.0)
  scan: Docker Scan (Docker Inc., v0.1.0-227-g061fe0a0c5)

Server:
 Containers: 138
  Running: 45
  Paused: 0
  Stopped: 93
 Images: 158
 Server Version: 20.10.20
 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: 96df0994faabc1944fc614e52b0b3c6feb609a57.m
 runc version: 
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
  cgroupns
 Kernel Version: 5.18.1-arch1-1
 Operating System: xxx
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 15.49GiB
 Name: xxx
 ID: xxx
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Username: nocive
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: true
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

Anything else?

No response

@ndeloof
Copy link
Contributor

ndeloof commented Jan 9, 2023

This has been addressed by #10151
We will run a new release today

@nocive
Copy link
Author

nocive commented Jan 10, 2023

thank you 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants