Git Product home page Git Product logo

bonsol's Introduction

乃ㄖ几丂ㄖㄥ-ZK Plumbing on solana

alt text As you can see from the above copy pasted AI image 乃ㄖ几丂ㄖㄥ is the hearts desire of Solana silly dragon developers. It is a ZK "co processor" (fancy word for a server that listens to a blockhain and does stuff the chain cant do and then puts the results of those heavy lift operations on said blockchain).

乃ㄖ几丂ㄖㄥ currently allows you to run any "risc0 image" (its a program thingy, we will call this a zkprogram from now on) and verify it on solana. This works by allowing a user to create and ExecutionRequest with an image id, public/private inputs, any program callbacks(other solana programs can be called upon a valid proof) and a tip. A prover will act fast to Claim and will make a commitment produce a proof and submit the proof by the slot deadline with the Status . The 乃ㄖ几丂ㄖㄥ on chain solana program will then verify the proof and if it is valid will pay the prover the tip minus a small fee for the zkprogram creator and some "hand waive" auction or time based mechanic to incentivise provers to provide quality service. If the prover doesnt produce a proof in time, their claim will be invalidated and another prover can claim the execution request and try to produce a proof. Up until the slot deadline.

sequenceDiagram
    participant User
    participant Solana
    participant Prover1
    participant Prover1
    participant PrivateInputServer


    User->>Solana: Create ExecutionRequest
    note right of User: Includes image ID, public inputs, callbacks, and tip

    Solana->>Prover1: Notify of ExecutionRequest
    Prover1-->>Solana: Claim ExecutionRequest at slot x
    Solana->>Prover2: Notify of ExecutionRequest
    Prover2-->>Solana: Claim ExecutionRequest at slot x+3

    Prover1->>PrivateInputServer: Request Private Inputs with claim proof
    PrivateInputServer-->>Prover1: Send Private Inputs
    Prover1->>Prover1: Generate proof
    Prover1->>Solana: Submit proof

    Prover2->>PrivateInputServer: Request Private Inputs with claim proof
    PrivateInputServer-->>Prover2: Send Private Inputs

    Prover2->>Prover2: Generate proof
    alt Proof is valid and submitted before the slot deadline
        Solana->>Prover1: Pay tip minus fees
        Solana->>Solana: Distribute fees to zkprogram creator
    else Proof is invalid or not submitted in time
        Solana->>Solana: Invalidate claim
        
        
        Prover2->>Prover2: Generate proof
        Prover2->>Solana: Submit proof (Status)
        alt Proof is valid and submitted before the slot deadline
            Solana->>Prover2: Pay tip minus fees
            Solana->>Solana: Distribute fees to zkprogram creator
        end
    end
Loading

Claim???

Wait dude why does the prover have to claim before they can start to prove? Well I have a simple answer but you wont like it. Because in the future I want to allow the private inputs to be encrypted so that only the claim winner can have access to the private inputs and I literally dont even know where to start with Homomorphic Encryption inside a ZKvm. FHE is not some silver bullet okay .... The claim mechaism allows "fair" access to the tip. Claims are recorded in order of their slot and multiple provers can have claims. But only one at a time. The prover that produces a valid proof within their promised claim window will be paid the tip. The private input server MUST only allow the provers that have submitted a claim the execution request to access the private inputs. They do this by making sure the private input request is signed by the same Key that submitted the claim.

I am open to different network models here, things I explored:

Stake base job distrobution, Proof of work, Just a straight up auction

"hand waive" auction or time based mechanic to incentivise provers to provide quality service

This is a sarcastic way of saying that im still figuring this out but I think it will be something like.

Users tip decreases in value from the time a prover claims it. At the slot the prover claims the execution request the tip is at its highest value. And it decreases in value until the slot deadline.

Not producing a proof will result in a loss of claim and a different prover can submit. If the prover submits a proof that is invalid they get some of their stake for that execution slashed.

When a claim starts there is a curve that the paid out tip will decrease over. If a prover misses their window or provides a bad proof, then any prover that is not the previous can claim and the tip value resets and the curve starts over. This is all until the slot deadline.

I would love feedback on if this is a good idea or not. I think it will incentivise provers to act fast and produce a proof quickly and the proof stake slashing will incentivise provers to produce quality proofs.

Inputs

乃ㄖ几丂ㄖㄥ flavored zkprograms have two types of inputs. Public and Private. Private inputs are not required and the zkprogram creator can choose to only have public inputs. They are easy because they are public and can be passed in the execution request either by value or by refernce. You can also pass an InputSet which is a preconfigured set of private or public inputs. This is useful for use cases where many inputs are known but a final end user input is not known. For example a use case where a zkprogram dev (thats prolly you) has a

Public Inputs

