Skip to content

Commit

Permalink
Even more error context
Browse files Browse the repository at this point in the history
    jrray@STRANDED:~/git/spk$ spk env spk-convert-pip -- true
    ERROR render layers

    Caused by:
        0: render manifest N3PZ7AUENWBU7XOSOIH36KI4XLUY2KZ3LJQAVR3GEVU47WOO2LIQ====
        1: render manifest into working dir '/spfs-repos/local/renders/jrray/work/980d7dc8-96e1-482b-b474-5bae7730ba5f'
        2: render_into_dir <root node>
        3: render_into_dir 'bin'
        4: render blob 'spk-convert-pip'
        5: open payload
        6: Unknown Object: HZQX6ZMXPVJF724OJEXTL2BUPLQKEGDBRYY5G7OYI4O33ZDF4UYA====
    ERROR Failed to spawn spfs-render

    Caused by:
        process exited with non-zero status
    ERROR Failed to re-mount runtime filesystem

Signed-off-by: J Robert Ray <jrray@jrray.org>
  • Loading branch information
jrray committed Dec 5, 2023
1 parent a259428 commit fdbb342
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions crates/spfs/src/storage/fs/renderer_unix.rs
Original file line number Diff line number Diff line change
Expand Up @@ -428,7 +428,9 @@ where
if let Err(Error::StorageWriteError(_, p, _)) = &mut res {
*p = target_dir.join(p.as_path());
}
res?;
res.map_err(|err| {
Error::StringWithSource("render_into_dir <root node>".to_owned(), Box::new(err))
})?;
self.reporter.rendered_layer(manifest);
Ok(())
}
Expand Down Expand Up @@ -508,11 +510,11 @@ where
root_path.push(p.as_path());
*p = root_path;
}
res.map(|_| None)
res.map(|_| None).map_err(|err| Error::StringWithSource(format!("render_into_dir '{}'", entry.name), Box::new(err)))
}
tracking::EntryKind::Mask => Ok(None),
tracking::EntryKind::Blob => {
self.render_blob(root_dir_fd, &entry, render_type).await.map(Some)
self.render_blob(root_dir_fd, &entry, render_type).await.map(Some).map_err(|err| Error::StringWithSource(format!("render blob '{}'", entry.name), Box::new(err)))
}
}.map(|render_blob_result_opt| (entry, render_blob_result_opt))
};
Expand Down Expand Up @@ -572,7 +574,11 @@ where
// the payload file without calling `open_payload`. If `open_payload`
// is not called here, the non-symlink code may fail due to a missing
// a payload that could have been repaired.
let (mut reader, filename) = self.repo.open_payload(entry.object).await?;
let (mut reader, filename) = self
.repo
.open_payload(entry.object)
.await
.map_err(|err| Error::StringWithSource("open payload".to_owned(), Box::new(err)))?;
let target_dir_fd = dir_fd.as_raw_fd();
if entry.is_symlink() {
let mut target = String::new();
Expand Down

0 comments on commit fdbb342

Please sign in to comment.