etching to microSD fails (repeatedly) at 51% complete

I’m trying to write an RPi4 image to a microSD card. It’s failing at the 51% complete mark. What’s interesting is that it fails at the same point, even though I’ve switch microSD cards – see “microSD card A” and “microSD card B” below.

Environment::

  • microSD card A: SONY microSD / HC 16GB / SR16UY2
  • microSD card B: SanDisk microSD 16GB / 64510RAE61RP
  • host PC: Intel NUC Intel(R) Core™ i5-8259U CPU @ 2.30GHz , 32.0 GB RAM
  • OS: Edition Windows 11 Pro, Version 22H2, OS build 22622.436
  • balena Etcher: v 1.7.9
  • source file: xxx.

System log at start:

Successfully connected to IPC server: etcher-server-15240, socket root C:\Users\r\AppData\Local\Temp
gui.js:46 Image: C:\Users\r\Downloads\traxx-device-4b±dev002-2022-03-23.img.gz
gui.js:46 Devices: \.\PhysicalDrive4
gui.js:46 Auto blockmapping: true
gui.js:46 Decompress first: true
gui.js:35 Flashing 1 device, 0% at 10.80 MB/s (total 10.80 MB/s) eta in 2869s with 0 failed devices
gui.js:35 Flashing 1 device, 0% at 12.90 MB/s (total 12.90 MB/s) eta in 2403s with 0 failed devices
gui.js:35 Flashing 1 device, 0% at 11.90 MB/s (total 11.90 MB/s) eta in 2607s with 0 failed devices

System log many minutes later…

