Since a big update and shift up from CIQ 6 to 7.3.1, I'm getting numerous System Error and Invalid Value incidents in ERA that don't line up to reasonable places in the code.
- The Bactrace shows call stacks that are impossible: the lines lower in the stack trace do not line up with lines that call functions higher in the stack.
- The function names in the stack to not line up in a possible execution order. For example, there's no way for the function in line 2 to call the function in line 1.
- The highest line in the backtrace often points to a nonsensical line. For example, I have seen it point to unreachable code (functions that aren't called by the specific app).
This is making it extremely difficult to understand and resolve customer complaints about crashing devices.
It seems like code included in barrels is more inaccurate than code included in the main project.
Here is an example backtrace with added parenthetical notes.
Backtrace:
CommonData.getValueInPreferredUnits:383 (this line is NOT reachable from the line indicated below, and it is unclear how it can cause a System Error since it's a basic conditional checking two things != null and != each other)
ReluxDaytonaRegisters.paintRegister:101 (this line IS reachable from the line indicated below)
ReluxDaytonaRegisters.paintAllRegisters:13
ReluxDaytonaView.paintFace:695 (this is 1 line number higher than line that actually calls the function above)
YaroUtils.initialize:1685
YaroUtils.initialize:1417 (this line number corresponds to a variable assignment and does NOT call the function indicated above)
ReluxDaytonaView.setInitialProperties:583 (this line does call the above function)