Documentation Index
Fetch the complete documentation index at: https://docs.lagerdata.com/llms.txt
Use this file to discover all available pages before exploring further.
Bug Fixes
lager debug ... flashand... eraseno longer fail with a 500 (filedescriptor out of range in select()) on a Lager Box that has been running for a long time. The box debug service is a long-lived process. Its GDB controller helper rebuilds a freshgdb-multiarchconnection on every retry attempt — retries that happen routinely while a debugger connection is coming up during flash and RTT — but a failed attempt was never registered for cleanup, so each one leaked thegdb-multiarchsubprocess and the pipe handles to it. After enough leaks the service crossed the operating system’s 1024 file-descriptor limit forselect(), at which point the tool that performs erase and flash crashed instead of running. Failed attempts are now closed immediately, and the erase/flash path usespoll()instead ofselect()so it is no longer bound by the 1024 limit even if descriptors run high. Recovering a box that has already hit this no longer needs anything beyond restarting the debug service.