Public inputs come in a few forms. 乃ㄖ几丂ㄖㄥ will allow the following types of public inputs.

  • PUBLIC_DATA - A byte array that is passed in the execution request.
  • PUBLIC_ACCOUNT - The data contents of a solana account that is passed in the execution request. The prover will pull this account data from the solana blockchain and use it as a public input.
  • PUBLIC_URL - A url that the prover will pull data from and use as a public input. (this is for large inputs that are too large to fit in a solana account. make sure you tip your provers people as they will check the size of the data they need to pull and if the tip is not worth the time and resources they will not claim the execution request. Its important the server hosting the data returns the content-length header so the prover can check the size of the data before they claim the execution request.

Private Inputs

If the zkprogram has private inputs then simultaneosly the user will send private inputs to a server. This server can be run by the user, the zkprogram creator or any third party that the user trusts. Bonsol currently has a provision for the zkprogram creator to put a url in the zkprogram manifest that the user can use to send the private inputs to. Although this is not required. I suspect this will chage drastically and we will soon have some aweseome MPC encryption scheme that will allow the private inputs to be handled without another third party.

I know what your thinking!! "I have to trust some server?!!!" Well until I get time to implement a MPC encryption scheme in 乃ㄖ几丂ㄖㄥ that allows private inputs to be handled without another third party your locus of trust is the zkprogram creator and whoever holds the private inputs. After all you are trusting that they wrote the program you want. If you dont trust them then dont use their program.

In the most likley scenario, you as the developer will be the zkprogram creator and you will be the one hosting the server that handles the private inputs. The server that handles the private inputs is extremly simple and require nothing more than function as a service level compute. Meanwhile the provers are doing the heavy lifting and will compete on speed to claim and produce the proof. The prover servers will likley be "chonky bois" with "blazing fast" gpus and internet connections. To put it in degenerate terms the private input server is the "simp" and the prover servers are the "chads". The private input server can run on vercel, cloudflare workers, aws lambda, google cloud functions, or a raspberry pi in your closet with an ngrok tunnel hopfully still on.

Would love some feedback on this.

On writing 乃ㄖ几丂ㄖㄥ flavored zkprograms

In risc0 there are the concepts of guest and host. From the guest perspective it has no notion of private/public inputs. It is simply a program that takes some inputs and produces some outputs. The host is the program that will call the guest and provide the inputs and recieve the outputs. The host is the 乃ㄖ几丂ㄖㄥ relayer and in order for it to properly secure the zk execution its of the upmost importance that the zkprogram commit to a Digest (the akkkkkktually correct term for a hash) of all the inputs. This is done like this

use gjson::Kind;
use risc0_zkvm::{guest::{env, sha::Impl},sha::{Digest, Sha256}};

fn main() {
    // The Bonsol Host will send your inputs packed in a Vec<u8> 
    let mut public1 = Vec::new();
    env::read_slice(&mut public1);
    let publici1 = String::from_utf8(public1).unwrap();
    let mut private2 = Vec::new();
    env::read_slice(&mut private2);
    let privatei2 = String::from_utf8(private2).unwrap();
    
    let valid = gjson::valid(&publici1);
    let mut res = false;
    if valid {
        let val = gjson::get(&publici1, "attestation");
        if val.kind() == Kind::String && val.str() == privatei2 {
            res = true;
        }
    }
    let digest = Impl::hash_bytes(
        &[
            publici1.as_bytes(),
            privatei2.as_bytes(),
        ].concat(),
    );
    env::commit_slice(digest.as_bytes());
    env::commit_slice(&[res as u8]);
}

Specifically

use risc0_zkvm::{guest::{env, sha::Impl},sha::{Digest, Sha256}};
...
let digest = Impl::hash_bytes(
        &[
            publici1.as_bytes(),
            privatei2.as_bytes(),
        ].concat(),
    );
env::commit_slice(digest.as_bytes());

You can see that in the guest program we are hashing the public and private inputs and commiting the hash to the zkvm. This is how we insure that the prover ran this over your actual imput data which you previously hashed and sent into the execution request. If your input is dynamic and you dont know the hash ahead of time you can turn off the verify_inputs flag in the execution request and the prover will not fail if the inputs dont match. This is useful for dynamic input types like dynamic website data. If you need to prove over dynamic data pulled from the web, the reccomendation is to pull that data from inside your zkprogram or to ensure you check the hash in your callback program after the fact.

Roadmap

  • More TXN sender configs
  • More ingester configs
  • Bonsolace: local proving with simple on chain verification(for devs who dont need the prover network)
  • Zkprogram capacity (compute) calculations and capacity planning for provers: in progress
  • non trivial example zkprograms: in progress
  • MPC encryption for private inputs to avoid private input server
  • Auction or time based mechanic to incentivise provers to provide quality service
  • Other proof systems SP1, Spartan etc ...
  • More dynamic input types
    • Solana transaction history
    • Interactive Browser Proofs
    • Zk Compressed State
    • Nonced Risc0/Bonsol Proofs to allow composition of proofs

Local Development

Prequisites: risc0 tooling docker rust solana tooling probbably a fast computer

You will need to run a few components.

  1. Solana validator localnet
  2. 乃ㄖ几丂ㄖㄥ on chain program
  3. 乃ㄖ几丂ㄖㄥ off chain relay
  4. 乃ㄖ几丂ㄖㄥ zkprogram compiler
  5. (Soon) Private input server (optional)
#Download and setup the system with the needed binaries and keys to run the groth16 prover over the risc0 FRI
./setup.sh

#Compiles the 乃ㄖ几丂ㄖㄥ on chain program and starts a localnet with the program loaded
./validator.sh 

#Compiles the 乃ㄖ几丂ㄖㄥ off chain relay and starts it
./run-relay.sh

#Compiles any local 乃ㄖ几丂ㄖㄥ zkprograms
./build-images.sh 

Currently I have the following flow: I run "./build-images.sh".

Then "./validator" and "./run-relay.sh" , and run the ts-client tests in channel directory with pnpm test in three different terminals. This will deploy a zk program and start an execution request which the relay will respond to.

Running a Prover Node

The prover node is a binary that comes from the relay package. You configure it with the Node.toml file. There are a variety of options in there. relay/src/config.rs shows all the configurations. There are alot of defaults. The key parts are the keypair, transaction sender and the ingester config. Because the groth16 prover is a heavy process the node that you run the prover on needs to allow alow a high stack limit. In the ./run-relay.sh we use ulimit -s unlimited to allow the prover to run. You will need a relay keypair in order for the node to function, and this keypar must have some SOL in it for JIT staking of Execution requests and for sol transaction fees.

You can make a new keypair using the solana cli tools. solana-keygen new -o relay-keypair.json Fund that keypair with sol, and keep it secret, currently we only support the local keypair signing, but in the future other options will be available, such as remote signing from an hsm device or a mpc signer cluster.

Deploying the Helm Chart

A helm chart exists for this project. You can deploy it to a kubernetes cluster. You will need to have a kubernetes cluster and helm installed.

helm install --set-file signer_config.local_signer_keypair_content=relaykp.json bonsol ./charts/bonsol-node -f ./charts/bonsol-node/secret-values.yaml

Ensure you set local_signer_keypair_content with the content of the relay kp. An example values file is in the helm directory at example-values.yaml.

In a production scenario you will want to use the GrpcSubscription ingester type to avoid the need for a colocated Solana node. Triton One or Helius offer GRPC streams of solana transactions. We reccomend triton for this as they created the Yellowstone library in use for the Grpc Ingest option in this prover node.

Running Tests

There are a few tests in the onchain/channel/ts-client directory. You can run them with pnpm test. This will deploy a zk program and start an execution request which the relay will respond to. In a locall environment you need to run solana-test-validator and then airdrop some money to your relay keypair solana -u http://localhost:8899 airdrop 1 --keypair relaykp.json. Then you can run the tests.

For a public network jsut set the KP and RPC_ENDPOINT env variables to the path of your keypair and run the tests.

bonsol's People

Contributors

austbot avatar polasekr avatar

Stargazers

Conner Swann avatar 0xStone avatar Clinton avatar Maciej Baj avatar Henry de Valence avatar  avatar Paul avatar Bob Niu avatar omar avatar Frances He avatar Tristan avatar  avatar Datt Goswami avatar cyphersnake avatar yugocabrio avatar Eray avatar  avatar  avatar Tariumbit avatar Tao Xu avatar Jendrik Poloczek avatar Sunny Gonnabathula avatar The light co avatar Nihar Shah avatar Sam Hogan avatar Jünger avatar  avatar  avatar Arihant Bansal avatar  avatar Soona avatar bill_papas_12 avatar Ayush avatar Hamid Alipour avatar LJ avatar Cryptomiester avatar Erhan avatar  avatar Anoushk Kharangate avatar 0xDon avatar Karthik Pariti avatar kyler avatar  avatar Gabriele Picco avatar Samuel Vanderwaal avatar Shun Kakinoki avatar John Johnson avatar Carlos Cabada avatar Steven Normore avatar

Watchers

Rob Benson avatar Tariumbit avatar  avatar Paul avatar

bonsol's Issues

Add Dragons mouth

Bonsol currently uses block subscriptions to get events. This is convenient in development and testnet but many operators will not want to run full solana nodes or wont want to enable block subscriptions.

In https://github.com/anagrambuild/bonsol/blob/main/relay/src/config.rs#L49 we have a ingester configuration that allows many types of ingesters. We already planned for a grpc stream https://github.com/anagrambuild/bonsol/blob/main/relay/src/config.rs#L13. https://docs.triton.one/project-yellowstone/dragons-mouth-grpc-subscriptions is a great option.

Implement the GRPC stream and ensure when configuring the Node.toml it can be selected and function correctly.
Here you will instantiate your ingester https://github.com/anagrambuild/bonsol/blob/main/relay/src/main.rs#L55

Solana errors running ts-client test suite

Attempting to test local development setup by running the following commands:

  1. ./setup.sh
  2. ./build-images.sh
  3. ./validator.sh
  4. ./run-relay.sh
  5. pnpm test from the onchain/channel/ts-client/tests directory
(base) pnpm test

> [email protected] test /Users/chris/Documents/bonsol/onchain/channel/ts-client
> jest --silent=false

(node:3188) ExperimentalWarning: The Ed25519 Web Crypto API algorithm is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
  console.log
    {
      __code: -32002,
      accounts: null,
      innerInstructions: null,
      logs: [],
      returnData: null,
      unitsConsumed: 0
    }

      at Object.<anonymous> (tests/main.test.ts:88:19)

  console.log
    logs undefined

      at tests/main.test.ts:98:19

  console.log
    SolanaError: Solana error #-32002; Decode this error by running `npx @solana/errors decode -- -32002 'YWNjb3VudHM9bnVsbCZpbm5lckluc3RydWN0aW9ucz1udWxsJmxvZ3M9JTVCJTVEJnJldHVybkRhdGE9bnVsbCZ1bml0c0NvbnN1bWVkPTA='`
        at Object.send (/Users/chris/Documents/bonsol/node_modules/.pnpm/@[email protected]/node_modules/@solana/rpc-spec/src/rpc.ts:79:13)
        at processTicksAndRejections (node:internal/process/task_queues:95:5)
        at /Users/chris/Documents/bonsol/onchain/channel/ts-client/tests/main.test.ts:160:9 {
      context: {
        __code: -32002,
        accounts: null,
        innerInstructions: null,
        logs: [],
        returnData: null,
        unitsConsumed: 0
      },
      [cause]: SolanaError: Solana error #7050003; Decode this error by running `npx @solana/errors decode -- 7050003`
          at Object.getSolanaErrorFromJsonRpcError (/Users/chris/Documents/bonsol/node_modules/.pnpm/@[email protected]/node_modules/@solana/errors/src/json-rpc-error.ts:97:16)
          at Object.send (/Users/chris/Documents/bonsol/node_modules/.pnpm/@[email protected]/node_modules/@solana/rpc-spec/src/rpc.ts:79:13)
          at processTicksAndRejections (node:internal/process/task_queues:95:5)
          at /Users/chris/Documents/bonsol/onchain/channel/ts-client/tests/main.test.ts:160:9 {
        context: { __code: 7050003 }
      }
    }

      at tests/main.test.ts:163:19

  console.log
    logs undefined

      at tests/main.test.ts:172:19

 PASS  tests/main.test.ts
  BonsolProgram
    ✓ should create valid execution requests (2072 ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        3.354 s, estimated 4 s
Ran all test suites.

Running setup.sh yeilds seg fault

I finally got around to analyzing Bonsol today.

Unfortunately, I get an error in ubuntu22 when I run ./setup.sh fatal error:
index out of range panic during panic
SIGSEGV: segmentation violation
PC=0x4491f8 m=10 sigcode=1
See screenshot and output log.

root@ubuntu:~/bonsol# ./setup.sh
[+] Building 10.0s (6/11)                                                                                docker:default
 => [internal] load build definition from setup.dockerfile                                                         0.0s
 => => transferring dockerfile: 527B                                                                               0.0s
 => resolve image config for docker-image://docker.io/docker/dockerfile:1.2                                        1.2s
 => docker-image://docker.io/docker/dockerfile:1.2@sha256:e2a8561e419ab1ba6b2fe6cbdf49fd92b95912df1cf7d313c3e2230  1.1s
 => => resolve docker.io/docker/dockerfile:1.2@sha256:e2a8561e419ab1ba6b2fe6cbdf49fd92b95912df1cf7d313c3e2230a333  0.0s
 => => sha256:e2a8561e419ab1ba6b2fe6cbdf49fd92b95912df1cf7d313c3e2230a333fdbcc 1.69kB / 1.69kB                     0.0s
 => => sha256:e3ee2e6b536452d876b1c5aa12db9bca51b8f52b2505178cae6d13e33daeed2b 528B / 528B                         0.0s
 => => sha256:86e43bba076d67c1a890cbc07813806b11eca53843dc643202d939b986c8c332 1.21kB / 1.21kB                     0.0s
 => => sha256:3cc8e449ce9f6e0752ede8f50a7334bf0c7b2d24d76da2ffae7aa6a729dd1da4 9.64MB / 9.64MB                     0.9s
 => => extracting sha256:3cc8e449ce9f6e0752ede8f50a7334bf0c7b2d24d76da2ffae7aa6a729dd1da4                          0.2s
 => [internal] load .dockerignore                                                                                  0.0s
 => => transferring context: 89B                                                                                   0.0s
 => [internal] load build definition from setup.dockerfile                                                         0.0s
 => [chef 1/5] WORKDIR /app                                                                                        0.0s
 => FROM docker.io/risczero/risc0-groth16-prover:v2024-04-03.2                                                     7.5s
 => => resolve docker.io/risczero/risc0-groth16-prover:v2024-04-03.2                                               1.5s
 => => sha256:3dd181f9be599de628e1bc6d868d517125e07f968824bcf7b7ed8d28ad1026b1 28.31MB / 30.45MB                   6.0s
 => => sha256:46b707c71faf51118b0d85045b0a178d47faa11d4b26beb285477c7216c8e157 244B / 244B                         0.5s
 => => sha256:81e3eb198501abfbcbd9597dfd3b5dc39ee45e6c433a204987068f18a58b2f61 2.41kB / 2.41kB                     0.0s
 => => sha256:5f2269de4725b0585bf0f792ba842b3cdf4994c6ab964e02905f639290ccd1d2 3.51kB / 3.51kB                     0.0s
 => => sha256:eae8d8e25cc43b9af029f30f4847a6e55e7404377395c5020ad89bf852c10c6d 23.07MB / 368.47MB                  6.0s
 => => sha256:e043294abd2aec3857e807c76b7da493e764466bd5d4668f32e2a1c25ebf4615 99.99kB / 99.99kB                   0.9s
 => => sha256:998f2989acd7bb8e00d5b905caad1f147ca6a4418cbd4ddf26d45791ae35caa3 17.83MB / 27.49MB                   6.0s
fatal error: index out of range
panic during panic
SIGSEGV: segmentation violation
PC=0x4491f8 m=10 sigcode=1

goroutine 0 [idle]:
runtime.preemptall()
        runtime/proc.go:5744 +0x38 fp=0xc000749d48 sp=0xc000749d10 pc=0x4491f8
runtime.freezetheworld()
        runtime/proc.go:963 +0x99 fp=0xc000749d68 sp=0xc000749d48 pc=0x43f419
runtime.startpanic_m()
        runtime/panic.go:1263 +0x157 fp=0xc000749d90 sp=0xc000749d68 pc=0x43b7b7
runtime.fatalthrow.func1()
        runtime/panic.go:1168 +0x57 fp=0xc000749dd0 sp=0xc000749d90 pc=0x43b497
runtime.fatalthrow(0x749e18?)
        runtime/panic.go:1163 +0x65 fp=0xc000749e10 sp=0xc000749dd0 pc=0x43b405
runtime.throw({0x23f0aa1?, 0xffffffffffffffff?})
        runtime/panic.go:1077 +0x5c fp=0xc000749e40 sp=0xc000749e10 pc=0x43b0fc
runtime.panicCheck1(0xc000749e90?, {0x23f0aa1, 0x12})
        runtime/panic.go:58 +0x94 fp=0xc000749e60 sp=0xc000749e40 pc=0x438a54
runtime.goPanicIndex(0xfffffffffde6b422, 0x1)
        runtime/panic.go:113 +0x2e fp=0xc000749ea0 sp=0xc000749e60 pc=0x438b0e
runtime.pMask.set(...)
        runtime/proc.go:6030
runtime.pidleget(0x1e5cd34a?)
        runtime/proc.go:6127 +0x165 fp=0xc000749ed8 sp=0xc000749ea0 pc=0x44a2a5
runtime.pidlegetSpinning(0xc00001209c?)
        runtime/proc.go:6149 +0x13 fp=0xc000749ef0 sp=0xc000749ed8 pc=0x44a2d3
runtime.wakep()
        runtime/proc.go:2740 +0x65 fp=0xc000749f20 sp=0xc000749ef0 pc=0x442305
runtime.resetspinning()
        runtime/proc.go:3461 +0x3e fp=0xc000749f40 sp=0xc000749f20 pc=0x443f3e
runtime.schedule()
        runtime/proc.go:3595 +0x10f fp=0xc000749f78 sp=0xc000749f40 pc=0x44436f
runtime.park_m(0xc000602680?)
        runtime/proc.go:3740 +0x11f fp=0xc000749fc0 sp=0xc000749f78 pc=0x44481f
runtime.mcall()
        runtime/asm_amd64.s:458 +0x4e fp=0xc000749fd8 sp=0xc000749fc0 pc=0x46c06e

goroutine 1 [semacquire]:
runtime.gopark(0x0?, 0x0?, 0xe0?, 0xdc?, 0x0?)
        runtime/proc.go:398 +0xce fp=0xc000662b50 sp=0xc000662b30 pc=0x43df4e
runtime.goparkunlock(...)
        runtime/proc.go:404
runtime.semacquire1(0xc0007aa190, 0x0?, 0x1, 0x0, 0x0?)
        runtime/sema.go:160 +0x218 fp=0xc000662bb8 sp=0xc000662b50 pc=0x44ea18
sync.runtime_Semacquire(0x0?)
        runtime/sema.go:62 +0x25 fp=0xc000662bf0 sp=0xc000662bb8 pc=0x46a105
sync.(*WaitGroup).Wait(0xc000664688?)
        sync/waitgroup.go:116 +0x48 fp=0xc000662c18 sp=0xc000662bf0 pc=0x48b3c8
golang.org/x/sync/errgroup.(*Group).Wait(0xc0007aa180)
        golang.org/x/[email protected]/errgroup/errgroup.go:56 +0x25 fp=0xc000662c38 sp=0xc000662c18 pc=0x7a8805
github.com/docker/buildx/build.BuildWithResultHandler({0x278c660, 0xc00049a640}, {0xc0002ba360, 0x1, 0x1}, 0xc000664688, 0xc000548201?, {0xc00012c390, 0x14}, {0x278c288, ...}, ...)
        github.com/docker/buildx/build/build.go:651 +0xc3c fp=0xc000664270 sp=0xc000662c38 pc=0x12f33dc
github.com/docker/buildx/build.Build(...)
        github.com/docker/buildx/build/build.go:153
github.com/docker/buildx/controller/build.buildTargets({0x278c628, 0xc00058a780}, {0x27a2cf8?, 0xc00020d680}, 0xc0005484a8?, {0xc0002ba360, 0x1, 0x1}, 0x2771b08?, {0x278c288, ...}, ...)
        github.com/docker/buildx/controller/build/build.go:221 +0x292 fp=0xc000664330 sp=0xc000664270 pc=0x134fe92
github.com/docker/buildx/controller/build.RunBuild({_, _}, {_, _}, {{0x7fffffe66690, 0x1}, {0x7fffffe66676, 0x10}, 0x0, 0x0, ...}, ...)
        github.com/docker/buildx/controller/build/build.go:192 +0x13cc fp=0xc000664ae8 sp=0xc000664330 pc=0x134f1ec
github.com/docker/buildx/commands.runBasicBuild({_, _}, {_, _}, _, {{0x39f4480, 0x0, 0x0}, {0x39f4480, 0x0, ...}, ...}, ...)
        github.com/docker/buildx/commands/build.go:391 +0x114 fp=0xc000664f78 sp=0xc000664ae8 pc=0x13820f4
github.com/docker/buildx/commands.runBuild({_, _}, {_, _}, {{0x39f4480, 0x0, 0x0}, {0x39f4480, 0x0, 0x0}, ...})
        github.com/docker/buildx/commands/build.go:343 +0x985 fp=0xc000665588 sp=0xc000664f78 pc=0x1381645
github.com/docker/buildx/commands.buildCmd.func1(0xc000004900, {0xc000552730?, 0x1?, 0x5?})
        github.com/docker/buildx/commands/build.go:552 +0x2c8 fp=0xc000665ad0 sp=0xc000665588 pc=0x1384e08
github.com/spf13/cobra.(*Command).execute(0xc000004900, {0xc0003f9830, 0x5, 0x5})
        github.com/spf13/[email protected]/command.go:983 +0xabc fp=0xc000665c70 sp=0xc000665ad0 pc=0xbc6e5c
github.com/spf13/cobra.(*Command).ExecuteC(0xc00072b800)
        github.com/spf13/[email protected]/command.go:1115 +0x3ff fp=0xc000665d48 sp=0xc000665c70 pc=0xbc771f
github.com/spf13/cobra.(*Command).Execute(...)
        github.com/spf13/[email protected]/command.go:1039
github.com/docker/cli/cli-plugins/plugin.RunPlugin(0xc000114db0?, 0xc000004600, {{0x23d8985, 0x5}, {0x23e2bfd, 0xb}, {0x2761460, 0x7}, {0x0, 0x0}, ...})
        github.com/docker/[email protected]+incompatible/cli-plugins/plugin/plugin.go:66 +0x10e fp=0xc000665dc8 sp=0xc000665d48 pc=0x137b12e
main.runPlugin(0x2421c24?)
        github.com/docker/buildx/cmd/buildx/main.go:47 +0xe5 fp=0xc000665e90 sp=0xc000665dc8 pc=0x1dbd5e5
main.main()
        github.com/docker/buildx/cmd/buildx/main.go:64 +0xe5 fp=0xc000665f40 sp=0xc000665e90 pc=0x1dbd705
runtime.main()
        runtime/proc.go:267 +0x2bb fp=0xc000665fe0 sp=0xc000665f40 pc=0x43dadb
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc000665fe8 sp=0xc000665fe0 pc=0x46dee1

goroutine 2 [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        runtime/proc.go:398 +0xce fp=0xc000084fa8 sp=0xc000084f88 pc=0x43df4e
runtime.goparkunlock(...)
        runtime/proc.go:404
runtime.forcegchelper()
        runtime/proc.go:322 +0xb3 fp=0xc000084fe0 sp=0xc000084fa8 pc=0x43ddb3
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc000084fe8 sp=0xc000084fe0 pc=0x46dee1
created by runtime.init.6 in goroutine 1
        runtime/proc.go:310 +0x1a

goroutine 3 [GC sweep wait]:
runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?)
        runtime/proc.go:398 +0xce fp=0xc000085778 sp=0xc000085758 pc=0x43df4e
runtime.goparkunlock(...)
        runtime/proc.go:404
runtime.bgsweep(0x0?)
        runtime/mgcsweep.go:321 +0xdf fp=0xc0000857c8 sp=0xc000085778 pc=0x428dff
runtime.gcenable.func1()
        runtime/mgc.go:200 +0x25 fp=0xc0000857e0 sp=0xc0000857c8 pc=0x41df65
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc0000857e8 sp=0xc0000857e0 pc=0x46dee1
created by runtime.gcenable in goroutine 1
        runtime/mgc.go:200 +0x66

goroutine 4 [GC scavenge wait]:
runtime.gopark(0xc0000a4000?, 0x275bbf8?, 0x0?, 0x0?, 0x0?)
        runtime/proc.go:398 +0xce fp=0xc000085f70 sp=0xc000085f50 pc=0x43df4e
runtime.goparkunlock(...)
        runtime/proc.go:404
runtime.(*scavengerState).park(0x39c4420)
        runtime/mgcscavenge.go:425 +0x49 fp=0xc000085fa0 sp=0xc000085f70 pc=0x426689
runtime.bgscavenge(0x0?)
        runtime/mgcscavenge.go:658 +0x59 fp=0xc000085fc8 sp=0xc000085fa0 pc=0x426c39
runtime.gcenable.func2()
        runtime/mgc.go:201 +0x25 fp=0xc000085fe0 sp=0xc000085fc8 pc=0x41df05
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc000085fe8 sp=0xc000085fe0 pc=0x46dee1
created by runtime.gcenable in goroutine 1
        runtime/mgc.go:201 +0xa5

goroutine 5 [finalizer wait]:
runtime.gopark(0x0?, 0xc0009adbd8?, 0xc0?, 0x83?, 0x1000000010?)
        runtime/proc.go:398 +0xce fp=0xc0009cee20 sp=0xc0009cee00 pc=0x43df4e
runtime.runfinq()
        runtime/mfinal.go:193 +0x107 fp=0xc0009cefe0 sp=0xc0009cee20 pc=0x41cf87
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc0009cefe8 sp=0xc0009cefe0 pc=0x46dee1
created by runtime.createfing in goroutine 1
        runtime/mfinal.go:163 +0x3d

goroutine 17 [GC worker (idle)]:
runtime.gopark(0xe35d5c5bb8?, 0x0?, 0x0?, 0x0?, 0x0?)
        runtime/proc.go:398 +0xce fp=0xc000080750 sp=0xc000080730 pc=0x43df4e
runtime.gcBgMarkWorker()
        runtime/mgc.go:1295 +0xe5 fp=0xc0000807e0 sp=0xc000080750 pc=0x41fae5
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc0000807e8 sp=0xc0000807e0 pc=0x46dee1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        runtime/mgc.go:1219 +0x1c

goroutine 6 [GC worker (idle)]:
runtime.gopark(0xe4576ac074?, 0x3?, 0xdd?, 0xce?, 0x0?)
        runtime/proc.go:398 +0xce fp=0xc000086750 sp=0xc000086730 pc=0x43df4e
runtime.gcBgMarkWorker()
        runtime/mgc.go:1295 +0xe5 fp=0xc0000867e0 sp=0xc000086750 pc=0x41fae5
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc0000867e8 sp=0xc0000867e0 pc=0x46dee1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        runtime/mgc.go:1219 +0x1c

goroutine 7 [GC worker (idle)]:
runtime.gopark(0xe4576abe97?, 0x1?, 0x28?, 0xce?, 0x0?)
        runtime/proc.go:398 +0xce fp=0xc000086f50 sp=0xc000086f30 pc=0x43df4e
runtime.gcBgMarkWorker()
        runtime/mgc.go:1295 +0xe5 fp=0xc000086fe0 sp=0xc000086f50 pc=0x41fae5
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc000086fe8 sp=0xc000086fe0 pc=0x46dee1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        runtime/mgc.go:1219 +0x1c

goroutine 33 [GC worker (idle)]:
runtime.gopark(0xe4576b3354?, 0x3?, 0xd?, 0x50?, 0x0?)
        runtime/proc.go:398 +0xce fp=0xc000488750 sp=0xc000488730 pc=0x43df4e
runtime.gcBgMarkWorker()
        runtime/mgc.go:1295 +0xe5 fp=0xc0004887e0 sp=0xc000488750 pc=0x41fae5
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc0004887e8 sp=0xc0004887e0 pc=0x46dee1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        runtime/mgc.go:1219 +0x1c

goroutine 8 [GC worker (idle)]:
runtime.gopark(0xe4576b572d?, 0x1?, 0x24?, 0x55?, 0x0?)
        runtime/proc.go:398 +0xce fp=0xc000087750 sp=0xc000087730 pc=0x43df4e
runtime.gcBgMarkWorker()
        runtime/mgc.go:1295 +0xe5 fp=0xc0000877e0 sp=0xc000087750 pc=0x41fae5
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc0000877e8 sp=0xc0000877e0 pc=0x46dee1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        runtime/mgc.go:1219 +0x1c

goroutine 18 [GC worker (idle)]:
runtime.gopark(0xe4576b3489?, 0x3?, 0x58?, 0xa2?, 0x0?)
        runtime/proc.go:398 +0xce fp=0xc000080f50 sp=0xc000080f30 pc=0x43df4e
runtime.gcBgMarkWorker()
        runtime/mgc.go:1295 +0xe5 fp=0xc000080fe0 sp=0xc000080f50 pc=0x41fae5
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc000080fe8 sp=0xc000080fe0 pc=0x46dee1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        runtime/mgc.go:1219 +0x1c

goroutine 34 [GC worker (idle)]:
runtime.gopark(0xe4576b49be?, 0x3?, 0x31?, 0xab?, 0x0?)
        runtime/proc.go:398 +0xce fp=0xc000488f50 sp=0xc000488f30 pc=0x43df4e
runtime.gcBgMarkWorker()
        runtime/mgc.go:1295 +0xe5 fp=0xc000488fe0 sp=0xc000488f50 pc=0x41fae5
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc000488fe8 sp=0xc000488fe0 pc=0x46dee1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        runtime/mgc.go:1219 +0x1c

goroutine 19 [GC worker (idle)]:
runtime.gopark(0xe4576a80aa?, 0x0?, 0x0?, 0x0?, 0x0?)
        runtime/proc.go:398 +0xce fp=0xc000081750 sp=0xc000081730 pc=0x43df4e
runtime.gcBgMarkWorker()
        runtime/mgc.go:1295 +0xe5 fp=0xc0000817e0 sp=0xc000081750 pc=0x41fae5
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc0000817e8 sp=0xc0000817e0 pc=0x46dee1
created by runtime.gcBgMarkStartWorkers in goroutine 1
        runtime/mgc.go:1219 +0x1c

goroutine 11 [select, locked to thread]:
runtime.gopark(0xc00048afa8?, 0x2?, 0xe9?, 0xe1?, 0xc00048afa4?)
        runtime/proc.go:398 +0xce fp=0xc00048ae38 sp=0xc00048ae18 pc=0x43df4e
runtime.selectgo(0xc00048afa8, 0xc00048afa0, 0x0?, 0x0, 0x0?, 0x1)
        runtime/select.go:327 +0x725 fp=0xc00048af58 sp=0xc00048ae38 pc=0x44d9e5
runtime.ensureSigM.func1()
        runtime/signal_unix.go:1014 +0x19f fp=0xc00048afe0 sp=0xc00048af58 pc=0x464ebf
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc00048afe8 sp=0xc00048afe0 pc=0x46dee1
created by runtime.ensureSigM in goroutine 1
        runtime/signal_unix.go:997 +0xc8

goroutine 49 [syscall]:
runtime.notetsleepg(0x0?, 0x0?)
        runtime/lock_futex.go:236 +0x29 fp=0xc000485fa0 sp=0xc000485f68 pc=0x40f049
os/signal.signal_recv()
        runtime/sigqueue.go:152 +0x29 fp=0xc000485fc0 sp=0xc000485fa0 pc=0x46a869
os/signal.loop()
        os/signal/signal_unix.go:23 +0x13 fp=0xc000485fe0 sp=0xc000485fc0 pc=0xd36d13
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc000485fe8 sp=0xc000485fe0 pc=0x46dee1
created by os/signal.Notify.func1.1 in goroutine 1
        os/signal/signal.go:151 +0x1f

goroutine 50 [chan receive]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        runtime/proc.go:398 +0xce fp=0xc0004866b0 sp=0xc000486690 pc=0x43df4e
runtime.chanrecv(0xc0000a94a0, 0x0, 0x1)
        runtime/chan.go:583 +0x3cd fp=0xc000486728 sp=0xc0004866b0 pc=0x409bcd
runtime.chanrecv1(0x0?, 0x0?)
        runtime/chan.go:442 +0x12 fp=0xc000486750 sp=0xc000486728 pc=0x4097d2
github.com/moby/buildkit/util/appcontext.Context.func1.1()
        github.com/moby/[email protected]/util/appcontext/appcontext.go:36 +0x52 fp=0xc0004867e0 sp=0xc000486750 pc=0x1372a32
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc0004867e8 sp=0xc0004867e0 pc=0x46dee1
created by github.com/moby/buildkit/util/appcontext.Context.func1 in goroutine 1
        github.com/moby/[email protected]/util/appcontext/appcontext.go:34 +0x18d

goroutine 51 [IO wait]:
runtime.gopark(0x0?, 0xb?, 0x0?, 0x0?, 0x3?)
        runtime/proc.go:398 +0xce fp=0xc000486df0 sp=0xc000486dd0 pc=0x43df4e
runtime.netpollblock(0x4c06f8?, 0x407de6?, 0x0?)
        runtime/netpoll.go:564 +0xf7 fp=0xc000486e28 sp=0xc000486df0 pc=0x436797
internal/poll.runtime_pollWait(0x7f19810f6e38, 0x72)
        runtime/netpoll.go:343 +0x85 fp=0xc000486e48 sp=0xc000486e28 pc=0x4687a5
internal/poll.(*pollDesc).wait(0xc00018a800?, 0xc000486fbf?, 0x0)
        internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc000486e70 sp=0xc000486e48 pc=0x4dcd47
internal/poll.(*pollDesc).waitRead(...)
        internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00018a800, {0xc000486fbf, 0x1, 0x1})
        internal/poll/fd_unix.go:164 +0x27a fp=0xc000486f08 sp=0xc000486e70 pc=0x4de03a
net.(*netFD).Read(0xc00018a800, {0xc000486fbf?, 0x0?, 0x0?})
        net/fd_posix.go:55 +0x25 fp=0xc000486f50 sp=0xc000486f08 pc=0x58ccc5
net.(*conn).Read(0xc0004e01e0, {0xc000486fbf?, 0x0?, 0x0?})
        net/net.go:179 +0x45 fp=0xc000486f98 sp=0xc000486f50 pc=0x59d5a5
github.com/docker/cli/cli-plugins/socket.ConnectAndWait.func1()
        github.com/docker/[email protected]+incompatible/cli-plugins/socket/socket.go:151 +0x45 fp=0xc000486fe0 sp=0xc000486f98 pc=0x137afc5
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc000486fe8 sp=0xc000486fe0 pc=0x46dee1
created by github.com/docker/cli/cli-plugins/socket.ConnectAndWait in goroutine 1
        github.com/docker/[email protected]+incompatible/cli-plugins/socket/socket.go:148 +0x118

goroutine 52 [select]:
runtime.gopark(0xc000819f50?, 0x3?, 0xe0?, 0x8e?, 0xc000819f0a?)
        runtime/proc.go:398 +0xce fp=0xc000819d80 sp=0xc000819d60 pc=0x43df4e
runtime.selectgo(0xc000819f50, 0xc000819f04, 0xc0001aa0a0?, 0x0, 0x0?, 0x1)
        runtime/select.go:327 +0x725 fp=0xc000819ea0 sp=0xc000819d80 pc=0x44d9e5
go.opentelemetry.io/otel/sdk/trace.(*batchSpanProcessor).processQueue(0xc00059a000)
        go.opentelemetry.io/otel/[email protected]/trace/batch_span_processor.go:312 +0x125 fp=0xc000819fa0 sp=0xc000819ea0 pc=0xbff165
go.opentelemetry.io/otel/sdk/trace.NewBatchSpanProcessor.func1()
        go.opentelemetry.io/otel/[email protected]/trace/batch_span_processor.go:128 +0x54 fp=0xc000819fe0 sp=0xc000819fa0 pc=0xbfe394
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc000819fe8 sp=0xc000819fe0 pc=0x46dee1
created by go.opentelemetry.io/otel/sdk/trace.NewBatchSpanProcessor in goroutine 1
        go.opentelemetry.io/otel/[email protected]/trace/batch_span_processor.go:126 +0x2e5

goroutine 55 [IO wait]:
runtime.gopark(0x90?, 0xb?, 0x0?, 0x0?, 0x7?)
        runtime/proc.go:398 +0xce fp=0xc0003ccab8 sp=0xc0003cca98 pc=0x43df4e
runtime.netpollblock(0x4c06f8?, 0x407de6?, 0x0?)
        runtime/netpoll.go:564 +0xf7 fp=0xc0003ccaf0 sp=0xc0003ccab8 pc=0x436797
internal/poll.runtime_pollWait(0x7f19810f6d40, 0x72)
        runtime/netpoll.go:343 +0x85 fp=0xc0003ccb10 sp=0xc0003ccaf0 pc=0x4687a5
internal/poll.(*pollDesc).wait(0xc00018ad80?, 0xc00059d000?, 0x0)
        internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc0003ccb38 sp=0xc0003ccb10 pc=0x4dcd47
internal/poll.(*pollDesc).waitRead(...)
        internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00018ad80, {0xc00059d000, 0x1000, 0x1000})
        internal/poll/fd_unix.go:164 +0x27a fp=0xc0003ccbd0 sp=0xc0003ccb38 pc=0x4de03a
