Ticket Created
over 4 years ago

CIQQA-370

strange error from era on some devices

Error Name: System Error
Occurrences: 9
First Occurrence: 2021-05-13
Last Occurrence: 2021-05-16
Devices:
    fÄ“nix® 6 Pro / 6 Sapphire / 6 Pro Solar / 6 Pro Dual Power / quatix® 6: 16.60
    Forerunner® 245 Music: 6.20
Languages: eng, spa
Backtrace:
    PSX1_Vie.onSC:415
    PSX1_Vie.onLayout:364

minSdkVersion="2.4.0", erroor onSC calling from onLayout in line

using Toybox.Application.Storage as STO;

const STO_APP_SETT                =     "AppSett";

        var t =  
        [
            1,
            loadResource(Rez.Strings.OWL)
        ];
        STO.setValue(STO_APP_SETT, t);//<--------error

I have fenix 6 pro, and 16.60 and even changed language to eng and no error.

Is possible that is connected with full of "disk" on device?

Parents
  • I've also seen this bug in the wild and been sort of tracking it for the last year or so. I still don't know much about the bug, but some things I've noticed:

    1) setProperty() always works

    2) Storage.setValue() occasionally fails with this System Error message

    3) Complete speculation, but I think it may fail on devices with something other than ENG as the language. This makes me wonder if there is some kind of Unicode error happening. Perhaps a bad encoding is getting persisted into the store causing a knock-on effect of these errors?

Comment
  • I've also seen this bug in the wild and been sort of tracking it for the last year or so. I still don't know much about the bug, but some things I've noticed:

    1) setProperty() always works

    2) Storage.setValue() occasionally fails with this System Error message

    3) Complete speculation, but I think it may fail on devices with something other than ENG as the language. This makes me wonder if there is some kind of Unicode error happening. Perhaps a bad encoding is getting persisted into the store causing a knock-on effect of these errors?

Children
  • if you want to test it you need:

    - bluetooth connection (I call makeWebRequest to get weather data)

    - gps position (you can set manual position in settings to 0;0)

  • there is no this error in current version my wf (as I think prg is on device once you install it):

    https://apps.garmin.com/en-US/apps/b754fc6a-a5dd-4ff1-9397-db9020b3b25f

    but I've moved code from  onLayout to onShow but I have error in one example "near the code":

    Error Name: Symbol Not Found Error
    Occurrences: 1
    First Occurrence: 2021-06-17
    Last Occurrence: 2021-06-17
    Devices:
        D2™ Delta PX: 5.30                  <--- old firmware
    App Versions: 1.16.0
    Languages: chs
    Backtrace:
        PSX1_App.chkREQ:560
        PSX1_Vie.chkOWM:873
        PSX1_Vie.onShow:837


                    owm =  //line 560
                    [
                        1,//gCompVer,                       
                        loadResource(Rez.Strings.OWL)
                    ];
                    STO.setValue(STO_APP_SETT, owm);

    so I think there is problem with loadResource from time to time and previous error probably was thrown later in setValue

  • Hey there, sorry for the delay, but we've been unable to replicate this on our own so far. Would you have a code snippet or a prg you could share that could help us figure out what could be causing this? Thanks!

  • next the same errors

    Error Name: File Not Found Error
     fÄ“nix® 6S / 6S Solar / 6S Dual Power: 15.40
    STO.setValue("keyD", dict_var);//<--------------  dict_var=["k1"=true,"k2"=true]

    Error Name: File Not Found Error
    fēnix® 6S / 6S Solar / 6S Dual Power: 15.40
    STO.setValue("keyA", array_var);//<--------------array_var=[1,"en"]

  • 1. yes, and also ALL SDK SHOULD WORKS WELL TOO.

    2. I'm losing my patience. WHY OCCASIONALLY? How to write good soft if sdk is not good? Why Garmin deprecate function and and doesn't repeair new one. storage/properties is from 2.4 it means the bug is breeding for years. I don't understand it.

    3. As you can see it's for eng too. No unicode in key and value, number, array, maybe loadResource(Rez.Strings.OWL) but  <string id="OWL">en</string>.