Exit Waiting Status

Setting the log level to debug will also enable the runtime interrupt tracing feature. When the user sends an interrupt signal to Pico, before terminating its processes it will log out a stack trace and a list of points of interest in the codebase that were waiting for something. These points of interest are listed below. This feature can help debug issues that cause Pico to hang waiting for some long-running process.

NamePurpose
watch_configPico was waiting for the repository watcher to either clone or pull (update) the config repo. This can hang when SSH is not configured correctly or the remote network is slow.
start_wait_initPico was waiting for the first reconfigure event to set the initial configuration state.
start_select_statesThis is the idle state which runs once Pico has initialised. This indicates Pico is waiting for configuration updates or targets updates.
watch_targetsWhen Pico reconfigures, this task indicates Pico has prepared the Git watchers for all target repositories and is waiting for them to be cloned/pulled/updated.
send_target_taskPico has received a target update event and is dispatching a task to the execution engine and waiting for it to be processed.