net.(*netFD).Read(0xc00018ad80, {0xc00059d000?, 0xc0003ccec8?, 0xc000111c20?})
        net/fd_posix.go:55 +0x25 fp=0xc0003ccc18 sp=0xc0003ccbd0 pc=0x58ccc5
net.(*conn).Read(0xc0004e0328, {0xc00059d000?, 0x0?, 0x0?})
        net/net.go:179 +0x45 fp=0xc0003ccc60 sp=0xc0003ccc18 pc=0x59d5a5
net.(*UnixConn).Read(0x23d7f91?, {0xc00059d000?, 0x0?, 0x2?})
        <autogenerated>:1 +0x25 fp=0xc0003ccc90 sp=0xc0003ccc60 pc=0x5af645
net/http.(*persistConn).Read(0xc0003999e0, {0xc00059d000?, 0x44e680?, 0xc0003ccec8?})
        net/http/transport.go:1954 +0x4a fp=0xc0003cccf0 sp=0xc0003ccc90 pc=0x89ff8a
bufio.(*Reader).fill(0xc000111da0)
        bufio/bufio.go:113 +0x103 fp=0xc0003ccd28 sp=0xc0003cccf0 pc=0x557943
bufio.(*Reader).Peek(0xc000111da0, 0x1)
        bufio/bufio.go:151 +0x53 fp=0xc0003ccd48 sp=0xc0003ccd28 pc=0x557a73
