Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

`oasis rofl build` with container builder fails when creating rootfs image with: `failed to copy file content: write |1: broken pipe`

オープン
#704 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
58/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
静か
技術スタック
docker, go
領域
build-system, cli

調査の方向性

Podman を使用して Fedora 43 上で oasis rofl build を再現し、成功する oasis rofl build --no-container と比較します。Creating squashfs filesystem... ステップからコンテナビルダーのパスを追跡し、コンテナビルドが完了して broken-pipe エラーなしで ROFL バンドルを書き込めたら issue の対応完了とします。

索引モデルが issue の本文から書いたものです。

説明

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.
主要言語
Go
スター
80
フォーク
23
平均マージ
9時間 43分
マージ済み PR(30日)
3

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

oasisprotocol/cli のほかの issue

oasisprotocol/cli の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。