gui.js:35 Flashing 1 device, 51% at 12.10 MB/s (total 12.10 MB/s) eta in 1237s with 0 failed devices
gui.js:35 Flashing 1 device, 51% at 11.60 MB/s (total 11.60 MB/s) eta in 1297s with 0 failed devices
gui.js:46 Thu Jul 28 2022 16:34:16 GMT-0700 (Pacific Daylight Time) Drive unplugged ({“image”:{“size”:30944526336,“compressedSize”:934579345,“hasMBR”:true,“path”:“C:\Users\r\Downloads\traxx-device-4b±dev002-2022-03-23.img.gz”,“partitions”:[{“offset”:4194304,“size”:268435456,“type”:12,“index”:1},{“offset”:272629760,“size”:30671896576,“type”:131,“index”:2}],“isCompressed”:true,“name”:“traxx-device-4b±dev002-2022-03-23.img”,“isSizeEstimated”:true,“extension”:“gz”},“drives”:[{“size”:15931539456,“isVirtual”:false,“enumerator”:“PCISTOR”,“logicalBlockSize”:512,“raw”:“\\.\PhysicalDrive4”,“error”:null,“isReadOnly”:false,“displayName”:“J:\”,“blockSize”:512,“isSCSI”:true,“isRemovable”:true,“device”:“\\.\PhysicalDrive4”,“busVersion”:“2.0”,“isSystem”:false,“busType”:“SCSI”,“isCard”:false,“isUSB”:false,“devicePath”:null,“mountpoints”:[{“path”:“J:\”}],“description”:“SDHC Card”,“isUAS”:false,“partitionTableType”:“mbr”}],“driveCount”:1,“uuid”:“b7d8e5a4-0bf4-4aba-8906-69c962bbbac3”,“flashInstanceUuid”:“b7d8e5a4-0bf4-4aba-8906-69c962bbbac3”,“sample”:0.1,“applicationSessionUuid”:“d443c142-ede3-4dfa-9160-8f40aadf9eec”,“flashingWorkflowUuid”:“a8ff685c-9628-4d63-8e88-e7ab6c975abc”})
gui.js:35 Flashing 0 devices, 51% at 11.60 MB/s (total 0.00 MB/s) eta in 1297s with 1 failed device
gui.js:46 Finish: 15929966592
gui.js:46 Terminating IPC server
gui.js:46 Flash results {results: {…}, cancelled: false, skip: false}
gui.js:46 Thu Jul 28 2022 16:34:20 GMT-0700 (Pacific Daylight Time) Done ({“image”:{“size”:30944526336,“compressedSize”:934579345,“hasMBR”:true,“path”:“C:\Users\r\Downloads\traxx-device-4b±dev002-2022-03-23.img.gz”,“partitions”:[{“offset”:4194304,“size”:268435456,“type”:12,“index”:1},{“offset”:272629760,“size”:30671896576,“type”:131,“index”:2}],“isCompressed”:true,“name”:“traxx-device-4b±dev002-2022-03-23.img”,“isSizeEstimated”:true,“extension”:“gz”},“drives”:[{“size”:15931539456,“isVirtual”:false,“enumerator”:“PCISTOR”,“logicalBlockSize”:512,“raw”:“\\.\PhysicalDrive4”,“error”:null,“isReadOnly”:false,“displayName”:“J:\”,“blockSize”:512,“isSCSI”:true,“isRemovable”:true,“device”:“\\.\PhysicalDrive4”,“busVersion”:“2.0”,“isSystem”:false,“busType”:“SCSI”,“isCard”:false,“isUSB”:false,“devicePath”:null,“mountpoints”:[{“path”:“J:\”}],“description”:“SDHC Card”,“isUAS”:false,“partitionTableType”:“mbr”}],“driveCount”:1,“uuid”:“b7d8e5a4-0bf4-4aba-8906-69c962bbbac3”,“status”:“finished”,“flashInstanceUuid”:“b7d8e5a4-0bf4-4aba-8906-69c962bbbac3”,“errors”:[{“name”:“Error”,“description”:“SDHC Card”,“code”:“EUNPLUGGED”,“syscall”:“write”,“errno”:-4094,“device”:“\\.\PhysicalDrive4”}],“devices”:{“failed”:1,“successful”:0},“bytesWritten”:15929966592,“sourceMetadata”:{“isCompressed”:true,“name”:“traxx-device-4b±dev002-2022-03-23.img”,“size”:15929966592,“compressedSize”:934579345,“isSizeEstimated”:false},“sample”:0.1,“applicationSessionUuid”:“d443c142-ede3-4dfa-9160-8f40aadf9eec”,“flashingWorkflowUuid”:“a8ff685c-9628-4d63-8e88-e7ab6c975abc”})
gui.js:46 Thu Jul 28 2022 16:34:20 GMT-0700 (Pacific Daylight Time) SafeWebview loaded ({“event”:{“id”:78,“url”:“https://www.balena.io/etcher/success-banner/?borderTop=false&darkBackground=true&etcher-version=1.7.9&api-version=2&optOutAnalytics=false",“method”:“GET”,“timestamp”:1659051260827.644,“resourceType”:“mainFrame”,“ip”:“52.73.87.228”,“fromCache”:false,“statusLine”:"HTTP/1.1 200”,“statusCode”:200,“responseHeaders”:{“age”:[“2505”],“cache-control”:[“public, max-age=0, must-revalidate”],“content-encoding”:[“gzip”],“content-length”:[“7281”],“content-type”:[“text/html; charset=UTF-8”],“date”:[“Thu, 28 Jul 2022 22:52:36 GMT”],“etag”:[“"30a3c7a85112dae6c8599c7fce27232f-ssl-df"”],“link”:[“</webpack-runtime-cdf2733375427dc57354.js>; rel=preload; as=script, </styles-c4fa86dfd4ad05097eee.js>; rel=preload; as=script, </framework-004503f2df4bb68d43f8.js>; rel=preload; as=script, </50c25a04-a68e3217d6ce65727bd7.js>; rel=preload; as=script, </73ad3401-ecb0d3613fde52e78ca5.js>; rel=preload; as=script, </532a2f07-f1ad28da1825cfcce2c7.js>; rel=preload; as=script, </app-7875ca2487080c0a15b4.js>; rel=preload; as=script, </c943faba-f859f80ceb7f4f7eab31.js>; rel=preload; as=script, </af13d906-36fdbc23fc7dd2f2b2e7.js>; rel=preload; as=script, </ec1189df-4ae9e03f4545d4f1d61b.js>; rel=preload; as=script, </a9a7754c-29508ff4045f1f93a5f6.js>; rel=preload; as=script, </commons-cea6bfcc846ea7ff6166.js>; rel=preload; as=script, </c974efff6ac245e04f4a26711b42db767846e0e5-b1b7091203b51af325ff.js>; rel=preload; as=script, </component—src-pages-etcher-success-banner-js-98ac1a1084e1d2a478fa.js>; rel=preload; as=script, </page-data/app-data.json>; rel=preload; as=fetch; crossorigin, </page-data/etcher/success-banner/page-data.json>; rel=preload; as=fetch; crossorigin”],“referrer-policy”:[“strict-origin-when-cross-origin”],“server”:[“Netlify”],“strict-transport-security”:[“max-age=31536000”],“vary”:[“Accept-Encoding”],“x-content-type-options”:[“nosniff”],“x-frame-options”:[“DENY”],“x-nf-request-id”:[“01G93JJFBHM54FRTA66CGVTKET”],“x-xss-protection”:[“1; mode=block”]},“referrer”:“”,“error”:“net::OK”},“sample”:0.1,“applicationSessionUuid”:“d443c142-ede3-4dfa-9160-8f40aadf9eec”,“flashingWorkflowUuid”:“a8ff685c-9628-4d63-8e88-e7ab6c975abc”})

Solved. The uncompressed image was 30GB. The SD card was 16GB. It was failing simply because there was not enough room on the destination volume.