net/http.(*persistConn).readLoop(0xc0003999e0)
        net/http/transport.go:2118 +0x1b9 fp=0xc0003ccfc8 sp=0xc0003ccd48 pc=0x8a0d79
net/http.(*Transport).dialConn.func5()
        net/http/transport.go:1776 +0x25 fp=0xc0003ccfe0 sp=0xc0003ccfc8 pc=0x89f5a5
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc0003ccfe8 sp=0xc0003ccfe0 pc=0x46dee1
created by net/http.(*Transport).dialConn in goroutine 54
        net/http/transport.go:1776 +0x169f

goroutine 56 [select]:
runtime.gopark(0xc0003d1f90?, 0x2?, 0xe0?, 0x1d?, 0xc0003d1f1c?)
        runtime/proc.go:398 +0xce fp=0xc0003d1db8 sp=0xc0003d1d98 pc=0x43df4e
runtime.selectgo(0xc0003d1f90, 0xc0003d1f18, 0xc000496a80?, 0x0, 0x0?, 0x1)
        runtime/select.go:327 +0x725 fp=0xc0003d1ed8 sp=0xc0003d1db8 pc=0x44d9e5
net/http.(*persistConn).writeLoop(0xc0003999e0)
        net/http/transport.go:2421 +0xe5 fp=0xc0003d1fc8 sp=0xc0003d1ed8 pc=0x8a2745
net/http.(*Transport).dialConn.func6()
        net/http/transport.go:1777 +0x25 fp=0xc0003d1fe0 sp=0xc0003d1fc8 pc=0x89f545
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc0003d1fe8 sp=0xc0003d1fe0 pc=0x46dee1
created by net/http.(*Transport).dialConn in goroutine 54
        net/http/transport.go:1777 +0x16f1

goroutine 35 [syscall]:
syscall.Syscall(0x10?, 0x10?, 0x80000000000?, 0x7ffff80000000000?)
        syscall/syscall_linux.go:69 +0x25 fp=0xc0005b7868 sp=0xc0005b77f8 pc=0x4c2805
syscall.write(0xc0000a8120?, {0xc0006360e0?, 0x4f7f30?, 0xc0007f2000?})
        syscall/zsyscall_linux_amd64.go:949 +0x3b fp=0xc0005b78a8 sp=0xc0005b7868 pc=0x4c08bb
syscall.Write(...)
        syscall/syscall_unix.go:209
internal/poll.ignoringEINTRIO(...)
        internal/poll/fd_unix.go:736
internal/poll.(*FD).Write(0xc0000a8120, {0xc0006360e0, 0x64, 0xe0})
        internal/poll/fd_unix.go:380 +0x35f fp=0xc0005b7958 sp=0xc0005b78a8 pc=0x4e019f
os.(*File).write(...)
        os/file_posix.go:46
os.(*File).Write(0xc000088030, {0xc0006360e0?, 0x64, 0xc000a547f0?})
        os/file.go:183 +0x51 fp=0xc0005b79b8 sp=0xc0005b7958 pc=0x4e9851
github.com/containerd/console.(*master).Write(0xc0007f2000?, {0xc0006360e0?, 0x1?, 0xc0005b7a28?})
        github.com/containerd/[email protected]/console_unix.go:58 +0x22 fp=0xc0005b79e8 sp=0xc0005b79b8 pc=0x534602
