diff --git a/src/io/region.rs b/src/io/region.rs index 97dadcc..ac9784b 100644 --- a/src/io/region.rs +++ b/src/io/region.rs @@ -98,16 +98,18 @@ impl Region { }; if seen[coords] { - bail!("Duplicate chunk"); + bail!("Duplicate chunk {:?}", coords); } seen[coords] = true; let mut buffer = vec![0; (len as usize) * BLOCKSIZE]; reader .read_exact(&mut buffer) - .context("Failed to read chunk data")?; + .with_context(|| format!("Failed to read data for chunk {:?}", coords))?; + let chunk = decode_chunk(&buffer) + .with_context(|| format!("Failed to decode data for chunk {:?}", coords))?; - f(coords, decode_chunk(&buffer)?); + f(coords, chunk); index += len as u32; }