Under Review
over 2 years ago

WF: loadResource crashes on EPIX2 on initial install or subsequent update (easy repro)

There seems to be an issue with accessing storage/resources when an WF is being installed/updated that occurs only on the EPIX2 (and possibly Fenix7). 

In my case it's on the first call to WatchUi.loadResource.

The WF works fine in the simulator and if side loaded or loaded via the PC Express app.  But if installed/updated via a phone (iPhone 12 Pro Max in my case) the WF crashes on the loadResource.  However, I can re-select the WF on the EPIX2 and it works fine.

This issue can be reproduced using the sample Analog WF provided in the SDK.

1. In VS Code, Export the project

2. Upload it to Connect IQ Dev site

3. Download the WF to the EPIX2 via the Express app

4. On the Connect IQ phone app, uninstall the WF and reinstall it

5. Unexpectedly, WF does not appear, but, long-press the MENU button, select Watch Face

6. The installed WF is shown so select Apply

7. WF works fine

There is a long discussion about this issue here: https://forums.garmin.com/developer/connect-iq/f/discussion/296403/error-symbol-not-found-error-when-installing-wf

Thx,

Pete

Parents
  • A similar issue occurs when changing the language on the device.  It appears that the system tries to replace the old running instance of the WF with a new one but the new one crashes so the old one continues to be displayed, with the old language.  Re-selecting the WF (as above) displays a new instance with the correct language.

    In general, there appears to be an issue with the storage not functioning correctly when a newly installed, updated, or different language, instance of the is launched.  Seems like a race condition between app launch and storage/resource being available.

Comment
  • A similar issue occurs when changing the language on the device.  It appears that the system tries to replace the old running instance of the WF with a new one but the new one crashes so the old one continues to be displayed, with the old language.  Re-selecting the WF (as above) displays a new instance with the correct language.

    In general, there appears to be an issue with the storage not functioning correctly when a newly installed, updated, or different language, instance of the is launched.  Seems like a race condition between app launch and storage/resource being available.

Children
No Data