fmt.Fprint({0x7f1980d921b0, 0xc00047e588}, {0xc0005b7b48, 0x1, 0x1})
        fmt/print.go:263 +0x6f fp=0xc0005b7a38 sp=0xc0005b79e8 pc=0x4f4d0f
github.com/moby/buildkit/util/progress/progressui.(*ttyDisplay).print(0xc000171240, {{0x38c97e2b, 0xeddeadf4a, 0x0}, {0xc000a52180, 0x17, 0x18}, 0xb, 0x6}, 0x78, ...)
        github.com/moby/[email protected]/util/progress/progressui/display.go:986 +0x18e fp=0xc0005b7c18 sp=0xc0005b7a38 pc=0xf8beee
github.com/moby/buildkit/util/progress/progressui.(*consoleDisplay).refresh(0xc00035c6f0)
        github.com/moby/[email protected]/util/progress/progressui/display.go:223 +0x105 fp=0xc0005b7d08 sp=0xc0005b7c18 pc=0xf86c25
github.com/moby/buildkit/util/progress/progressui.(*consoleDisplay).update(0xc00035c6f0, 0xc0005b7ddc?)
        github.com/moby/[email protected]/util/progress/progressui/display.go:219 +0x65 fp=0xc0005b7d38 sp=0xc0005b7d08 pc=0xf86ae5
github.com/moby/buildkit/util/progress/progressui.Display.UpdateFrom({{0x278c938?, 0xc00035c6f0?}}, {0x278c660, 0xc0001aa500}, 0xc0003e4060)
        github.com/moby/[email protected]/util/progress/progressui/display.go:110 +0x305 fp=0xc0005b7f40 sp=0xc0005b7d38 pc=0xf85ea5
github.com/docker/buildx/util/progress.NewPrinter.func1()
        github.com/docker/buildx/util/progress/printer.go:120 +0x199 fp=0xc0005b7fe0 sp=0xc0005b7f40 pc=0xf944b9
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc0005b7fe8 sp=0xc0005b7fe0 pc=0x46dee1
created by github.com/docker/buildx/util/progress.NewPrinter in goroutine 1
        github.com/docker/buildx/util/progress/printer.go:108 +0x2e5

goroutine 181 [select]:
runtime.gopark(0xc0005256c0?, 0x2?, 0x0?, 0x0?, 0xc0005256bc?)
        runtime/proc.go:398 +0xce fp=0xc00069d568 sp=0xc00069d548 pc=0x43df4e
runtime.selectgo(0xc00069d6c0, 0xc0005256b8, 0xc00082c2c0?, 0x0, 0xc000525718?, 0x1)
        runtime/select.go:327 +0x725 fp=0xc00069d688 sp=0xc00069d568 pc=0x44d9e5
google.golang.org/grpc/internal/transport.(*Stream).waitOnHeader(0xc0004637a0)
        google.golang.org/[email protected]/internal/transport/transport.go:327 +0x7c fp=0xc00069d6f0 sp=0xc00069d688 pc=0xcae4dc
google.golang.org/grpc/internal/transport.(*Stream).RecvCompress(...)
        google.golang.org/[email protected]/internal/transport/transport.go:342
google.golang.org/grpc.(*csAttempt).recvMsg(0xc00058c000, {0x22b9560?, 0xc00035cea0}, 0x7f1980f79c98?)
        google.golang.org/[email protected]/stream.go:1070 +0xc9 fp=0xc00069d818 sp=0xc00069d6f0 pc=0xd051a9
google.golang.org/grpc.(*clientStream).RecvMsg.func1(0x0?)
        google.golang.org/[email protected]/stream.go:927 +0x1f fp=0xc00069d848 sp=0xc00069d818 pc=0xd0441f
google.golang.org/grpc.(*clientStream).withRetry(0xc000463440, 0xc00069d930, 0xc00069d920)
        google.golang.org/[email protected]/stream.go:776 +0x13a fp=0xc00069d8b8 sp=0xc00069d848 pc=0xd0317a
google.golang.org/grpc.(*clientStream).RecvMsg(0xc000463440, {0x22b9560?, 0xc00035cea0?})
        google.golang.org/[email protected]/stream.go:926 +0x125 fp=0xc00069d980 sp=0xc00069d8b8 pc=0xd04285
google.golang.org/grpc.invoke({0x278c660?, 0xc0000bbdb0?}, {0x24104ea?, 0x23fbd59?}, {0x234c6a0, 0xc00049f400}, {0x22b9560, 0xc00035cea0}, 0x8?, {0xc0000a6a20, ...})
        google.golang.org/[email protected]/call.go:73 +0xcb fp=0xc00069d9e8 sp=0xc00069d980 pc=0xce176b
github.com/moby/buildkit/util/grpcerrors.UnaryClientInterceptor({0x278c660?, 0xc0000bbdb0?}, {0x24104ea?, 0x7f19c7c875b8?}, {0x234c6a0?, 0xc00049f400?}, {0x22b9560?, 0xc00035cea0?}, 0xc0003d2af0?, 0x252cdd0, ...)
        github.com/moby/[email protected]/util/grpcerrors/intercept.go:41 +0x7e fp=0xc00069da68 sp=0xc00069d9e8 pc=0xddfa9e
google.golang.org/grpc.(*ClientConn).Invoke(0xc000100800, {0x278c660?, 0xc0000bbdb0?}, {0x24104ea?, 0xc00049f400?}, {0x234c6a0?, 0xc00049f400?}, {0x22b9560?, 0xc00035cea0?}, {0x0, ...})
        google.golang.org/[email protected]/call.go:35 +0x205 fp=0xc00069db00 sp=0xc00069da68 pc=0xce15e5
github.com/moby/buildkit/api/services/control.(*controlClient).Solve(0xc0003d2d08, {0x278c660, 0xc0000bbdb0}, 0x0?, {0x0, 0x0, 0x0})
        github.com/moby/[email protected]/api/services/control/control.pb.go:2234 +0xc5 fp=0xc00069db80 sp=0xc00069db00 pc=0xf14fa5
github.com/moby/buildkit/client.(*Client).solve.func2()
        github.com/moby/[email protected]/client/solve.go:274 +0xa9b fp=0xc00069df78 sp=0xc00069db80 pc=0xf7625b
golang.org/x/sync/errgroup.(*Group).Go.func1()
        golang.org/x/[email protected]/errgroup/errgroup.go:78 +0x56 fp=0xc00069dfe0 sp=0xc00069df78 pc=0x7a8976
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc00069dfe8 sp=0xc00069dfe0 pc=0x46dee1
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 177
        golang.org/x/[email protected]/errgroup/errgroup.go:75 +0x96

goroutine 14 [IO wait]:
runtime.gopark(0x90?, 0xb?, 0x0?, 0x0?, 0x8?)
        runtime/proc.go:398 +0xce fp=0xc00075aab8 sp=0xc00075aa98 pc=0x43df4e
runtime.netpollblock(0x4c06f8?, 0x407de6?, 0x0?)
        runtime/netpoll.go:564 +0xf7 fp=0xc00075aaf0 sp=0xc00075aab8 pc=0x436797
internal/poll.runtime_pollWait(0x7f19810f6c48, 0x72)
        runtime/netpoll.go:343 +0x85 fp=0xc00075ab10 sp=0xc00075aaf0 pc=0x4687a5
internal/poll.(*pollDesc).wait(0xc000050e80?, 0xc000755000?, 0x0)
        internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc00075ab38 sp=0xc00075ab10 pc=0x4dcd47
internal/poll.(*pollDesc).waitRead(...)
        internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000050e80, {0xc000755000, 0x1000, 0x1000})
        internal/poll/fd_unix.go:164 +0x27a fp=0xc00075abd0 sp=0xc00075ab38 pc=0x4de03a
net.(*netFD).Read(0xc000050e80, {0xc000755000?, 0xc00075aec8?, 0xc000111e60?})
        net/fd_posix.go:55 +0x25 fp=0xc00075ac18 sp=0xc00075abd0 pc=0x58ccc5
net.(*conn).Read(0xc00010e468, {0xc000755000?, 0x0?, 0x0?})
        net/net.go:179 +0x45 fp=0xc00075ac60 sp=0xc00075ac18 pc=0x59d5a5
net.(*UnixConn).Read(0x23d7f91?, {0xc000755000?, 0x0?, 0x2?})
        <autogenerated>:1 +0x25 fp=0xc00075ac90 sp=0xc00075ac60 pc=0x5af645
net/http.(*persistConn).Read(0xc0004639e0, {0xc000755000?, 0x44e680?, 0xc00075aec8?})
        net/http/transport.go:1954 +0x4a fp=0xc00075acf0 sp=0xc00075ac90 pc=0x89ff8a
bufio.(*Reader).fill(0xc0000a9920)
        bufio/bufio.go:113 +0x103 fp=0xc00075ad28 sp=0xc00075acf0 pc=0x557943
bufio.(*Reader).Peek(0xc0000a9920, 0x1)
        bufio/bufio.go:151 +0x53 fp=0xc00075ad48 sp=0xc00075ad28 pc=0x557a73
net/http.(*persistConn).readLoop(0xc0004639e0)
        net/http/transport.go:2118 +0x1b9 fp=0xc00075afc8 sp=0xc00075ad48 pc=0x8a0d79
net/http.(*Transport).dialConn.func5()
        net/http/transport.go:1776 +0x25 fp=0xc00075afe0 sp=0xc00075afc8 pc=0x89f5a5
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc00075afe8 sp=0xc00075afe0 pc=0x46dee1
created by net/http.(*Transport).dialConn in goroutine 13
        net/http/transport.go:1776 +0x169f

goroutine 15 [select]:
runtime.gopark(0xc0003cdf90?, 0x2?, 0xe0?, 0xdd?, 0xc0003cdf1c?)
        runtime/proc.go:398 +0xce fp=0xc0003cddb8 sp=0xc0003cdd98 pc=0x43df4e
runtime.selectgo(0xc0003cdf90, 0xc0003cdf18, 0xc000062340?, 0x0, 0x0?, 0x1)
        runtime/select.go:327 +0x725 fp=0xc0003cded8 sp=0xc0003cddb8 pc=0x44d9e5
net/http.(*persistConn).writeLoop(0xc0004639e0)
        net/http/transport.go:2421 +0xe5 fp=0xc0003cdfc8 sp=0xc0003cded8 pc=0x8a2745
net/http.(*Transport).dialConn.func6()
        net/http/transport.go:1777 +0x25 fp=0xc0003cdfe0 sp=0xc0003cdfc8 pc=0x89f545
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc0003cdfe8 sp=0xc0003cdfe0 pc=0x46dee1
created by net/http.(*Transport).dialConn in goroutine 13
        net/http/transport.go:1777 +0x16f1

goroutine 37 [IO wait]:
runtime.gopark(0x90?, 0xb?, 0x0?, 0x0?, 0x9?)
        runtime/proc.go:398 +0xce fp=0xc0003d3ab8 sp=0xc0003d3a98 pc=0x43df4e
runtime.netpollblock(0x4c06f8?, 0x407de6?, 0x0?)
        runtime/netpoll.go:564 +0xf7 fp=0xc0003d3af0 sp=0xc0003d3ab8 pc=0x436797
internal/poll.runtime_pollWait(0x7f19810f6b50, 0x72)
        runtime/netpoll.go:343 +0x85 fp=0xc0003d3b10 sp=0xc0003d3af0 pc=0x4687a5
internal/poll.(*pollDesc).wait(0xc00048c180?, 0xc0003ea000?, 0x0)
        internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc0003d3b38 sp=0xc0003d3b10 pc=0x4dcd47
internal/poll.(*pollDesc).waitRead(...)
        internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00048c180, {0xc0003ea000, 0x1000, 0x1000})
        internal/poll/fd_unix.go:164 +0x27a fp=0xc0003d3bd0 sp=0xc0003d3b38 pc=0x4de03a
