oasisprotocol / oasisprotocol/cli
`oasis rofl build` with container builder fails when creating rootfs image with: `failed to copy file content: write |1: broken pipe`
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 80
- Forks
- 23
- Avg merge
- 9h 43m
- Merged PRs (30d)
- 3
Description
I've created a new ROFL project, ROFL Go Starter, with Oasis CLI 0.19.0.
When building the ROFL bundle through the container builder on my Fedora 43 system with Podman, I get the following error:
[tadej@toronto ~/Code/rofl-go-starter (master)]$ oasis rofl build
Building a ROFL application...
Deployment: testnet
Network: testnet
ParaTime: sapphire
Debug: false
App ID: rofl1qphpdgztdm6edd7fhaulpg47qghtcr7uzyfgua3w
Name: rofl-go-starter
Version: 0.1.0
TEE: tdx
Kind: container
Using container build environment (image: ghcr.io/oasisprotocol/rofl-container-builder:0.0.1@sha256:913ef97ab07dde31f08ce873f825bf3d4f32ad4102ff5797d7c3050c121c4dce)
Initializing build environment...
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
Building a container-based TDX ROFL application...
Downloading firmware artifact...
URI: https://github.com/oasisprotocol/oasis-boot/releases/download/v0.6.2/ovmf.tdx.fd#db47100a7d6a0c1f6983be224137c3f8d7cb09b63bb1c7a5ee7829d8e994a42f
Hash: db47100a7d6a0c1f6983be224137c3f8d7cb09b63bb1c7a5ee7829d8e994a42f
(using cached artifact)
Downloading kernel artifact...
URI: https://github.com/oasisprotocol/oasis-boot/releases/download/v0.6.2/stage1.bin#e5d4d654ca1fa2c388bf64b23fc6e67815893fc7cb8b7cfee253d87963f54973
Hash: e5d4d654ca1fa2c388bf64b23fc6e67815893fc7cb8b7cfee253d87963f54973
(using cached artifact)
Downloading stage 2 template artifact...
URI: https://github.com/oasisprotocol/oasis-boot/releases/download/v0.6.2/stage2-podman.tar.bz2#b2ea2a0ca769b6b2d64e3f0c577ee9c08f0bb81a6e33ed5b15b2a7e50ef9a09f
Hash: b2ea2a0ca769b6b2d64e3f0c577ee9c08f0bb81a6e33ed5b15b2a7e50ef9a09f
(using cached artifact)
Downloading rofl-container runtime artifact...
URI: https://github.com/oasisprotocol/oasis-sdk/releases/download/rofl-containers%2Fv0.8.6/rofl-containers#5aa26a3c5a7e1d284e217959d89b7a620ea7b7fc5079909e25042124ffb384e8
Hash: 5aa26a3c5a7e1d284e217959d89b7a620ea7b7fc5079909e25042124ffb384e8
(using cached artifact)
Downloading compose.yaml artifact...
URI: compose.yaml
Validating compose file...
Preparing stage 2 root filesystem...
Runtime hash: 5aa26a3c5a7e1d284e217959d89b7a620ea7b7fc5079909e25042124ffb384e8
Creating squashfs filesystem...
Error: failed to create rootfs image: failed to copy file content: write |1: broken pipe
Building without the container builder (i.e. passing --no-container) works:
[tadej@toronto ~/Code/rofl-go-starter (master)]$ oasis rofl build --no-container
Building a ROFL application...
Deployment: testnet
Network: testnet
ParaTime: sapphire
Debug: false
App ID: rofl1qphpdgztdm6edd7fhaulpg47qghtcr7uzyfgua3w
Name: rofl-go-starter
Version: 0.1.0
TEE: tdx
Kind: container
Building a container-based TDX ROFL application...
Downloading firmware artifact...
URI: https://github.com/oasisprotocol/oasis-boot/releases/download/v0.6.2/ovmf.tdx.fd#db47100a7d6a0c1f6983be224137c3f8d7cb09b63bb1c7a5ee7829d8e994a42f
Hash: db47100a7d6a0c1f6983be224137c3f8d7cb09b63bb1c7a5ee7829d8e994a42f
(using cached artifact)
Downloading kernel artifact...
URI: https://github.com/oasisprotocol/oasis-boot/releases/download/v0.6.2/stage1.bin#e5d4d654ca1fa2c388bf64b23fc6e67815893fc7cb8b7cfee253d87963f54973
Hash: e5d4d654ca1fa2c388bf64b23fc6e67815893fc7cb8b7cfee253d87963f54973
(using cached artifact)
Downloading stage 2 template artifact...
URI: https://github.com/oasisprotocol/oasis-boot/releases/download/v0.6.2/stage2-podman.tar.bz2#b2ea2a0ca769b6b2d64e3f0c577ee9c08f0bb81a6e33ed5b15b2a7e50ef9a09f
Hash: b2ea2a0ca769b6b2d64e3f0c577ee9c08f0bb81a6e33ed5b15b2a7e50ef9a09f
(using cached artifact)
Downloading rofl-container runtime artifact...
URI: https://github.com/oasisprotocol/oasis-sdk/releases/download/rofl-containers%2Fv0.8.6/rofl-containers#5aa26a3c5a7e1d284e217959d89b7a620ea7b7fc5079909e25042124ffb384e8
Hash: 5aa26a3c5a7e1d284e217959d89b7a620ea7b7fc5079909e25042124ffb384e8
(using cached artifact)
Downloading compose.yaml artifact...
URI: compose.yaml
Validating compose file...
Preparing stage 2 root filesystem...
Runtime hash: 5aa26a3c5a7e1d284e217959d89b7a620ea7b7fc5079909e25042124ffb384e8
Creating squashfs filesystem...
TAR archive SHA256: c47ce0d799cc08d4a7cefe02e85d45522a4cf1c98045d40f1eedaace6760fcf1
Creating dm-verity hash tree...
Creating ORC bundle...
ROFL app built and bundle written to 'rofl-go-starter.testnet.orc'.
Computing enclave identity...
Run `oasis rofl update` to update your ROFL app's on-chain configuration.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce with oasis rofl build on Fedora 43 using Podman, then compare with oasis rofl build --no-container, which succeeds. Trace the container-builder path from the Creating squashfs filesystem... step and consider the issue done when the container build completes and writes the ROFL bundle without the broken-pipe error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, go
- Domain
- build-system, cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100