aspect-build / aspect-cli

correct, fast, usable: choose three
https://aspect.build/cli
Apache License 2.0
93 stars 22 forks source link

[Bug]: Concurrent modification panic when using aspect lint #723

Open ewhauser opened 4 months ago

ewhauser commented 4 months ago

What happened?

When running aspect lint, I am sporadically getting the following error:

fatal error: concurrent map iteration and map write

goroutine 1 [running]:
aspect.build/cli/pkg/aspect/lint.(*Linter).Run(0xc0000ba3c0, {0x971da8, 0xc0005dd3b0}, 0xc000e45508, {0xc000325520, 0x2, 0x2})
    pkg/aspect/lint/lint.go:257 +0xc25
aspect.build/cli/pkg/plugin/system.(*pluginSystem).createBesBackend(0xc0005dc930, {0x971d70, 0x2b1cce0}, 0xc000e45508, {0xc000325520, 0x2, 0x2}, 0xc000e125b0)
    pkg/plugin/system/system.go:264 +0xa23
aspect.build/cli/pkg/plugin/system.(*pluginSystem).BESBackendSubscriberInterceptor.func1({0x971d70?, 0x2b1cce0?}, 0x0?, {0xc000325520?, 0xc000f878c8?, 0x1cdaaa5?}, 0x7f1e58592601?)
    pkg/plugin/system/system.go:174 +0x3e
aspect.build/cli/cmd/aspect/lint.NewCmd.Run.func3.1({0x971d70?, 0x2b1cce0?}, 0x2?, {0xc000325520?, 0xc000f87901?, 0x1500000001af7185?})
    pkg/interceptors/run.go:45 +0x2b
aspect.build/cli/cmd/aspect/lint.NewCmd.FlagsInterceptor.func2({0x971d70?, 0x2b1cce0?}, 0xc000e45508?, {0xc0003254e0?, 0x2?, 0x3cf8[40](https://github.com/cadencerpm/monorepo/actions/runs/9899365718/job/27348130881#step:9:42)?}, 0xc0013d84f8?)
    pkg/aspect/root/flags/interceptor.go:79 +0xd6
aspect.build/cli/cmd/aspect/lint.NewCmd.Run.func3.1({0x971d70?, 0x2b1cce0?}, 0xc0013e2640?, {0xc0003254e0?, 0xc0003254e0?, 0xd?})
    pkg/interceptors/run.go:45 +0x2b
aspect.build/cli/cmd/aspect/lint.NewCmd.Run.func3(0xc000e45508, {0xc0003254e0, 0x2, 0x2})
    pkg/interceptors/run.go:48 +0xed
github.com/spf13/cobra.(*Command).execute(0xc000e45508, {0xc0003254e0, 0x2, 0x2})
    external/com_github_spf13_cobra/command.go:983 +0xaca
github.com/spf13/cobra.(*Command).ExecuteC(0xc000e3e008)
    external/com_github_spf13_cobra/command.go:1115 +0x3ff
github.com/spf13/cobra.(*Command).Execute(...)
    external/com_github_spf13_cobra/command.go:1039
github.com/spf13/cobra.(*Command).ExecuteContext(0xc0005dc930?, {0x971d70?, 0x2b1cce0?})
    external/com_github_spf13_cobra/command.go:1032 +0x47
main.command({0x979fe0, 0xc00033ade0}, {{0x961140, 0xc000120018}, {0x9611a0, 0xc000120020}, {0x9611a0, 0xc000120028}}, {0xc0005dc8d0, 0x3, ...}, ...)
    cmd/aspect/main.go:103 +0x3bf
main.main()
    cmd/aspect/main.go:72 +0x626

goroutine 6 [IO wait]:
internal/poll.runtime_pollWait(0x7f1e602fbc80, 0x72)
    GOROOT/src/runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc000701380?, 0xc000d0c000?, 0x1)
    GOROOT/src/internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
    GOROOT/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000701380, {0xc000d0c000, 0x10000, 0x10000})
    GOROOT/src/internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
    GOROOT/src/os/file_posix.go:29
os.(*File).Read(0xc000120490, {0xc000d0c000?, 0x1af6f45?, 0x7f1ea7d86a68?})
    GOROOT/src/os/file.go:118 +0x52
bufio.(*Reader).fill(0xc000e27f00)
    GOROOT/src/bufio/bufio.go:110 +0x103
bufio.(*Reader).ReadSlice(0xc000e27f00, 0xa)
    GOROOT/src/bufio/bufio.go:376 +0x29
bufio.(*Reader).ReadLine(0xc000e27f00)
    GOROOT/src/bufio/bufio.go:405 +0x25
github.com/hashicorp/go-plugin.(*Client).logStderr(0xc0005a8000, {0xc0000465b0?, 0x0?}, {0x961140, 0xc000120490})
    external/com_github_hashicorp_go_plugin/client.go:1170 +0x29d
created by github.com/hashicorp/go-plugin.(*Client).Start in goroutine 5
    external/com_github_hashicorp_go_plugin/client.go:761 +0x1b13

goroutine 7 [semacquire]:
sync.runtime_Semacquire(0x0?)
    GOROOT/src/runtime/sema.go:62 +0x25
sync.(*WaitGroup).Wait(0x0?)
    GOROOT/src/sync/waitgroup.go:116 +0x48
github.com/hashicorp/go-plugin.(*Client).Start.func2()
    external/com_github_hashicorp_go_plugin/client.go:772 +0xa8
created by github.com/hashicorp/go-plugin.(*Client).Start in goroutine 5
    external/com_github_hashicorp_go_plugin/client.go:764 +0x1b8b

goroutine 8 [IO wait]:
internal/poll.runtime_pollWait(0x7f1e602fbe70, 0x72)
    GOROOT/src/runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc0007012c0?, 0xc0005f8025?, 0x1)
    GOROOT/src/internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
    GOROOT/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0007012c0, {0xc0005f8025, 0xfdb, 0xfdb})
    GOROOT/src/internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
    GOROOT/src/os/file_posix.go:29