net.(*netFD).Read(0xc00048c180, {0xc0003ea000?, 0xc0003d3ec8?, 0xc0000a99e0?})
        net/fd_posix.go:55 +0x25 fp=0xc0003d3c18 sp=0xc0003d3bd0 pc=0x58ccc5
net.(*conn).Read(0xc000088158, {0xc0003ea000?, 0x0?, 0x0?})
        net/net.go:179 +0x45 fp=0xc0003d3c60 sp=0xc0003d3c18 pc=0x59d5a5
net.(*UnixConn).Read(0x23d7f91?, {0xc0003ea000?, 0x0?, 0x2?})
        <autogenerated>:1 +0x25 fp=0xc0003d3c90 sp=0xc0003d3c60 pc=0x5af645
net/http.(*persistConn).Read(0xc0002ba6c0, {0xc0003ea000?, 0x44e680?, 0xc0003d3ec8?})
        net/http/transport.go:1954 +0x4a fp=0xc0003d3cf0 sp=0xc0003d3c90 pc=0x89ff8a
bufio.(*Reader).fill(0xc00060cea0)
        bufio/bufio.go:113 +0x103 fp=0xc0003d3d28 sp=0xc0003d3cf0 pc=0x557943
bufio.(*Reader).Peek(0xc00060cea0, 0x1)
        bufio/bufio.go:151 +0x53 fp=0xc0003d3d48 sp=0xc0003d3d28 pc=0x557a73
net/http.(*persistConn).readLoop(0xc0002ba6c0)
        net/http/transport.go:2118 +0x1b9 fp=0xc0003d3fc8 sp=0xc0003d3d48 pc=0x8a0d79
net/http.(*Transport).dialConn.func5()
        net/http/transport.go:1776 +0x25 fp=0xc0003d3fe0 sp=0xc0003d3fc8 pc=0x89f5a5
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc0003d3fe8 sp=0xc0003d3fe0 pc=0x46dee1
created by net/http.(*Transport).dialConn in goroutine 36
        net/http/transport.go:1776 +0x169f

goroutine 38 [select]:
runtime.gopark(0xc0003cef90?, 0x2?, 0xe0?, 0xed?, 0xc0003cef1c?)
        runtime/proc.go:398 +0xce fp=0xc0003cedb8 sp=0xc0003ced98 pc=0x43df4e
runtime.selectgo(0xc0003cef90, 0xc0003cef18, 0xc000171540?, 0x0, 0x0?, 0x1)
        runtime/select.go:327 +0x725 fp=0xc0003ceed8 sp=0xc0003cedb8 pc=0x44d9e5
net/http.(*persistConn).writeLoop(0xc0002ba6c0)
        net/http/transport.go:2421 +0xe5 fp=0xc0003cefc8 sp=0xc0003ceed8 pc=0x8a2745
net/http.(*Transport).dialConn.func6()
        net/http/transport.go:1777 +0x25 fp=0xc0003cefe0 sp=0xc0003cefc8 pc=0x89f545
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc0003cefe8 sp=0xc0003cefe0 pc=0x46dee1
created by net/http.(*Transport).dialConn in goroutine 36
        net/http/transport.go:1777 +0x16f1

goroutine 193 [IO wait]:
runtime.gopark(0x4c2805?, 0xb?, 0x0?, 0x0?, 0xc?)
        runtime/proc.go:398 +0xce fp=0xc000826be0 sp=0xc000826bc0 pc=0x43df4e
runtime.netpollblock(0x4c06f8?, 0x407de6?, 0x0?)
        runtime/netpoll.go:564 +0xf7 fp=0xc000826c18 sp=0xc000826be0 pc=0x436797
internal/poll.runtime_pollWait(0x7f19810f6580, 0x72)
        runtime/netpoll.go:343 +0x85 fp=0xc000826c38 sp=0xc000826c18 pc=0x4687a5
internal/poll.(*pollDesc).wait(0xc00018b680?, 0xc00054e120?, 0x0)
        internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc000826c60 sp=0xc000826c38 pc=0x4dcd47
internal/poll.(*pollDesc).waitRead(...)
        internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00018b680, {0xc00054e120, 0x9, 0x9})
        internal/poll/fd_unix.go:164 +0x27a fp=0xc000826cf8 sp=0xc000826c60 pc=0x4de03a
net.(*netFD).Read(0xc00018b680, {0xc00054e120?, 0xc000826f70?, 0x2?})
        net/fd_posix.go:55 +0x25 fp=0xc000826d40 sp=0xc000826cf8 pc=0x58ccc5
net.(*conn).Read(0xc0004e0680, {0xc00054e120?, 0xc000826dc8?, 0xc000826dc8?})
        net/net.go:179 +0x45 fp=0xc000826d88 sp=0xc000826d40 pc=0x59d5a5
net.(*UnixConn).Read(0x1?, {0xc00054e120?, 0xc000826ee8?, 0x44dee6?})
        <autogenerated>:1 +0x25 fp=0xc000826db8 sp=0xc000826d88 pc=0x5af645
io.ReadAtLeast({0x27671c0, 0xc0004e0680}, {0xc00054e120, 0x9, 0x9}, 0x9)
        io/io.go:335 +0x90 fp=0xc000826e00 sp=0xc000826db8 pc=0x4b5150
io.ReadFull(...)
        io/io.go:354
golang.org/x/net/http2.readFrameHeader({0xc00054e120, 0x9, 0x0?}, {0x27671c0?, 0xc0004e0680?})
        golang.org/x/[email protected]/http2/frame.go:237 +0x65 fp=0xc000826e50 sp=0xc000826e00 pc=0xc52585
golang.org/x/net/http2.(*Framer).ReadFrame(0xc00054e0e0)
        golang.org/x/[email protected]/http2/frame.go:498 +0x85 fp=0xc000826ef8 sp=0xc000826e50 pc=0xc52cc5
golang.org/x/net/http2.(*serverConn).readFrames(0xc0005ceea0)
        golang.org/x/[email protected]/http2/server.go:821 +0x87 fp=0xc000826fc8 sp=0xc000826ef8 pc=0xc5d6a7
golang.org/x/net/http2.(*serverConn).serve.func7()
        golang.org/x/[email protected]/http2/server.go:933 +0x25 fp=0xc000826fe0 sp=0xc000826fc8 pc=0xc5ece5
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc000826fe8 sp=0xc000826fe0 pc=0x46dee1
created by golang.org/x/net/http2.(*serverConn).serve in goroutine 180
        golang.org/x/[email protected]/http2/server.go:933 +0x56a

goroutine 28 [IO wait]:
runtime.gopark(0x4105a5?, 0xb?, 0x0?, 0x0?, 0xa?)
        runtime/proc.go:398 +0xce fp=0xc000757ab8 sp=0xc000757a98 pc=0x43df4e
runtime.netpollblock(0x4c06f8?, 0x407de6?, 0x0?)
        runtime/netpoll.go:564 +0xf7 fp=0xc000757af0 sp=0xc000757ab8 pc=0x436797
internal/poll.runtime_pollWait(0x7f19810f6a58, 0x72)
        runtime/netpoll.go:343 +0x85 fp=0xc000757b10 sp=0xc000757af0 pc=0x4687a5
internal/poll.(*pollDesc).wait(0xc00042c300?, 0xc00043a000?, 0x0)
        internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc000757b38 sp=0xc000757b10 pc=0x4dcd47
internal/poll.(*pollDesc).waitRead(...)
        internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00042c300, {0xc00043a000, 0x1000, 0x1000})
        internal/poll/fd_unix.go:164 +0x27a fp=0xc000757bd0 sp=0xc000757b38 pc=0x4de03a
net.(*netFD).Read(0xc00042c300, {0xc00043a000?, 0x899cc0?, 0xc00049e000?})
        net/fd_posix.go:55 +0x25 fp=0xc000757c18 sp=0xc000757bd0 pc=0x58ccc5
net.(*conn).Read(0xc000418058, {0xc00043a000?, 0x0?, 0xc00071dd40?})
        net/net.go:179 +0x45 fp=0xc000757c60 sp=0xc000757c18 pc=0x59d5a5
net.(*UnixConn).Read(0x4?, {0xc00043a000?, 0x408fba?, 0x17?})
        <autogenerated>:1 +0x25 fp=0xc000757c90 sp=0xc000757c60 pc=0x5af645
net/http.(*persistConn).Read(0xc0004347e0, {0xc00043a000?, 0xc00042a480?, 0xc000757d38?})
        net/http/transport.go:1954 +0x4a fp=0xc000757cf0 sp=0xc000757c90 pc=0x89ff8a
bufio.(*Reader).fill(0xc000424540)
        bufio/bufio.go:113 +0x103 fp=0xc000757d28 sp=0xc000757cf0 pc=0x557943
bufio.(*Reader).Peek(0xc000424540, 0x1)
        bufio/bufio.go:151 +0x53 fp=0xc000757d48 sp=0xc000757d28 pc=0x557a73
net/http.(*persistConn).readLoop(0xc0004347e0)
        net/http/transport.go:2118 +0x1b9 fp=0xc000757fc8 sp=0xc000757d48 pc=0x8a0d79
net/http.(*Transport).dialConn.func5()
        net/http/transport.go:1776 +0x25 fp=0xc000757fe0 sp=0xc000757fc8 pc=0x89f5a5
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc000757fe8 sp=0xc000757fe0 pc=0x46dee1
created by net/http.(*Transport).dialConn in goroutine 27
        net/http/transport.go:1776 +0x169f

goroutine 29 [select]:
runtime.gopark(0xc0003cff90?, 0x2?, 0xe0?, 0xfd?, 0xc0003cff1c?)
        runtime/proc.go:398 +0xce fp=0xc0003cfdb8 sp=0xc0003cfd98 pc=0x43df4e
runtime.selectgo(0xc0003cff90, 0xc0003cff18, 0xc00041a300?, 0x0, 0x0?, 0x1)
        runtime/select.go:327 +0x725 fp=0xc0003cfed8 sp=0xc0003cfdb8 pc=0x44d9e5
net/http.(*persistConn).writeLoop(0xc0004347e0)
        net/http/transport.go:2421 +0xe5 fp=0xc0003cffc8 sp=0xc0003cfed8 pc=0x8a2745
net/http.(*Transport).dialConn.func6()
        net/http/transport.go:1777 +0x25 fp=0xc0003cffe0 sp=0xc0003cffc8 pc=0x89f545
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc0003cffe8 sp=0xc0003cffe0 pc=0x46dee1
created by net/http.(*Transport).dialConn in goroutine 27
        net/http/transport.go:1777 +0x16f1

goroutine 58 [select]:
runtime.gopark(0xc00051bf80?, 0x2?, 0x0?, 0x0?, 0xc00051bf44?)
        runtime/proc.go:398 +0xce fp=0xc00051bdd0 sp=0xc00051bdb0 pc=0x43df4e
runtime.selectgo(0xc00051bf80, 0xc00051bf40, 0x0?, 0x0, 0x0?, 0x1)
        runtime/select.go:327 +0x725 fp=0xc00051bef0 sp=0xc00051bdd0 pc=0x44d9e5
google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run(0xc0000a6a60, {0x278c660, 0xc00048e9b0})
        google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:83 +0x112 fp=0xc00051bfb8 sp=0xc00051bef0 pc=0xc20dd2
google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer.func1()
        google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:55 +0x28 fp=0xc00051bfe0 sp=0xc00051bfb8 pc=0xc20b08
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc00051bfe8 sp=0xc00051bfe0 pc=0x46dee1
created by google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer in goroutine 25
        google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:55 +0x129

goroutine 59 [select]:
runtime.gopark(0xc0005d4f80?, 0x2?, 0x70?, 0x4e?, 0xc0005d4f44?)
        runtime/proc.go:398 +0xce fp=0xc0005d4dd0 sp=0xc0005d4db0 pc=0x43df4e
