Watchface crashes on 935 and F5 only | Failed invoking <symbol>

Hi,

I have a problem with my watchface (SAPPY) crashing with users owning a FR935 and a Fenix 5 watch.
On for instance the FR235 and Fenix 3HR it works fine.

From several F5 users I understood that it crashes when after an activity has started or after 15s after it has been installed.

I also got the CIQ_LOG.TXT files from these users:
ERROR: Unexpected Type Error
DETAILS: Failed invoking <symbol>
STORE_ID: 5372fc74469b48468dec60dd7997e909
CALLSTACK:
@PC = 0x1000573f


In the simulator from Eclipse Neon 3 with CIQ SDK 2.2.6 all works fine.
RAM usage is about 41kb peak.

Searching around for this particular error does not lead to a satisfying answer.
Perhaps someone can help me out?

PS. when i have uploaded a new version to the connect iq store and I try to update it with my app and my watchface is installed, "error trying to delete". Then I select another watchface and then it will update normally. But when I select the watchface again all settings have been overwitten with the defaults values? Is this normal? A few months ago it worked flawless?

Thanks.
  • Couple things: the 235 and f3hr are CIQ 1.x devices while the f5 and 935 are CIQ 2.x devices, so could it be a different code path for something? Could it also be something that you'll see on a watch, but may not have simulated? (like being over a step/floor/intense goal?

    Could it have something to do with app settings and andriod vs iOS? If so, check out the new developer FAQ, and point 10 in particular.

    When it comes to updating, you can't really do anything like uninstalling when the watchface is active. On iOS right now, and "update" it's actually doing an uninstall/reinstall, and the uninstall also removes your app settings. If you update the app with Garmin Express, settings are preserved.

    If you can send a side load to a user having the problem (a debug build), you'll get more info in the CIQ_LOG.txt to track down the crash.
  • Thanks Jim,

    I've looked at the developer FAQ and found that the printf formatting options must be quite specific. I was using mainly %.01f and %02.0f format. This style is not compilant with the C99 format style CIQ used.
    This has been used in kCal, distance, stepgoal, step percentage etc. So I think this caused the crash on the Fenix 5 and FR 935. Hope this can be confirmed by an user.

    Thanks for clarifying the updating procedure!

    Greets, Frank