Argus errors with high cpu load and subsequent issues

I tested running six separate instances of argus_camera in capture mode, and am able to trigger the issue.

I also observed a separate issue related to multi-session mode, but it sort of fits here since it results in the high-rate repeated error spam. When running argus_camera (single process) in multi-session mode, if I switch the sensor mode it almost always triggers the following error (which is then followed by the high-rate repeating error messages):

SCF: Error Timeout:  (propagating from src/components/amr/Snapshot.cpp, function waitForNewerSample(), line 92)
SCF_AutocontrolACSync failed to wait for an earlier frame to complete.
SCF: Error Timeout:  (propagating from src/components/ac_stages/ACSynchronizeStage.cpp, function doHandleRequest(), line 126)
SCF: Error Timeout:  (propagating from src/components/stages/OrderedStage.cpp, function doExecute(), line 137)

In our case, there are two sensor modes. 0 (HDR) and 1 (linear). The steps are:

  1. start argus_camera
  2. switch to multisession mode
  3. wait a little while (for all the cameras to show up and stream)
  4. switch the sensor mode

Interestingly, the behavior appears different between single and multi process builds of argus_camera. If I repeat these steps with the multi-process build, I don’t see any errors show up in /var/log/syslog. The argus_camera app just hangs and becomes unresponsive.