Major Issues with Custom Fonts after latest Device FW-Updates

Hi, the last weeks I had increasing numbers of strange reports of bugs (crashing apps) on most of my apps. It became more and more clear, that mostly it happens after latest FW updates on devices, but I was not able to locate based on log files. On simulator I have absolutely no issue.

This week I updated also my devices and had the same issue. Even on old devices like FR645M (yes, there was also a FW update !!!) after this update I've the same issue.

After many hours it seems to be, that some of the customer Fonts I set up with BMFont64 lead to the crash:

Error: System Error
Details: 'Failed invoking <symbol>'

At code customFont = Ui.loadResource(Rez.Fonts.icons);

I did not change the code, and not all of the fonts are affected. I cannot find any rule if BMFont64 setting is leading to the bug. Already tried to play with BMFont64 settings with no success.

Again it only happens based on devices with the latest FW-Update. And on simulator everything is ok.

Has anyone the same issue and maybe any idea ?

  • Dear Garmin: You decided to deploy a new FW without beta phase. I understand (not accept) that you decided, no longer to support FR645M (more or less except things you are forced to do). If you are doing Connect IQ updated in FW anyway (especially in area of Connect IQ, what is the case following the release notes), you absolutely should not do that without involving us developers. Without beta noone is able to roll back to latest stable version as a workaround (because beta is the only known legal way elder FW is available for these cases).

    So please Garmin, never do Connect IQ changes again without beta FW, at least for us developers !!!

  • I've installed the newest firmware on my f6p and runs ok. There is also no era error for fr465.

    Can you check CIQ version on watch?

  • If i had to guess i would say that somewhere in the Garmin code they do: code - 48 and this gets to be 0 and that causes the problem

  • It's not specific to char id=48.  If it was, it would impact all custom fonts that have the character "0" (zero).  Namely any that are used to display a time.  And that's not the case.  I have WFs with custom fonts which have char id=48 that run fine on the 645m with 7.20 FW.  In fact, I've only found one font that causes the crash.

  • Here's the fnt file for a custom font that works fine on a fr645 with 7.20fw.  It's 0 through 9, and a ":"

    info face="SF Movie Poster Condensed" size=100 bold=1 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 outline=0
    common lineHeight=99 base=89 scaleW=256 scaleH=256 pages=1 packed=0 alphaChnl=1 redChnl=0 greenChnl=0 blueChnl=0
    page id=0 file="sf100bc_0.png"
    chars count=11
    char id=48   x=126   y=0     width=16    height=71    xoffset=3     yoffset=18    xadvance=22    page=0  chnl=15
    char id=49   x=160   y=0     width=10    height=71    xoffset=0     yoffset=18    xadvance=13    page=0  chnl=15
    char id=50   x=0     y=0     width=17    height=71    xoffset=2     yoffset=18    xadvance=20    page=0  chnl=15
    char id=51   x=18    y=0     width=17    height=71    xoffset=2     yoffset=18    xadvance=21    page=0  chnl=15
    char id=52   x=143   y=0     width=16    height=71    xoffset=1     yoffset=18    xadvance=20    page=0  chnl=15
    char id=53   x=36    y=0     width=17    height=71    xoffset=2     yoffset=18    xadvance=21    page=0  chnl=15
    char id=54   x=54    y=0     width=17    height=71    xoffset=3     yoffset=18    xadvance=22    page=0  chnl=15
    char id=55   x=72    y=0     width=17    height=71    xoffset=1     yoffset=18    xadvance=18    page=0  chnl=15
    char id=56   x=90    y=0     width=17    height=71    xoffset=2     yoffset=18    xadvance=22    page=0  chnl=15
    char id=57   x=108   y=0     width=17    height=71    xoffset=2     yoffset=18    xadvance=22    page=0  chnl=15
    char id=58   x=171   y=0     width=6     height=36    xoffset=3     yoffset=53    xadvance=9     page=0  chnl=15
    

  • confirmed, I also have custom fonts, where id=48 is working. By now I did not find a rule. I've some custom fonts not working. I't doesn't matter when I set up, even very new with only one char defined (for sure id=48) might work. One idea could be, that bigger fonts are not affected. But agree, especially the '0' caught my eye. But I think it's Garmin's job now.

  • BTW: how can you list this table given an cft file (the font files in the SDK)?

  • In the bug report for this I included a project based on the standard WF template and a font that crashed on a 645m, but only if loadResource() is called.  it runs fine in the sim.

    The size of the font doesn't seem to matter, as right now I'm running a WF with a large custom font for the time and a small one for things like the battery level.

    Garmin has a project that demonstrates the crash now, so yes, it's up to them to figure out why.

  • I can also confirm when there is an error on the font, it is due to the char=48; when I replace that 48 to another number it just works...

  • I have a number of fonts with char id=48 that work on the real device.  Namely those that use the character for "zero"