runtime.selectgo(0xc0005d4f80, 0xc0005d4f40, 0x0?, 0x0, 0x0?, 0x1)
        runtime/select.go:327 +0x725 fp=0xc0005d4ef0 sp=0xc0005d4dd0 pc=0x44d9e5
google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run(0xc0000a6b00, {0x278c660, 0xc00048ea00})
        google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:83 +0x112 fp=0xc0005d4fb8 sp=0xc0005d4ef0 pc=0xc20dd2
google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer.func1()
        google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:55 +0x28 fp=0xc0005d4fe0 sp=0xc0005d4fb8 pc=0xc20b08
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc0005d4fe8 sp=0xc0005d4fe0 pc=0x46dee1
created by google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer in goroutine 25
        google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:55 +0x129

goroutine 60 [select]:
runtime.gopark(0xc0005dff80?, 0x2?, 0x60?, 0x90?, 0xc0005dff44?)
        runtime/proc.go:398 +0xce fp=0xc000829dd0 sp=0xc000829db0 pc=0x43df4e
runtime.selectgo(0xc000829f80, 0xc0005dff40, 0x4?, 0x0, 0x17?, 0x1)
        runtime/select.go:327 +0x725 fp=0xc000829ef0 sp=0xc000829dd0 pc=0x44d9e5
google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run(0xc0000a6b60, {0x278c660, 0xc00048ea50})
        google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:83 +0x112 fp=0xc000829fb8 sp=0xc000829ef0 pc=0xc20dd2
google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer.func1()
        google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:55 +0x28 fp=0xc000829fe0 sp=0xc000829fb8 pc=0xc20b08
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc000829fe8 sp=0xc000829fe0 pc=0x46dee1
created by google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer in goroutine 25
        google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:55 +0x129

goroutine 62 [select]:
runtime.gopark(0xc000487f60?, 0x2?, 0x85?, 0x5a?, 0xc000487f04?)
        runtime/proc.go:398 +0xce fp=0xc000487d90 sp=0xc000487d70 pc=0x43df4e
runtime.selectgo(0xc000487f60, 0xc000487f00, 0xc000261500?, 0x0, 0xc00048ea60?, 0x1)
        runtime/select.go:327 +0x725 fp=0xc000487eb0 sp=0xc000487d90 pc=0x44d9e5
github.com/moby/buildkit/util/tracing/otlptracegrpc.(*Connection).indefiniteBackgroundConnection(0xc00048ee10)
        github.com/moby/[email protected]/util/tracing/otlptracegrpc/connection.go:134 +0x1af fp=0xc000487fc8 sp=0xc000487eb0 pc=0xf4360f
github.com/moby/buildkit/util/tracing/otlptracegrpc.(*Connection).StartConnection.func1()
        github.com/moby/[email protected]/util/tracing/otlptracegrpc/connection.go:74 +0x25 fp=0xc000487fe0 sp=0xc000487fc8 pc=0xf43305
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc000487fe8 sp=0xc000487fe0 pc=0x46dee1
created by github.com/moby/buildkit/util/tracing/otlptracegrpc.(*Connection).StartConnection in goroutine 25
        github.com/moby/[email protected]/util/tracing/otlptracegrpc/connection.go:74 +0x125

goroutine 178 [semacquire]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0xc6?, 0x0?)
        runtime/proc.go:398 +0xce fp=0xc00050ed00 sp=0xc00050ece0 pc=0x43df4e
runtime.goparkunlock(...)
        runtime/proc.go:404
runtime.semacquire1(0xc0007aaa10, 0x40?, 0x1, 0x0, 0x68?)
        runtime/sema.go:160 +0x218 fp=0xc00050ed68 sp=0xc00050ed00 pc=0x44ea18
sync.runtime_Semacquire(0xc0005f1110?)
        runtime/sema.go:62 +0x25 fp=0xc00050eda0 sp=0xc00050ed68 pc=0x46a105
sync.(*WaitGroup).Wait(0x2230340?)
        sync/waitgroup.go:116 +0x48 fp=0xc00050edc8 sp=0xc00050eda0 pc=0x48b3c8
golang.org/x/sync/errgroup.(*Group).Wait(0xc0007aaa00)
        golang.org/x/[email protected]/errgroup/errgroup.go:56 +0x25 fp=0xc00050ede8 sp=0xc00050edc8 pc=0x7a8805
github.com/docker/buildx/build.BuildWithResultHandler.func3.2()
        github.com/docker/buildx/build/build.go:532 +0x1ab fp=0xc00050ef78 sp=0xc00050ede8 pc=0x12f5b6b
golang.org/x/sync/errgroup.(*Group).Go.func1()
        golang.org/x/[email protected]/errgroup/errgroup.go:78 +0x56 fp=0xc00050efe0 sp=0xc00050ef78 pc=0x7a8976
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc00050efe8 sp=0xc00050efe0 pc=0x46dee1
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 1
        golang.org/x/[email protected]/errgroup/errgroup.go:75 +0x96

goroutine 40 [IO wait]:
runtime.gopark(0xc0001ab8c0?, 0xb?, 0x0?, 0x0?, 0xb?)
        runtime/proc.go:398 +0xce fp=0xc0005b5ae0 sp=0xc0005b5ac0 pc=0x43df4e
runtime.netpollblock(0x4c06f8?, 0x407de6?, 0x0?)
        runtime/netpoll.go:564 +0xf7 fp=0xc0005b5b18 sp=0xc0005b5ae0 pc=0x436797
internal/poll.runtime_pollWait(0x7f19810f6960, 0x72)
        runtime/netpoll.go:343 +0x85 fp=0xc0005b5b38 sp=0xc0005b5b18 pc=0x4687a5
internal/poll.(*pollDesc).wait(0xc00048c400?, 0xc000582000?, 0x0)
        internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc0005b5b60 sp=0xc0005b5b38 pc=0x4dcd47
internal/poll.(*pollDesc).waitRead(...)
        internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00048c400, {0xc000582000, 0x8000, 0x8000})
        internal/poll/fd_unix.go:164 +0x27a fp=0xc0005b5bf8 sp=0xc0005b5b60 pc=0x4de03a
net.(*netFD).Read(0xc00048c400, {0xc000582000?, 0xc000103d40?, 0xc0005b5c90?})
        net/fd_posix.go:55 +0x25 fp=0xc0005b5c40 sp=0xc0005b5bf8 pc=0x58ccc5
net.(*conn).Read(0xc000088178, {0xc000582000?, 0xc0007acc60?, 0xc0005b5cd0?})
        net/net.go:179 +0x45 fp=0xc0005b5c88 sp=0xc0005b5c40 pc=0x59d5a5
net.(*UnixConn).Read(0xc0005b5d40?, {0xc000582000?, 0x18?, 0xc0005b5d58?})
        <autogenerated>:1 +0x25 fp=0xc0005b5cb8 sp=0xc0005b5c88 pc=0x5af645
bufio.(*Reader).Read(0xc00060d1a0, {0xc0004fe040, 0x9, 0x170000025b?})
        bufio/bufio.go:244 +0x197 fp=0xc0005b5cf0 sp=0xc0005b5cb8 pc=0x557e77
io.ReadAtLeast({0x27660c0, 0xc00060d1a0}, {0xc0004fe040, 0x9, 0x9}, 0x9)
        io/io.go:335 +0x90 fp=0xc0005b5d38 sp=0xc0005b5cf0 pc=0x4b5150
io.ReadFull(...)
        io/io.go:354
golang.org/x/net/http2.readFrameHeader({0xc0004fe040, 0x9, 0xc00035da40?}, {0x27660c0?, 0xc00060d1a0?})
        golang.org/x/[email protected]/http2/frame.go:237 +0x65 fp=0xc0005b5d88 sp=0xc0005b5d38 pc=0xc52585
golang.org/x/net/http2.(*Framer).ReadFrame(0xc0004fe000)
        golang.org/x/[email protected]/http2/frame.go:498 +0x85 fp=0xc0005b5e30 sp=0xc0005b5d88 pc=0xc52cc5
google.golang.org/grpc/internal/transport.(*http2Client).reader(0xc000616000, 0xc0002ba6c0?)
        google.golang.org/[email protected]/internal/transport/http2_client.go:1585 +0x245 fp=0xc0005b5fc0 sp=0xc0005b5e30 pc=0xc9ea45
google.golang.org/grpc/internal/transport.newHTTP2Client.func11()
        google.golang.org/[email protected]/internal/transport/http2_client.go:397 +0x25 fp=0xc0005b5fe0 sp=0xc0005b5fc0 pc=0xc94be5
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc0005b5fe8 sp=0xc0005b5fe0 pc=0x46dee1
created by google.golang.org/grpc/internal/transport.newHTTP2Client in goroutine 61
        google.golang.org/[email protected]/internal/transport/http2_client.go:397 +0x1e93

goroutine 41 [select]:
runtime.gopark(0xc000523f00?, 0x2?, 0x1e?, 0x0?, 0xc000523ed4?)
        runtime/proc.go:398 +0xce fp=0xc000523d80 sp=0xc000523d60 pc=0x43df4e
runtime.selectgo(0xc000523f00, 0xc000523ed0, 0xcabfd6?, 0x0, 0xc00060e000?, 0x1)
        runtime/select.go:327 +0x725 fp=0xc000523ea0 sp=0xc000523d80 pc=0x44d9e5
google.golang.org/grpc/internal/transport.(*controlBuffer).get(0xc0001ab8b0, 0x1)
        google.golang.org/[email protected]/internal/transport/controlbuf.go:418 +0x113 fp=0xc000523f30 sp=0xc000523ea0 pc=0xc8ae33
google.golang.org/grpc/internal/transport.(*loopyWriter).run(0xc0002159d0)
        google.golang.org/[email protected]/internal/transport/controlbuf.go:552 +0x86 fp=0xc000523f90 sp=0xc000523f30 pc=0xc8b546
google.golang.org/grpc/internal/transport.newHTTP2Client.func6()
        google.golang.org/[email protected]/internal/transport/http2_client.go:451 +0x85 fp=0xc000523fe0 sp=0xc000523f90 pc=0xc94ae5
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc000523fe8 sp=0xc000523fe0 pc=0x46dee1
created by google.golang.org/grpc/internal/transport.newHTTP2Client in goroutine 61
        google.golang.org/[email protected]/internal/transport/http2_client.go:449 +0x2433

goroutine 150 [chan receive]:
runtime.gopark(0xc0003e45a0?, 0xc000518790?, 0xcb?, 0xd8?, 0x0?)
        runtime/proc.go:398 +0xce fp=0xc000518710 sp=0xc0005186f0 pc=0x43df4e
runtime.chanrecv(0xc00011d200, 0x0, 0x1)
        runtime/chan.go:583 +0x3cd fp=0xc000518788 sp=0xc000518710 pc=0x409bcd
runtime.chanrecv1(0xc0003e45a0?, 0x0?)
        runtime/chan.go:442 +0x12 fp=0xc0005187b0 sp=0xc000518788 pc=0x4097d2
github.com/moby/buildkit/session.serve.func1()
        github.com/moby/[email protected]/session/grpc.go:26 +0x35 fp=0xc0005187e0 sp=0xc0005187b0 pc=0xecb295
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc0005187e8 sp=0xc0005187e0 pc=0x46dee1
created by github.com/moby/buildkit/session.serve in goroutine 180
        github.com/moby/[email protected]/session/grpc.go:25 +0xc9

goroutine 179 [chan receive]:
runtime.gopark(0xc000425020?, 0xc00029ad20?, 0xa0?, 0x2?, 0xc000815ee0?)
        runtime/proc.go:398 +0xce fp=0xc000b82e88 sp=0xc000b82e68 pc=0x43df4e
runtime.chanrecv(0xc000800420, 0xc000b82fc0, 0x1)
        runtime/chan.go:583 +0x3cd fp=0xc000b82f00 sp=0xc000b82e88 pc=0x409bcd
