Under Review
over 1 year ago

storage setValue error

4.1.4/win/eclipse

on some devices I have an error  when trying save something in storage:

1. in app.onStop() - only in foreground I call app.savedata() (I need func because I need save data in few moments).

2. savedata() is called and inside I try to call STO.setValue() and errors:

A Error Name: System Error (vívoactive® 3 Music: 6.20) - 3 arrays[80] of float (each 415 bytes according to memory monitor), 1 array[20] of float (70bytes) and few integers

B Error Name: File Not Found Error (Forerunner® 945: 9.00) - saving dictionary (a bit complicated)

A - I don't think I exceed any limits

B - system detach storage before onStop()?

Parents
  • Yes, this storage issue is still pretty common. I get it mostly on Edge 540/840/1040 and Edge Explore 2 devices, but it can also hapen on Fenix 7 and others.

    In the App.onStop, I get in ERA:

    Error Name: System Error
    Occurrences: 1056
    First Occurrence: 2024-06-10
    Last Occurrence: 2024-06-24
    Devices:
        Edge® Explore 2: 21.17, 21.16
        Edge® 840 / 840 Solar: 21.18, 21.17
        Edge® 540 / 540 Solar: 21.18, 21.17
        Edge® 1040 / 1040 Solar: 21.18, 21.17, 21.16
    App Versions: 4.8.6
    Languages: deu, dut, eng, fin, fre, hun, ita, jpn, pol, rus, spa, swe
    Backtrace:
        App.onStop:66

    The line 66 is just Storage.deleteValue("recording_active");

    The same error can happen also if you write into storage:
    Error Name: System Error
    Occurrences: 239
    First Occurrence: 2024-06-10
    Last Occurrence: 2024-06-24
    Devices:
        Edge® Explore 2: 21.17, 21.16
        Edge® 840 / 840 Solar: 21.18, 21.17, 21.16
        Edge® 1040 / 1040 Solar: 21.18, 21.17, 21.16
        Edge® 540 / 540 Solar: 21.18, 21.17
    App Versions: 4.8.6
    Languages: deu, dut, eng, fin, fre, ita, pol, spa, swe
    Backtrace:
        AppProperties.set:27
        NavigationViewDataController.onPosition:147
    Or for other devices:
    Error Name: System Error
    Occurrences: 361
    First Occurrence: 2024-06-10
    Last Occurrence: 2024-06-23
    Devices:
        fēnix® 6 Pro / 6 Sapphire / 6 Pro Solar / 6 Pro Dual Power / quatix® 6: 26.00
        Edge® 1030: 13.75
        epix™ (Gen 2) / quatix® 7 Sapphire: 17.23
        fēnix® 7X Pro: 17.23
        Edge® 840 / 840 Solar: 21.18, 21.17
        fēnix® 7 Pro: 17.23
        Edge® 540 / 540 Solar: 21.17
        fēnix® 7 / quatix® 7: 17.23
        fēnix® 7S: 17.23
        fēnix® 7X / tactix® 7 / quatix® 7X Solar / Enduro™ 2: 17.23
        epix™ Pro (Gen 2) 47mm / quatix® 7 Pro: 17.23
        epix™ Pro (Gen 2) 51mm / D2™ Mach 1 Pro / tactix® 7 – AMOLED Edition: 17.23
        Edge® Explore 2: 20.18, 21.17
        epix™ Pro (Gen 2) 42mm: 17.23
        Edge® 1040 / 1040 Solar: 21.18, 21.17
    App Versions: 4.8.6
    Languages: deu, dut, eng, fre, ita, pol, rus, slv, ukr
    Backtrace:
        AppProperties.set:27
        OfflineTileStorage.initialize:25
        TileManager.<init>:18
        ForegroundApp.<globals/ForegroundApp/<>initHiMemoryComponents>:65
        ForegroundApp.getInitialView:25
        App.getInitialView:29
    The line 27 in the AppProperties.set is just:
    static function set(key, value) {
    	try {
    		Storage.setValue(key, value);
    		return;
    	} catch (e) { //...
    	}
    }
    Seems the try/catch exception is never called for the System Error, which means it crashes the app with the IQ! error. It seems to be a firmware issue... The storage is probably not initialized, or the app tries to read/write at one time. Maybe the user is running out of an available storage (but in this case, the Out Of Storage exception should be called).
    Seems that we can't do anything about this (as developers). Any ideas here?
    Sometimes I also get the Error Name: File Read Error, or Error Name: Unexpected Type Error (but it may be a different issue).
