Complete
over 5 years ago

WERETECH-6408, WERETECH-7425, WERETECH-7514

Could not reproduce.

File not found error

On real device randomly occurs error: File Not Found Error - while trying to read from Storage

Error is already quite old. From CIQ_LOG.YML I see that it occurs roughly once a day. It is not as visible as before because Watch restart automatically Watchface.

Parents
  • Hi Coleman,

    i just get this error on my WF. (No crash, at least didn't see any crash.)

    I just saw the battery has fallen from 78% to 18% in less than 2hours, so i took a look at logs and find this :

    ---
    Error: File Not Found Error
    Details: 'Failed invoking <symbol>'
    Time: 2019-12-22T13:36:24Z
    Part-Number: 006-B2859-00
    Firmware-Version: '8.00'
    Language-Code: fre
    ConnectIQ-Version: 3.1.6
    Store-Id: cf4501b9-5acb-4ed7-aef3-6573e7474871
    Store-Version: 73
    Filename: 9CB80551
    Appname: CubeWatch
    Stack:
      - pc: 0x1000232b
      - pc: 0x10006ca6

    (I'm not sure there is a direct link between battery and file error. the battery went to 10%, i put my watch off/on, and the level get back to 11% after 10/15mn ...and stop falling).

    I checked in xmlDebug and this is just when i try to get data back from disk, with Storage.getValue (=0x1000232b) . i can test to avoid this error, easily i think, instead of directly getValue...

    but it seems some event is called,  in which some Storage loading is set, and in the same time some Storage saving id done.

    I think one way to reproduce it would be to code a function loading storage data in some loop, and putting either clearValues() or setValue in Events (onHide, Sleep, settingsChanged.....)

Comment
  • Hi Coleman,

    i just get this error on my WF. (No crash, at least didn't see any crash.)

    I just saw the battery has fallen from 78% to 18% in less than 2hours, so i took a look at logs and find this :

    ---
    Error: File Not Found Error
    Details: 'Failed invoking <symbol>'
    Time: 2019-12-22T13:36:24Z
    Part-Number: 006-B2859-00
    Firmware-Version: '8.00'
    Language-Code: fre
    ConnectIQ-Version: 3.1.6
    Store-Id: cf4501b9-5acb-4ed7-aef3-6573e7474871
    Store-Version: 73
    Filename: 9CB80551
    Appname: CubeWatch
    Stack:
      - pc: 0x1000232b
      - pc: 0x10006ca6

    (I'm not sure there is a direct link between battery and file error. the battery went to 10%, i put my watch off/on, and the level get back to 11% after 10/15mn ...and stop falling).

    I checked in xmlDebug and this is just when i try to get data back from disk, with Storage.getValue (=0x1000232b) . i can test to avoid this error, easily i think, instead of directly getValue...

    but it seems some event is called,  in which some Storage loading is set, and in the same time some Storage saving id done.

    I think one way to reproduce it would be to code a function loading storage data in some loop, and putting either clearValues() or setValue in Events (onHide, Sleep, settingsChanged.....)

Children
  • I'm seeing some ERA bug reports for File Not Found Error:

    Error Name: File Not Found Error
    Occurrences: 1
    First Occurrence: 2020-01-20
    Last Occurrence: 2020-01-20
    Devices:
        Forerunner® 945: 3.30
    App Versions: 0.0.8
    Languages: eng
    Backtrace:
        myView.saveMemoryData:3010
        myView.onStop:1166
        myApp.onStop:88
        myApp.onStop:24

    Error Name: File Not Found Error
    Occurrences: 5
    First Occurrence: 2020-01-20
    Last Occurrence: 2020-01-20
    Devices:
        Forerunner® 945: 3.30
    App Versions: 0.0.8
    Languages: eng
    Backtrace:
        myView.saveMemoryData:3010
        myView.handleSettingsChanged:1415
        myView.onUpdate:1505
        myApp.onUpdate:120

    It looks like it could just be for one user so far.

    saveMemoryData is just this:

    	function saveMemoryData()
    	{
    		var memData = [
    			profileTimeData,
    			positionGot,
    			positionLatitude,
    			positionLongitude,
    			positionAltitude,
    			profileActive,
    			profileDelayEnd,
    			profileRandom,
    			profileRandomEnd,
    			demoProfilesOn,
    			demoProfilesCurrentProfile,
    			demoProfilesCurrentEnd,
    			-1,
    		];
    		applicationStorage.setValue(0, memData);
        }