Acknowledged

965 ver:20.29

the bug:

 Storage.setValue("quyu", quyu); this errr!

Error Name: System Error
Occurrences: 21
First Occurrence: 2024-10-01
Last Occurrence: 2024-10-09
Devices:
Forerunner® 965: 20.29
Forerunner® 265: 20.29, 20.31
Forerunner® 955 / Solar: 20.29
App Versions: 24.9.30
Languages: chs
Backtrace:
getLoc.getLoc:77
BigTimeView.onUpdate:128
  • I believe this is a duplicate of / related to this other bug that has some more upvotes:

    forums.garmin.com/.../system-error-calling-storage-setvalue-lastest-fw

  • the next case (initialise part of app)

    Error Name: System Error
    Occurrences: 28
    First Occurrence: 2024-10-08
    Last Occurrence: 2024-10-10
    Devices:
        Forerunner® 965: 20.29
    App Versions: 4.8.0
    Languages: chs
    Backtrace:
    App.saveToStorage
    App.onBackgroundData

    it means that at least once data was saved without error

  • import Toybox.Application;
    import Toybox.ActivityMonitor;
    import Toybox.Activity;
    import Toybox.Graphics;
    import Toybox.Lang;
    import Toybox.System;
    import Toybox.WatchUi;
    import Toybox.Weather;
    import Toybox.Time;
    import Toybox.Time.Gregorian;
    import Toybox.Timer;
    import Toybox.Application.Storage;
    import Toybox.Position;   
     

    function getLoc() {
       
        var activityLoc = Activity.getActivityInfo().currentLocation;
        if (activityLoc != null) {
            //$.p("Location obtained from Activity");
            var loclast = activityLoc.toDegrees();
            if(loclast[0].toFloat().format("%.2f") != 0.00
               && loclast[1].toFloat().format("%.2f") != 0.00
               && loclast[0].toFloat().format("%.2f") != 180.00
               && loclast[1].toFloat().format("%.2f") != 180.00
               ){
                    //saveLoc(loclast);
                    //return loclast;
                    Storage.setValue("lat", loclast[0]);  //错误915
                    Storage.setValue("lon", loclast[1]);
                }
        }
       
       
        if (Toybox has :Weather) {
            var w = Weather.getCurrentConditions();
            if (w != null && w.observationLocationPosition != null) {
                var loclast = w.observationLocationPosition.toDegrees();
                if(loclast[0].toFloat().format("%.2f") != 0.00
                 && loclast[1].toFloat().format("%.2f") != 0.00
                 && loclast[0].toFloat().format("%.2f") != 180.00
                 && loclast[1].toFloat().format("%.2f") != 180.00
               ){
                    //saveLoc(loclast);
                    //return loclast;
                    Storage.setValue("lat", loclast[0]);  //错误915
                    Storage.setValue("lon", loclast[1]);
                }
               
            }
        }
       
        var positionInfo = Position.getInfo().position;
        if(positionInfo != null){
            var loclast = positionInfo.toDegrees();
            if(loclast[0].toFloat().format("%.2f") != 0.00
               && loclast[1].toFloat().format("%.2f") != 0.00
               && loclast[0].toFloat().format("%.2f") != 180.00
               && loclast[1].toFloat().format("%.2f") != 180.00
               ){
                    //saveLoc(loclast);  //错误915
                    //return loclast;
                    Storage.setValue("lat", loclast[0]);  //错误915
                    Storage.setValue("lon", loclast[1]);
                }
        }
    }