Problem building - read ECONNRESET

  1. The build gets stuck installing npm libraries, and suddenly breaks. (This only happens when using “balena-emulated”)

@BryanMontes, this could be an incompatibility with QEMU: i.e., your builds fail with emulation and require native ARM hardware.

  1. The build crashes when trying to get libraries from a repo and throws An error occurred: read ECONNRESET (this happens when pushing to master or balena-nocache)

The ECONNRESET error was associated with a native ARM server (arm03) that has now been temporarily taken out for investigation and fix (to be restored within 24h according to the most recent status update). You shouldn’t be getting ECONNRESET errors with QEMU emulation on x86 servers, but the builds can be much slower – or fail altogether in case of QEMU incompatibility.

In both cases, a temporary alternative may be to use your own hardware to run the builds (instead of the balenaCloud builders), whether a local balenaFin / Raspberry Pi native ARM device running a development image of balenaOS, or your x86 laptop or desktop computer running Docker. In these cases, the “balena build + balena deploy” commands would be used instead of the “balena push” or “git push” commands. The “balena build” command automatically runs QEMU on Docker in order emulate ARM on x86 processors. In the case of a native ARM device running a development image of balenaOS, specify the IP address and port number of the docker daemon on the balenaOS device (the port number is 2375), for example:

balena build ... -h 192.168.2.15 -p 2375

Check the documentation for “balena build” and “balena deploy” on these pages:

To be clear, the above is only useful if you have come across QEMU incompatibility, or if you think that your own x86 hardware would be faster than the balenaCloud x86 servers.

2 Likes