os.(*File).Read(0xc000120458, {0xc0005f8025?, 0x1aeee80?, 0xc000502a80?})
    GOROOT/src/os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000485710)
    GOROOT/src/bufio/scan.go:219 +0x81e
github.com/hashicorp/go-plugin.(*Client).Start.func3()
    external/com_github_hashicorp_go_plugin/client.go:800 +0x158
created by github.com/hashicorp/go-plugin.(*Client).Start in goroutine 5
    external/com_github_hashicorp_go_plugin/client.go:795 +0x1c31

goroutine 50 [chan receive]:
github.com/hashicorp/go-plugin.(*Client).Start.func4.1()
    external/com_github_hashicorp_go_plugin/client.go:816 +0x77
created by github.com/hashicorp/go-plugin.(*Client).Start.func4 in goroutine 5
    external/com_github_hashicorp_go_plugin/client.go:814 +0x6e

goroutine 51 [select]:
google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run(0xc000d20[41](https://github.com/cadencerpm/monorepo/actions/runs/9899365718/job/27348130881#step:9:43)0, {0x971de0, 0xc0003f98b0})
    external/org_golang_google_grpc/internal/grpcsync/callback_serializer.go:76 +0x115
created by google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer in goroutine 5
    external/org_golang_google_grpc/internal/grpcsync/callback_serializer.go:52 +0x11a

goroutine 52 [select]:
google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run(0xc000d20440, {0x971de0, 0xc0003f9d10})
    external/org_golang_google_grpc/internal/grpcsync/callback_serializer.go:76 +0x115
created by google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer in goroutine 5
    external/org_golang_google_grpc/internal/grpcsync/callback_serializer.go:52 +0x11a

goroutine 53 [select]:
google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run(0xc000d20470, {0x971de0, 0xc0003f9d60})
    external/org_golang_google_grpc/internal/grpcsync/callback_serializer.go:76 +0x115
created by google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer in goroutine 5
    external/org_golang_google_grpc/internal/grpcsync/callback_serializer.go:52 +0x11a

goroutine 30 [select]:
google.golang.org/grpc.newClientStreamWithParams.func4()
    external/org_golang_google_grpc/stream.go:391 +0x8c
created by google.golang.org/grpc.newClientStreamWithParams in goroutine 5
    external/org_golang_google_grpc/stream.go:390 +0xe08

goroutine 55 [select]:
github.com/hashicorp/go-plugin.(*gRPCBrokerClientImpl).Recv(0xc0009186c0?)
    external/com_github_hashicorp_go_plugin/grpc_broker.go:238 +0x65
github.com/hashicorp/go-plugin.(*GRPCBroker).Run(0xc000886fd0)
    external/com_github_hashicorp_go_plugin/grpc_broker.go:582 +0x4f
created by github.com/hashicorp/go-plugin.newGRPCClient in goroutine 5
    external/com_github_hashicorp_go_plugin/grpc_client.go:72 +0x40e

goroutine 56 [select]:
google.golang.org/grpc/internal/transport.(*Stream).waitOnHeader(0xc00040ad80)
    external/org_golang_google_grpc/internal/transport/transport.go:329 +0x7c
google.golang.org/grpc/internal/transport.(*Stream).RecvCompress(...)
    external/org_golang_google_grpc/internal/transport/transport.go:344
google.golang.org/grpc.(*csAttempt).recvMsg(0xc000d28820, {0x45a[42](https://github.com/cadencerpm/monorepo/actions/runs/9899365718/job/27348130881#step:9:44)0, 0xc000354840}, 0x7f1e602bba18?)
    external/org_golang_google_grpc/stream.go:1070 +0xc9
google.golang.org/grpc.(*clientStream).RecvMsg.func1(0x60?)
    external/org_golang_google_grpc/stream.go:927 +0x1f
google.golang.org/grpc.(*clientStream).withRetry(0xc00040a000, 0xc000cd3e60, 0xc000cd3ea8)
    external/org_golang_google_grpc/stream.go:760 +0x3ae
google.golang.org/grpc.(*clientStream).RecvMsg(0xc00040a000, {0x45a420?, 0xc000354840?})
    external/org_golang_google_grpc/stream.go:926 +0x110
github.com/hashicorp/go-plugin/internal/plugin.(*gRPCBrokerStartStreamClient).Recv(0xc000d20a50)
    external/com_github_hashicorp_go_plugin/internal/plugin/grpc_broker_grpc.pb.go:68 +0x46
github.com/hashicorp/go-plugin.(*gRPCBrokerClientImpl).StartStream(0xc00039[43](https://github.com/cadencerpm/monorepo/actions/runs/9899365718/job/27348130881#step:9:45)40)
    external/com_github_hashicorp_go_plugin/grpc_broker.go:201 +0x1bb
created by github.com/hashicorp/go-plugin.newGRPCClient in goroutine 5
    external/com_github_hashicorp_go_plugin/grpc_client.go:73 +0x[44](https://github.com/cadencerpm/monorepo/actions/runs/9899365718/job/27348130881#step:9:46)a

goroutine 31 [select]:
google.golang.org/grpc/internal/transport.(*Stream).waitOnHeader(0xc00019c5a0)
    external/org_golang_google_grpc/internal/transport/transport.go:329 +0x7c
google.golang.org/grpc/internal/transport.(*Stream).RecvCompress(...)
    external/org_golang_google_grpc/internal/transport/transport.go:344
google.golang.org/grpc.(*csAttempt).recvMsg(0xc000d28750, {0x428ba0, 0xc000e1c050}, 0xc000d315d0?)
    external/org_golang_google_grpc/stream.go:1070 +0xc9
google.golang.org/grpc.(*clientStream).RecvMsg.func1(0x50?)
    external/org_golang_google_grpc/stream.go:927 +0x1f
google.golang.org/grpc.(*clientStream).withRetry(0xc0006b1e60, 0xc000e2be50, 0xc000e2be98)
    external/org_golang_google_grpc/stream.go:776 +0x13a
google.golang.org/grpc.(*clientStream).RecvMsg(0xc0006b1e60, {0x428ba0?, 0xc000e1c050?})
    external/org_golang_google_grpc/stream.go:926 +0x110
github.com/hashicorp/go-plugin/internal/plugin.(*gRPCStdioStreamStdioClient).Recv(0xc000d84290)
    external/com_github_hashicorp_go_plugin/internal/plugin/grpc_stdio_grpc.pb.go:75 +0x46
github.com/hashicorp/go-plugin.(*grpcStdioClient).Run(0xc0004423a0, {0x9611a0, 0xc000120020}, {0x9611a0, 0xc000120028})
    external/com_github_hashicorp_go_plugin/grpc_stdio.go:135 +0xe3
created by github.com/hashicorp/go-plugin.newGRPCClient in goroutine 5
    external/com_github_hashicorp_go_plugin/grpc_client.go:80 +0x56b

goroutine 28 [IO wait]:
internal/poll.runtime_pollWait(0x7f1e602fbb88, 0x72)
    GOROOT/src/runtime/netpoll.go:3[45](https://github.com/cadencerpm/monorepo/actions/runs/9899365718/job/27348130881#step:9:47) +0x85
internal/poll.(*pollDesc).wait(0xc000900000?, 0xc000d9c000?, 0x0)
    GOROOT/src/internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
    GOROOT/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000900000, {0xc000d9c000, 0x8000, 0x8000})
    GOROOT/src/internal/poll/fd_unix.go:164 +0x27a
net.(*netFD).Read(0xc000900000, {0xc000d9c000?, 0x501010000ee01?, 0xc0000a5db0?})
    GOROOT/src/net/fd_posix.go:55 +0x25
net.(*conn).Read(0xc000d8e008, {0xc000d9c000?, 0x202050101?, 0x0?})
    GOROOT/src/net/net.go:179 +0x45
bufio.(*Reader).Read(0xc0006b2120, {0xc00015aac0, 0x9, 0xc?})
    GOROOT/src/bufio/bufio.go:241 +0x197
io.ReadAtLeast({0x9615a0, 0xc0006b2120}, {0xc00015aac0, 0x9, 0x9}, 0x9)
    GOROOT/src/io/io.go:335 +0x90
io.ReadFull(...)
    GOROOT/src/io/io.go:354
golang.org/x/net/http2.readFrameHeader({0xc00015aac0, 0x9, 0xc002006f60?}, {0x9615a0?, 0xc0006b2120?})
    external/org_golang_x_net/http2/frame.go:237 +0x65
golang.org/x/net/http2.(*Framer).ReadFrame(0xc00015aa80)
    external/org_golang_x_net/http2/frame.go:498 +0x85
google.golang.org/grpc/internal/transport.(*http2Client).reader(0xc000dac008, 0xc0006b2180)
    external/org_golang_google_grpc/internal/transport/http2_client.go:1587 +0x22d
created by google.golang.org/grpc/internal/transport.newHTTP2Client in goroutine 54
    external/org_golang_google_grpc/internal/transport/http2_client.go:398 +0x1d5e

goroutine 29 [select]:
google.golang.org/grpc/internal/transport.(*controlBuffer).get(0xc000d8c190, 0x1)
    external/org_golang_google_grpc/internal/transport/controlbuf.go:418 +0x113
google.golang.org/grpc/internal/transport.(*loopyWriter).run(0xc000796070)
    external/org_golang_google_grpc/internal/transport/controlbuf.go:552 +0x86
google.golang.org/grpc/internal/transport.newHTTP2Client.func6()
    external/org_golang_google_grpc/internal/transport/http2_client.go:452 +0x85
created by google.golang.org/grpc/internal/transport.newHTTP2Client in goroutine 54
    external/org_golang_google_grpc/internal/transport/http2_client.go:450 +0x230b

goroutine 57 [select]:
google.golang.org/grpc.newClientStreamWithParams.func4()
    external/org_golang_google_grpc/stream.go:391 +0x8c
created by google.golang.org/grpc.newClientStreamWithParams in goroutine 56
    external/org_golang_google_grpc/stream.go:390 +0xe08

goroutine 58 [select]:
github.com/hashicorp/go-plugin.(*gRPCBrokerClientImpl).StartStream.func1()
    external/com_github_hashicorp_go_plugin/grpc_broker.go:188 +0xf8
created by github.com/hashicorp/go-plugin.(*gRPCBrokerClientImpl).StartStream in goroutine 56
    external/com_github_hashicorp_go_plugin/grpc_broker.go:186 +0x15c

goroutine 9 [IO wait]:
internal/poll.runtime_pollWait(0x7f1e602fbd78, 0x72)
    GOROOT/src/runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0x9?, 0xc0000a3d30?, 0x0)
    GOROOT/src/internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
    GOROOT/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0xc000900680)
    GOROOT/src/internal/poll/fd_unix.go:611 +0x2ac
net.(*netFD).accept(0xc000900680)
    GOROOT/src/net/fd_unix.go:172 +0x29
net.(*TCPListener).accept(0xc0003255c0)
    GOROOT/src/net/tcpsock_posix.go:159 +0x1e
net.(*TCPListener).Accept(0xc0003255c0)
    GOROOT/src/net/tcpsock.go:327 +0x30
google.golang.org/grpc.(*Server).Serve(0xc000db7000, {0x96ea80, 0xc0003255c0})
    external/org_golang_google_grpc/server.go:871 +0x[46](https://github.com/cadencerpm/monorepo/actions/runs/9899365718/job/27348130881#step:9:48)9
aspect.build/cli/pkg/plugin/system/bep.(*besBackend).ServeWait.func1()
    pkg/plugin/system/bep/bes_backend.go:129 +0x31
created by aspect.build/cli/pkg/plugin/system/bep.(*besBackend).ServeWait in goroutine 1
    pkg/plugin/system/bep/bes_backend.go:128 +0xab

goroutine 82 [syscall]:
os/signal.signal_recv()
    GOROOT/src/runtime/sigqueue.go:152 +0x29
os/signal.loop()
    GOROOT/src/os/signal/signal_unix.go:23 +0x13
created by os/signal.Notify.func1.1 in goroutine 1
    GOROOT/src/os/signal/signal.go:151 +0x1f

goroutine 33 [runnable]:
google.golang.org/protobuf/internal/impl.consumeMessageInfo({0xc001cab029?, 0x4f?, 0x4f?}, {0xc00231beb0?}, 0x2?, 0xc001599d40?, {0x0, {0x96a088, 0xc0001194d0}, 0x270d})
    external/org_golang_google_protobuf/internal/impl/codec_field.go:241 +0x191
google.golang.org/protobuf/internal/impl.(*MessageInfo).initOneofFieldCoders.func1({0xc001cab029, 0x4f, 0x4f}, {0xc000d96fb8?}, 0x2, 0xc000702008?, {0x0, {0x96a088, 0xc0001194d0}, 0x270d})
    external/org_golang_google_protobuf/internal/impl/codec_field.go:64 +0x29f
google.golang.org/protobuf/internal/impl.(*MessageInfo).unmarshalPointer(0xc0000eaa88, {0xc001cab019?, 0x5f, 0x10?}, {0x10?}, 0x0, {0x0, {0x96a088, 0xc0001194d0}, 0x270e})
    external/org_golang_google_protobuf/internal/impl/decode.go:1[48](https://github.com/cadencerpm/monorepo/actions/runs/9899365718/job/27348130881#step:9:50) +0x3b8
google.golang.org/protobuf/internal/impl.consumeMessageInfo({0xc001cab018?, 0xc002082e40?, 0x29e8fc0?}, {0xc000d971c4?}, 0x8?, 0xc0015a2110, {0x0, {0x96a088, 0xc0001194d0}, 0x270e})
    external/org_golang_google_protobuf/internal/impl/codec_field.go:252 +0x11b
google.golang.org/protobuf/internal/impl.(*MessageInfo).unmarshalPointer(0xc0007a1998, {0xc001caafc3?, 0xb5, 0xc000d97290?}, {0x20cf9d8?}, 0x0, {0x0, {0x96a088, 0xc0001194d0}, 0x270f})
    external/org_golang_google_protobuf/internal/impl/decode.go:148 +0x3b8
google.golang.org/protobuf/internal/impl.consumeMessageInfo({0xc001caafc1?, 0xc000d972f8?, 0x50?}, {0x54?}, 0x24?, 0xc0007b46c8, {0x0, {0x96a088, 0xc0001194d0}, 0x270f})
    external/org_golang_google_protobuf/internal/impl/codec_field.go:252 +0x11b
google.golang.org/protobuf/internal/impl.(*MessageInfo).unmarshalPointer(0xc0007a1ae0, {0xc001caafc0?, 0xb8, 0x0?}, {0x20000c002007020?}, 0x0, {0x0, {0x96a088, 0xc0001194d0}, 0x2710})
    external/org_golang_google_protobuf/internal/impl/decode.go:148 +0x3b8
google.golang.org/protobuf/internal/impl.(*MessageInfo).unmarshal(0x60?, {{}, {0x97d918, 0xc001eff620}, {0xc001caafc0, 0xb8, 0xb8}, 0x0, {0x96a088, 0xc0001194d0}, ...})
    external/org_golang_google_protobuf/internal/impl/decode.go:66 +0x97
google.golang.org/protobuf/proto.UnmarshalOptions.unmarshal({{}, 0x1, 0x1, 0x0, {0x96a088, 0xc0001194d0}, 0x2710}, {0xc001caafc0, 0xb8, 0xb8}, ...)
    external/org_golang_google_protobuf/proto/decode.go:105 +0x1ff
google.golang.org/protobuf/proto.UnmarshalOptions.UnmarshalState({{}, 0x1, 0x1, 0x0, {0x0, 0x0}, 0x2710}, {{}, {0x97d918, 0xc001eff620}, ...})
    external/org_golang_google_protobuf/proto/decode.go:77 +0xa8
github.com/golang/protobuf/proto.UnmarshalMerge({0xc001caafc0, 0xb8, 0xb8}, {0x7f1e587d26d8?, 0xc001eff620?})
    external/com_github_golang_protobuf/proto/wire.go:67 +0x12b
github.com/golang/protobuf/proto.Unmarshal({0xc001caafc0, 0xb8, 0xb8}, {0x7f1e587d26d8, 0xc001eff620})
    external/com_github_golang_protobuf/proto/wire.go:58 +0x4e
google.golang.org/grpc/encoding/proto.codec.Unmarshal({}, {0xc001caafc0?, 0x1af7185?, 0x18?}, {0x4575c0?, 0xc001eff620?})
    external/org_golang_google_grpc/encoding/proto/proto.go:53 +0x45
google.golang.org/grpc.recv(0xc000001560, {0x7f1e584ecb70, 0x2b1cce0}, 0xc00027e5a0, {0x0, 0x0}, {0x4575c0, 0xc001eff620}, 0x7fffffff, 0x0, ...)
    external/org_golang_google_grpc/rpc_util.go:800 +0x10a
google.golang.org/grpc.(*serverStream).RecvMsg(0xc0005c6ff0, {0x4575c0, 0xc001eff620})
    external/org_golang_google_grpc/stream.go:1716 +0x16a
google.golang.org/genproto/googleapis/devtools/build/v1.(*publishBuildEventPublishBuildToolEventStreamServer).Recv(0xc000fc4f90)
    external/org_golang_google_genproto/googleapis/devtools/build/v1/publish_build_event.pb.go:836 +0x46
aspect.build/cli/pkg/plugin/system/bep.(*besBackend).PublishBuildToolEventStream(0xc0007ae6c0, {0x9792b0, 0xc000fc4f90})
    pkg/plugin/system/bep/bes_backend.go:2[49](https://github.com/cadencerpm/monorepo/actions/runs/9899365718/job/27348130881#step:9:51) +0x2d5
google.golang.org/genproto/googleapis/devtools/build/v1._PublishBuildEvent_PublishBuildToolEventStream_Handler({0x465ee0?, 0xc0007ae6c0}, {0x9765d0, 0xc0005c6ff0})
    external/org_golang_google_genproto/googleapis/devtools/build/v1/publish_build_event.pb.go:817 +0xd8
google.golang.org/grpc.(*Server).processStreamingRPC(0xc000db7000, {0x971da8, 0xc0000014d0}, {0x979580, 0xc001520000}, 0xc00027e5a0, 0xc0005e6bd0, 0x29a2220, 0x0)
    external/org_golang_google_grpc/server.go:1666 +0x1208
google.golang.org/grpc.(*Server).handleStream(0xc000db7000, {0x979580, 0xc001520000}, 0xc00027e5a0)
    external/org_golang_google_grpc/server.go:1787 +0xf67
google.golang.org/grpc.(*Server).serveStreams.func2.1()
    external/org_golang_google_grpc/server.go:1016 +0x59
created by google.golang.org/grpc.(*Server).serveStreams.func2 in goroutine 87
    external/org_golang_google_grpc/server.go:1027 +0x106

goroutine 83 [chan receive]:
aspect.build/cli/pkg/bazel.(*Bazelisk).runBazel.func1()
    pkg/bazel/bazelisk.go:564 +0x2b
created by aspect.build/cli/pkg/bazel.(*Bazelisk).runBazel in goroutine 1
    pkg/bazel/bazelisk.go:563 +0x1ab

goroutine 85 [runnable]:
runtime.Gosched(...)
    GOROOT/src/runtime/proc.go:342
google.golang.org/grpc/internal/transport.(*loopyWriter).run(0xc000[50](https://github.com/cadencerpm/monorepo/actions/runs/9899365718/job/27348130881#step:9:52)e000)
    external/org_golang_google_grpc/internal/transport/controlbuf.go:588 +0x1f3
google.golang.org/grpc/internal/transport.NewServerTransport.func2()
    external/org_golang_google_grpc/internal/transport/http2_server.go:325 +0xd2
created by google.golang.org/grpc/internal/transport.NewServerTransport in goroutine 84
    external/org_golang_google_grpc/internal/transport/http2_server.go:322 +0x185e

goroutine 86 [select]:
google.golang.org/grpc/internal/transport.(*http2Server).keepalive(0xc001520000)
    external/org_golang_google_grpc/internal/transport/http2_server.go:1133 +0x205
created by google.golang.org/grpc/internal/transport.NewServerTransport in goroutine 84
    external/org_golang_google_grpc/internal/transport/http2_server.go:328 +0x18a5

goroutine 87 [IO wait]:
internal/poll.runtime_pollWait(0x7f1e602fb998, 0x72)
    GOROOT/src/runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc000060400?, 0xc00150a000?, 0x0)
    GOROOT/src/internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
    GOROOT/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000060400, {0xc00150a000, 0x8000, 0x8000})
    GOROOT/src/internal/poll/fd_unix.go:164 +0x27a
net.(*netFD).Read(0xc000060400, {0xc00150a000?, 0xc000e24bc0?, 0x8?})
    GOROOT/src/net/fd_posix.go:55 +0x25
net.(*conn).Read(0xc000d1e000, {0xc00150a000?, 0x801000601?, 0xc000680300?})
    GOROOT/src/net/net.go:179 +0x45
bufio.(*Reader).Read(0xc000354240, {0xc001[51](https://github.com/cadencerpm/monorepo/actions/runs/9899365718/job/27348130881#step:9:53)a040, 0x9, 0xc00151e120?})
    GOROOT/src/bufio/bufio.go:241 +0x197
io.ReadAtLeast({0x9615a0, 0xc000354240}, {0xc00151a040, 0x9, 0x9}, 0x9)
    GOROOT/src/io/io.go:335 +0x90
io.ReadFull(...)
    GOROOT/src/io/io.go:354
golang.org/x/net/http2.readFrameHeader({0xc00151a040, 0x9, 0xc001e392f5?}, {0x9615a0?, 0xc000354240?})
    external/org_golang_x_net/http2/frame.go:237 +0x65
golang.org/x/net/http2.(*Framer).ReadFrame(0xc00151a000)
    external/org_golang_x_net/http2/frame.go:498 +0x85
google.golang.org/grpc/internal/transport.(*http2Server).HandleStreams(0xc001[52](https://github.com/cadencerpm/monorepo/actions/runs/9899365718/job/27348130881#step:9:54)0000, {0x971da8, 0xc0006824b0}, 0xc0006824e0)
    external/org_golang_google_grpc/internal/transport/http2_server.go:617 +0x157
google.golang.org/grpc.(*Server).serveStreams(0xc000db7000, {0x971d70?, 0x2b1cce0?}, {0x979580, 0xc001520000}, {0x978f38?, 0xc000d1e000?})
    external/org_golang_google_grpc/server.go:1012 +0x3b6
google.golang.org/grpc.(*Server).handleRawConn.func1()
    external/org_golang_google_grpc/server.go:939 +0x[56](https://github.com/cadencerpm/monorepo/actions/runs/9899365718/job/27348130881#step:9:58)
created by google.golang.org/grpc.(*Server).handleRawConn in goroutine 84
    external/org_golang_google_grpc/server.go:938 +0x17a

Version

Aspect CLI: 5.10.1

How to reproduce

No response

Any other information?

No response