portREMOVE_STATIC_QUALIFIER 10.1.0 bug

kdkirmse wrote on Tuesday, September 04, 2018:

portREMOVE_STATIC_QUALIFIER is used when a debugger cannot access static variables. It defines static to be nothing. This issue is observed in task.c . This define is used in other files as well.

In the transistion from 9.X to 10.X some static variables have been moved into the body of functions. When portREMOVE_STATIC_QUALIFIER is defined these variables become automatic and are temporarily allocated on the stack. The FreeRTOS kernel will randomly crash due to the corruption of variables.

rtel wrote on Tuesday, September 04, 2018:

Hi - thanks for taking the time to point this out. I think some of the
changes you are referring to may have already been reverted for a
completely separate reason (because some kernel aware debuggers were no
longer able to find the variables) - but I will check that all have been
caught.