What to do with ERA crashlogs?

Since I just started to use ERA logs, I have multiple issues with the apps.

Most of them are coming from old SW versions, so I do trust in Garmin and newer SW work ok.

But.

There are issues that are not in my code, but require attention Garmin CIQ team. What to do?

One is Permission required for the widget that uses GPS. Positioning permission is ok. That widget works on my test device normally.

Why does it fails on customer's devices?

Error Name: Permission Required
Occurrences: 4494
First Occurrence: 2019-11-05
Last Occurrence: 2020-02-07
Devices:
    fēnix® 6 Pro / 6 Sapphire: 4.64, 4.20, 5.00, 4.10, 6.00, 4.67, 3.00, 4.30

  • - that looks like an odd era report, no backtrace to an actual line of code?

    - you have a fenix 6 pro yourself and it works on your device?

  • The 3.x,4.x ones could be old FW,

  • Yes, it works on f6 dev with 6.00 SW.

    Backtrace happens on return:

        function getInitialView() {
            //Sys.println("App getInitialView");
            return [ new ProjectXLargeWatchView()];
        }

    Below are the whole logs:

    Error Name: Too Many Arguments Error
    Occurrences: 30
    First Occurrence: 2020-02-02
    Last Occurrence: 2020-02-09
    Devices:
        fēnix® 6S Pro / 6S Sapphire: 3.00
        fēnix® 6 Pro / 6 Sapphire: 3.00
        fēnix® 6X Pro / 6X Sapphire / 6X Pro Solar / tactix® Delta Sapphire: 3.10
    App Versions: 1.6.7
    Languages: deu, eng, por
    Backtrace:
        ProjectXLargeWatchApp.getInitialView:94

    Error Name: Symbol Not Found Error
    Occurrences: 179
    First Occurrence: 2020-01-30
    Last Occurrence: 2020-02-09
    Devices:
        fēnix® 6S Pro / 6S Sapphire: 2.10
        fēnix® 6 Pro / 6 Sapphire: 2.40
        fēnix® 5S Plus: 7.60, 8.50
        fēnix® 6 Pro / 6 Sapphire: 2.20
        fēnix® 5 Plus: 7.10
        vívoactive® 4: 2.20
        fēnix® 6X Pro / 6X Sapphire / 6X Pro Solar / tactix® Delta Sapphire: 2.30
        VenuTm: 3.50, 3.60, 2.30
        vívoactive® 4: 2.70, 3.20
        vívoactive® 3: 6.60, 6.30, 6.20
        vívoactive® 4S: 2.70
        Forerunner® 245 Music: 2.90, 3.00
    App Versions: 1.6.7
    Languages: ces, chs, cht, deu, dut, eng, fre, kor, nob, pol, por, rus, spa, swe, tha
    Backtrace:
        ProjectXLargeWatchApp.getInitialView:94

    Error Name: Symbol Not Found Error
    Occurrences: 2
    First Occurrence: 2020-02-06
    Last Occurrence: 2020-02-06
    Devices:
        fēnix® 5S: 14.20
    App Versions: 1.6.7
    Languages: eng
    Backtrace:
        ProjectXLargeWatchApp.getInitialView:94

  • And logs from widgets that use GPS location, every app has permission and it works too on my device. sw 6.00

    Error Name: Permission Required
    Occurrences: 5428
    First Occurrence: 2019-01-01
    Last Occurrence: 2020-02-10
    Devices:
        fēnix® 6 Pro / 6 Sapphire: 4.64, 4.20, 5.00, 4.10, 5.77, 6.00, 3.00, 6.10, 5.74, 4.30
        fēnix® 6S Pro / 6S Sapphire: 4.20, 4.10, 6.00, 5.00, 3.00, 6.10, 4.30
        fēnix® 6: 5.10, 3.10, 4.30
        fēnix® 6 Pro / 6 Sapphire: 5.10, 5.00, 3.00, 3.10, 4.30
        fēnix® 6: 6.00, 5.00, 3.00, 4.30
        fēnix® 6S Pro / 6S Sapphire: 5.10, 5.00, 3.10, 4.30
        MARQTm Adventurer: 6.00, 5.30, 7.00
        fēnix® 6X Pro / 6X Sapphire / 6X Pro Solar / tactix® Delta Sapphire: 4.20, 5.00, 4.65, 6.00, 4.10, 5.72, 3.10, 6.10, 5.74, 4.40, 4.63, 4.30
        fēnix® 6S: 4.20, 6.00, 5.00, 6.10, 4.30
        fēnix® 6X Pro / 6X Sapphire / 6X Pro Solar / tactix® Delta Sapphire: 5.10, 5.00, 3.00, 3.10, 4.30
        MARQTm Commander: 6.00, 5.30, 5.20
        MARQTm Driver: 6.00, 7.00
        MARQTm Captain: 6.00, 5.30, 5.20
        MARQTm Aviator: 6.00, 7.00, 5.30
        Forerunner® 945: 4.10, 4.06
        Forerunner® 245: 4.10
        Forerunner® 245 Music: 4.10, 4.06
        MARQTm Athlete: 5.10, 6.00, 5.30, 7.00
        MARQTm Commander: 5.10, 6.00, 5.30
        MARQTm Captain: 6.00, 5.30, 7.00, 5.20
        MARQTm Expedition: 6.00
        MARQTm Expedition: 5.10, 6.00, 5.30, 7.00, 5.20, 7.10
    App Versions: 1.5.7
    Languages: ara, bul, ces, chs, cht, dan, deu, dut, eng, est, fin, fre, gre, heb, hrv, hun, ind, ita, jpn, kor, lav, nob, pol, por, ron, rus, slo, spa, swe, tha, tur, ukr, vie
    Backtrace:
        WGS84WidgetApp.onStart:22

    Error Name: Permission Required
    Occurrences: 243
    First Occurrence: 2019-11-05
    Last Occurrence: 2020-02-10
    Devices:
        fēnix® 6 Pro / 6 Sapphire: 4.64, 5.00, 6.00, 3.00, 4.30
        fēnix® 6: 6.00
        fēnix® 6 Pro / 6 Sapphire: 3.10
        MARQTm Athlete: 6.00, 7.00, 5.30
        fēnix® 6X Pro / 6X Sapphire / 6X Pro Solar / tactix® Delta Sapphire: 5.00, 6.00, 3.10, 6.10, 4.30
        fēnix® 6X Pro / 6X Sapphire / 6X Pro Solar / tactix® Delta Sapphire: 5.10, 5.00, 3.10, 4.30
        MARQTm Expedition: 6.00
    App Versions: 1.5.6
    Languages: ara, chs, deu, rus, ukr
    Backtrace:
        SK42WidgetApp.onStart:22

  •     //! onStart() is called on application start up
        function onStart(state) {
            Position.enableLocationEvents(Position.LOCATION_CONTINUOUS, method(:onPosition));
        }

  • At least some of these are showing the incorrect FW for the current SDKs.

    there was/is a problem where apps can be installed without checking that the devices have the min firmware required, and there's really much you can do about it.  When I get contacted by a user, I suggest they update their firmware.

    Hopefully Garmin has fixed this, but I'm not sure.

  • The permission required error also has the fenix 6 and fenix 6 pro 6.00 listed, I agree that's definitly odd that some of your users experience it while you are not experiencing it.

    I'd suggest to open a bug report (for this specific case) and mention that your device doesn't have this problem.

    As for the other errors as Jim pointed out many of those are indeed due to incompatible firmware on the user's device. The ideal way to prevent those is when the app store will verify that the user has a firmware on it's device that is adequate. For now you can mention in your app description that user should upgrade their fw if they experience iq crashes.

  • I guess this is the same issue, as happened long time ago with the positioning and permissions. It wast due to "newer" software did not recognize "old" signature from SDK. All developers had to update the applications using the newer SDK. No other variants. Current solution I see is: I will update using the latest SDK too, see what happen the next days.

  • As we can see - they cannot fix it due to several reasons for years (I assume not of all we can even imagine). From our, developers, side we can only cross our fingers and pray that customers will update the firmware and do not rate it as one-star. Also there are super-specific devices Rey, Darth Vader, etc, that

    Even if I detect the version, that is not suitable - some of the errors happen on early stage  - like function getInitialView().

  • I will update using the latest SDK too, see what happen the next days.

    If you don't want the errors you actually have to downgrade to the 3.1.3 sdk, there's some more info here: https://forums.garmin.com/developer/connect-iq/f/discussion/204433/symbolnotfound-at-return-statement

    Doing so of course means that you're dropping the support for devices that were introduced in 3.1.4 or later.