What do you do with impossible backtrace and only one or two occurrences of a crash in ERA?

Like this one for example

Error Name: System Error
Occurrences: 1
First Occurrence: 2023-05-15
Last Occurrence: 2023-05-15
Devices:
    Forerunner® 955 / Solar: 14.20
App Versions: 2.18.2
Languages: chs
Backtrace:
    DataArea.drawGoalValues:184
    CrystalView.checkBoundingBoxes:860

No way in *** that checkBoundingBoxes called drawGoalValues. Do you simply ignore them? Even in drawGoalLine, the "offending" line is

var digitStyle = App.getApp().getView().mDigitStyle;

drawGoalValues is from an onUpdate so obviously the view exist and mDigitStyle is a class variable of that ViewClass, so it too, has to exist. The Forerunner 955 has 131072kb of watch face space and a Sys.getSystemStats just before that line (which is the first line in the function btw) returns

Total memory: 126944 Used memory: 71208 Free memory: 55736

So plenty of memory left.

  • What I guess, is what ever gibhub code you are using doesn't correctly handle a goal of "0" or if activity tracking is turned off on the device.

  • Being the first line of the function, whatever goal was set or if activity tracking was off is inconsequential. It's simply reading a ViewClass variable at that point. It also doesn't explain why the checkBoundingBoxes function is in the stack right below it. drawGoalValues is called by the draw function from the same class. It's the one that should have been in the stack below it, not checkBoundingBoxes.

    ERA is reporting 8 crashes so far and all of them are single occurrence crash and none of them makes sense.

    Like this other one:

    function initialize(params) {
    Drawable.initialize(params);

    var rezFonts = Rez.Fonts;

    Why would reading Rez.Fonts creates an Invalid Value crash on a Forerunner 965? And only once?

    And how about a 'Unhandled Exception' within a 'try' block???

  • Here's another one:

    Error Name: Unhandled Exception

    Backtrace:
    Global.getBoolProperty:415
    CrystalView.ReadWeather:225
    CrystalApp.onBackgroundData:120

    Thing is, 'onBackgroundData' does NOT call 'ReadWeather' and 'ReadWeather' does NOT call 'getBoolProperty' and the offending line in 'getBoolProperty' is within a "try" block that catches all exceptions. What gives?

  • Anyone from @Garmin wants to shed some light on why this is happening?

  • FWIW I am getting lots of once-only “impossible” crash reports from ERA. Mine is a long-running app and NEVER crashes during my field use. 
    I’m writing them off as a FW bug or ERA bug and no longer losing sleep!

    By “lots” I mean in number not relatively. Thousands of users, dozens of reports.

  • Yeah, same here. Both the apps I maintain and the one I created haven't crashed in weeks/months on my watch and yet, I  get all these once/twice only crash in ERA. It's annoying.