Comment
  • Yes, this storage issue is still pretty common. I get it mostly on Edge 540/840/1040 and Edge Explore 2 devices, but it can also hapen on Fenix 7 and others.

    In the App.onStop, I get in ERA:

    Error Name: System Error
    Occurrences: 1056
    First Occurrence: 2024-06-10
    Last Occurrence: 2024-06-24
    Devices:
        Edge® Explore 2: 21.17, 21.16
        Edge® 840 / 840 Solar: 21.18, 21.17
        Edge® 540 / 540 Solar: 21.18, 21.17
        Edge® 1040 / 1040 Solar: 21.18, 21.17, 21.16
    App Versions: 4.8.6
    Languages: deu, dut, eng, fin, fre, hun, ita, jpn, pol, rus, spa, swe
    Backtrace:
        App.onStop:66

    The line 66 is just Storage.deleteValue("recording_active");

    The same error can happen also if you write into storage:
    Error Name: System Error
    Occurrences: 239
    First Occurrence: 2024-06-10
    Last Occurrence: 2024-06-24
    Devices:
        Edge® Explore 2: 21.17, 21.16
        Edge® 840 / 840 Solar: 21.18, 21.17, 21.16
        Edge® 1040 / 1040 Solar: 21.18, 21.17, 21.16
        Edge® 540 / 540 Solar: 21.18, 21.17
    App Versions: 4.8.6
    Languages: deu, dut, eng, fin, fre, ita, pol, spa, swe
    Backtrace:
        AppProperties.set:27
        NavigationViewDataController.onPosition:147
    Or for other devices:
    Error Name: System Error
    Occurrences: 361
    First Occurrence: 2024-06-10
    Last Occurrence: 2024-06-23
    Devices:
        fēnix® 6 Pro / 6 Sapphire / 6 Pro Solar / 6 Pro Dual Power / quatix® 6: 26.00
        Edge® 1030: 13.75
        epix™ (Gen 2) / quatix® 7 Sapphire: 17.23
        fēnix® 7X Pro: 17.23
        Edge® 840 / 840 Solar: 21.18, 21.17
        fēnix® 7 Pro: 17.23
        Edge® 540 / 540 Solar: 21.17
        fēnix® 7 / quatix® 7: 17.23
        fēnix® 7S: 17.23
        fēnix® 7X / tactix® 7 / quatix® 7X Solar / Enduro™ 2: 17.23
        epix™ Pro (Gen 2) 47mm / quatix® 7 Pro: 17.23
        epix™ Pro (Gen 2) 51mm / D2™ Mach 1 Pro / tactix® 7 – AMOLED Edition: 17.23
        Edge® Explore 2: 20.18, 21.17
        epix™ Pro (Gen 2) 42mm: 17.23
        Edge® 1040 / 1040 Solar: 21.18, 21.17
    App Versions: 4.8.6
    Languages: deu, dut, eng, fre, ita, pol, rus, slv, ukr
    Backtrace:
        AppProperties.set:27
        OfflineTileStorage.initialize:25
        TileManager.<init>:18
        ForegroundApp.<globals/ForegroundApp/<>initHiMemoryComponents>:65
        ForegroundApp.getInitialView:25
        App.getInitialView:29
    The line 27 in the AppProperties.set is just:
    static function set(key, value) {
    	try {
    		Storage.setValue(key, value);
    		return;
    	} catch (e) { //...
    	}
    }
    Seems the try/catch exception is never called for the System Error, which means it crashes the app with the IQ! error. It seems to be a firmware issue... The storage is probably not initialized, or the app tries to read/write at one time. Maybe the user is running out of an available storage (but in this case, the Out Of Storage exception should be called).
    Seems that we can't do anything about this (as developers). Any ideas here?
    Sometimes I also get the Error Name: File Read Error, or Error Name: Unexpected Type Error (but it may be a different issue).
Children
No Data