runtime.chanrecv2(0xc000313980?, 0xc0008b9980?)
        runtime/chan.go:447 +0x12 fp=0xc000b82f28 sp=0xc000b82f00 pc=0x4097f2
github.com/docker/buildx/util/progress.NewChannel.func1()
        github.com/docker/buildx/util/progress/writer.go:54 +0x77 fp=0xc000b82fe0 sp=0xc000b82f28 pc=0xf96497
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc000b82fe8 sp=0xc000b82fe0 pc=0x46dee1
created by github.com/docker/buildx/util/progress.NewChannel in goroutine 177
        github.com/docker/buildx/util/progress/writer.go:52 +0xc5

goroutine 180 [select]:
runtime.gopark(0xc0008855b8?, 0x5?, 0xb3?, 0x91?, 0xc00088517e?)
        runtime/proc.go:398 +0xce fp=0xc000884fd0 sp=0xc000884fb0 pc=0x43df4e
runtime.selectgo(0xc0008855b8, 0xc000885174, 0x39f4480?, 0x0, 0x0?, 0x1)
        runtime/select.go:327 +0x725 fp=0xc0008850f0 sp=0xc000884fd0 pc=0x44d9e5
golang.org/x/net/http2.(*serverConn).serve(0xc0005ceea0)
        golang.org/x/[email protected]/http2/server.go:941 +0x88f fp=0xc000885618 sp=0xc0008850f0 pc=0xc5e50f
golang.org/x/net/http2.(*Server).ServeConn(0xc00048f310, {0x2795148?, 0xc0004e0680}, 0xc000885918)
        golang.org/x/[email protected]/http2/server.go:532 +0xbcc fp=0xc0008858d0 sp=0xc000885618 pc=0xc5c80c
github.com/moby/buildkit/session.serve({0x278c660?, 0xc00048f270}, 0xc0004365a0, {0x2795148?, 0xc0004e0680})
        github.com/moby/[email protected]/session/grpc.go:30 +0x165 fp=0xc000885978 sp=0xc0008858d0 pc=0xecb205
github.com/moby/buildkit/session.(*Session).Run(0xc000790800, {0x278c628?, 0xc0005f1620?}, 0xc00044c7f0)
        github.com/moby/[email protected]/session/session.go:121 +0x985 fp=0xc000885f10 sp=0xc000885978 pc=0xecc605
github.com/moby/buildkit/client.(*Client).solve.func1()
        github.com/moby/[email protected]/client/solve.go:218 +0xbc fp=0xc000885f78 sp=0xc000885f10 pc=0xf7687c
golang.org/x/sync/errgroup.(*Group).Go.func1()
        golang.org/x/[email protected]/errgroup/errgroup.go:78 +0x56 fp=0xc000885fe0 sp=0xc000885f78 pc=0x7a8976
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc000885fe8 sp=0xc000885fe0 pc=0x46dee1
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 177
        golang.org/x/[email protected]/errgroup/errgroup.go:75 +0x96

goroutine 184 [select]:
runtime.gopark(0xc000724fb0?, 0x2?, 0xef?, 0xe9?, 0xc000724f94?)
        runtime/proc.go:398 +0xce fp=0xc000724e38 sp=0xc000724e18 pc=0x43df4e
runtime.selectgo(0xc000724fb0, 0xc000724f90, 0xc000724fb8?, 0x0, 0xc00058e000?, 0x1)
        runtime/select.go:327 +0x725 fp=0xc000724f58 sp=0xc000724e38 pc=0x44d9e5
google.golang.org/grpc.newClientStreamWithParams.func4()
        google.golang.org/[email protected]/stream.go:391 +0x8c fp=0xc000724fe0 sp=0xc000724f58 pc=0xd014ec
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc000724fe8 sp=0xc000724fe0 pc=0x46dee1
created by google.golang.org/grpc.newClientStreamWithParams in goroutine 183
        google.golang.org/[email protected]/stream.go:390 +0xe9c

goroutine 177 [semacquire]:
runtime.gopark(0xc000786cc0?, 0x40fdef?, 0xe0?, 0x8d?, 0x7f19c7c90130?)
        runtime/proc.go:398 +0xce fp=0xc000786c78 sp=0xc000786c58 pc=0x43df4e
runtime.goparkunlock(...)
        runtime/proc.go:404
runtime.semacquire1(0xc000170350, 0x18?, 0x1, 0x0, 0x4b?)
        runtime/sema.go:160 +0x218 fp=0xc000786ce0 sp=0xc000786c78 pc=0x44ea18
sync.runtime_Semacquire(0xc000011200?)
        runtime/sema.go:62 +0x25 fp=0xc000786d18 sp=0xc000786ce0 pc=0x46a105
sync.(*WaitGroup).Wait(0x221c2c0?)
        sync/waitgroup.go:116 +0x48 fp=0xc000786d40 sp=0xc000786d18 pc=0x48b3c8
golang.org/x/sync/errgroup.(*Group).Wait(0xc000170340)
        golang.org/x/[email protected]/errgroup/errgroup.go:56 +0x25 fp=0xc000786d60 sp=0xc000786d40 pc=0x7a8805
github.com/moby/buildkit/client.(*Client).solve(0xc00044d310, {_, _}, _, _, {{0xc00058a990, 0x1, 0x1}, 0x0, 0xc000753e60, ...}, ...)
        github.com/moby/[email protected]/client/solve.go:341 +0x1d32 fp=0xc0007873f0 sp=0xc000786d60 pc=0xf74d72
github.com/moby/buildkit/client.(*Client).Build(0xc00044d310, {_, _}, {{0xc00058a990, 0x1, 0x1}, 0x0, 0xc000753e60, 0x0, {0x0, ...}, ...}, ...)
        github.com/moby/[email protected]/client/build.go:65 +0x4e8 fp=0xc0007875f0 sp=0xc0007873f0 pc=0xf6de28
github.com/docker/buildx/build.BuildWithResultHandler.func3.1()
        github.com/docker/buildx/build/build.go:456 +0xb3c fp=0xc000787f78 sp=0xc0007875f0 pc=0x12f777c
golang.org/x/sync/errgroup.(*Group).Go.func1()
        golang.org/x/[email protected]/errgroup/errgroup.go:78 +0x56 fp=0xc000787fe0 sp=0xc000787f78 pc=0x7a8976
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc000787fe8 sp=0xc000787fe0 pc=0x46dee1
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 1
        golang.org/x/[email protected]/errgroup/errgroup.go:75 +0x96

goroutine 183 [select]:
runtime.gopark(0xc000813938?, 0x2?, 0x80?, 0x43?, 0xc000813904?)
        runtime/proc.go:398 +0xce fp=0xc0008137a8 sp=0xc000813788 pc=0x43df4e
runtime.selectgo(0xc000813938, 0xc000813900, 0xc000813990?, 0x0, 0x279fc58?, 0x1)
        runtime/select.go:327 +0x725 fp=0xc0008138c8 sp=0xc0008137a8 pc=0x44d9e5
google.golang.org/grpc/internal/transport.(*recvBufferReader).readClient(0xc0003f4000, {0xc00062e010, 0x5, 0x5})
        google.golang.org/[email protected]/internal/transport/transport.go:191 +0x98 fp=0xc000813968 sp=0xc0008138c8 pc=0xcae158
google.golang.org/grpc/internal/transport.(*recvBufferReader).Read(0xc0003f4000, {0xc00062e010?, 0xc0007c21c8?, 0xc0008139b0?})
        google.golang.org/[email protected]/internal/transport/transport.go:171 +0x12d fp=0xc0008139a8 sp=0xc000813968 pc=0xcadecd
google.golang.org/grpc/internal/transport.(*transportReader).Read(0xc0005f1f80, {0xc00062e010?, 0xc000813a28?, 0xc95685?})
        google.golang.org/[email protected]/internal/transport/transport.go:506 +0x2c fp=0xc0008139f0 sp=0xc0008139a8 pc=0xcaf38c
io.ReadAtLeast({0x276cae0, 0xc0005f1f80}, {0xc00062e010, 0x5, 0x5}, 0x5)
        io/io.go:335 +0x90 fp=0xc000813a38 sp=0xc0008139f0 pc=0x4b5150
io.ReadFull(...)
        io/io.go:354
google.golang.org/grpc/internal/transport.(*Stream).Read(0xc0007bf440, {0xc00062e010, 0x5, 0x5})
        google.golang.org/[email protected]/internal/transport/transport.go:490 +0x96 fp=0xc000813a78 sp=0xc000813a38 pc=0xcaf2f6
google.golang.org/grpc.(*parser).recvMsg(0xc00062e000, 0x1000000)
        google.golang.org/[email protected]/rpc_util.go:600 +0x46 fp=0xc000813b08 sp=0xc000813a78 pc=0xcf1626
google.golang.org/grpc.recvAndDecompress(0xec1e0a?, 0xc0007bf440, {0x0, 0x0}, 0x1000000, 0xc000813d10, {0x0, 0x0})
        google.golang.org/[email protected]/rpc_util.go:730 +0x5a fp=0xc000813ba0 sp=0xc000813b08 pc=0xcf1e1a
google.golang.org/grpc.recv(0xc00062e000, {0x7f1980f79c98, 0x39f4480}, 0xc000813ca0?, {0x0, 0x0}, {0x2313120, 0xc00048d080}, 0xc000813d28?, 0xc000813d10, ...)
        google.golang.org/[email protected]/rpc_util.go:796 +0xa6 fp=0xc000813c18 sp=0xc000813ba0 pc=0xcf2506
google.golang.org/grpc.(*csAttempt).recvMsg(0xc0007975f0, {0x2313120?, 0xc00048d080}, 0x418f88?)
        google.golang.org/[email protected]/stream.go:1084 +0x289 fp=0xc000813d40 sp=0xc000813c18 pc=0xd05369
google.golang.org/grpc.(*clientStream).RecvMsg.func1(0x20?)
        google.golang.org/[email protected]/stream.go:927 +0x1f fp=0xc000813d70 sp=0xc000813d40 pc=0xd0441f
google.golang.org/grpc.(*clientStream).withRetry(0xc0007bf200, 0xc000813e58, 0xc000813e48)
        google.golang.org/[email protected]/stream.go:760 +0x3ae fp=0xc000813de0 sp=0xc000813d70 pc=0xd033ee
google.golang.org/grpc.(*clientStream).RecvMsg(0xc0007bf200, {0x2313120?, 0xc00048d080?})
        google.golang.org/[email protected]/stream.go:926 +0x125 fp=0xc000813ea8 sp=0xc000813de0 pc=0xd04285
github.com/moby/buildkit/api/services/control.(*controlStatusClient).Recv(0xc00011bf80)
        github.com/moby/[email protected]/api/services/control/control.pb.go:2267 +0x46 fp=0xc000813ed8 sp=0xc000813ea8 pc=0xf15206
github.com/moby/buildkit/client.(*Client).solve.func4()
        github.com/moby/[email protected]/client/solve.go:328 +0x104 fp=0xc000813f78 sp=0xc000813ed8 pc=0xf75564
golang.org/x/sync/errgroup.(*Group).Go.func1()
        golang.org/x/[email protected]/errgroup/errgroup.go:78 +0x56 fp=0xc000813fe0 sp=0xc000813f78 pc=0x7a8976
runtime.goexit()
        runtime/asm_amd64.s:1650 +0x1 fp=0xc000813fe8 sp=0xc000813fe0 pc=0x46dee1
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 177
        golang.org/x/[email protected]/errgroup/errgroup.go:75 +0x96

rax    0x7
rbx    0x0
rcx    0xc000062000
rdx    0x8
rdi    0x43b440
rsi    0x0
rbp    0xc000749d38
rsp    0xc000749d10
r8     0x0
r9     0x1
r10    0x20
r11    0x246
r12    0xc000749e80
r13    0xffffffffffffffff
r14    0xc0005ce820
r15    0x0
rip    0x4491f8
rflags 0x10297
cs     0x33
fs     0x0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.