Warning: I2C3 low on stack!

Hi all, i was just performing some pre-flight checks on my quad and I noticed this in the console output:

NuttShell (NSH)
nsh> e[KWARN  [load_mon] wq:I2C3 low on stack! (292 bytes left)
INFO  [ecl/EKF] EKF aligned, (pressure height, IMU buf: 22, OBS buf: 14)
WARN  [commander] REJECT POSITION CONTROL
WARN  [load_mon] wq:I2C3 low on stack! (292 bytes left)
WARN  [load_mon] wq:I2C3 low on stack! (292 bytes left)
WARN  [load_mon] wq:I2C3 low on stack! (292 bytes left)
INFO  [ecl/EKF] EKF GPS checks passed (WGS-84 origin set)
INFO  [ecl/EKF] EKF commencing GPS fusion
WARN  [load_mon] wq:I2C3 low on stack! (292 bytes left)
WARN  [load_mon] wq:I2C3 low on stack! (292 bytes left)
WARN  [load_mon] wq:I2C3 low on stack! (292 bytes left)
WARN  [load_mon] wq:I2C3 low on stack! (292 bytes left)
WARN  [load_mon] wq:I2C3 low on stack! (292 bytes left)
WARN  [load_mon] wq:I2C3 low on stack! (292 bytes left)
WARN  [load_mon] wq:I2C3 low on stack! (292 bytes left)
WARN  [load_mon] wq:I2C3 low on stack! (292 bytes left)
WARN  [load_mon] wq:I2C3 low on stack! (292 bytes left)
INFO  [logger] Start file log (type: full)
INFO  [logger] Opened full log file: /fs/microsd/log/2020-06-25/09_22_12.ulg

You can see how many warnings I got about the I2C3 being low on stack… by what I know, the I2C3 is connected to the IST8310 magnetometer on the Pixhawk 4 I am using… I just want to ask if this is normal or unexpected… Thanks :slight_smile:

Thanks for the question. This is a warning that stack is below the buffer threshold. This basically means that the stack size should be increased a bit to be above the “safe” threshold. Is this on latest master or a release version?

It is on 1.10.1. Today it also happened on I2C1

@dagar should we do patch that for v1.10.1 or is it safe to ignore it?

Hello. I’ve been having the same issue on v1.10. Can you please clarify what you mean by:

How does one increase the stack size? Can something like this cause instability and crashes?

I had same issue with 1.10.1 and Lidar Lite is connected to I2C.

There are so many measurement got from Lidar as zero. This issue would involve wrong measurement and produce hgt timeout error.