Acknowledged
CIQQA-4281

InvalidValue "Failed invoking <symbol>" / IQ error during watchface UPDATE on FR265 (fw 28.05, CIQ 6.0)

Device: Forerunner 265 (part 006-B4257-00) Firmware: 28.05 Connect IQ: 6.0.0 Language: chs App type: Watchface (AMOLED), CIQ min API 3.2.0

Symptom

When a user updates the watchface from the store while it is the currently active face, the device briefly shows the Connect IQ error screen (white "IQ" + "!") with:

Error: Invalid Value
Details: 'Failed invoking <symbol>'

Sometimes it auto-recovers within a second; other times it stays on the error screen until a button press, then reloads fine. After the reload the watchface runs perfectly.

What I have verified (key point)

The crash is tied to the update action itself, not to any code change:

  • Uploading the same binary with only the version number bumped still reproduces it. Identical code → still crashes on update. This rules out my application code as the cause.
  • Side-loading the .prg (overwriting GARMIN/APPS) does NOT reproduce it. Only a store update of the active watchface does — i.e. the path that hot-swaps the running .prg.
  • try { } catch(ex) { } around every callback (onUpdate/onPartialUpdate/onLayout/initialize) does not catch it.
  • Decoding the ERA stack (matching .prg.debug.xml) yields no coherent application call stack — the top frame is native/system (pc: 0x3000220e, Native: false), application frames don't form a valid chain.

This all points to the error originating in the firmware while it tears down the running .prg during the OTA update, not in app code.

Crash report (ERA)

Error: Invalid Value
Details: 'Failed invoking <symbol>'
Time: 2026-06-20T13:38:53Z
Part-Number: 006-B4257-00
Firmware-Version: '28.05'
ConnectIQ-Version: 6.0.0
Language-Code: chs
Stack:
  - pc: 0x3000220e   Native: false
  - pc: 0x10006536
  - pc: 0x10008f99
  - pc: 0x10008e83
  - pc: 0x100097e5

Questions

  1. Is this a known behavior when a store update replaces a watchface that is currently being rendered on FR265 / fw 28.05 / CIQ 6.0?
  2. Is there a recommended way for an app to avoid the transient InvalidValue / Failed invoking <symbol> during the update hand-off?
  3. Should onUpdate/onPartialUpdate be able to catch this, or is it raised below the VM (uncatchable, like an OOM)?

Happy to provide a minimal reproducible project if useful.

  • Additional reproduction from an FR970 running firmware 17.37 / Connect IQ 6.0.2 with an active AMOLED watch face.

    During an in-place Connect IQ Store update to the newly installed internal version, the face briefly showed IQ!. Pressing Down and returning to the face restored normal operation; it remained stable afterwards. There was no device reboot or ERR_LOG.

    The local CIQ_LOG for the new Store version recorded System Error / Failed invoking <symbol>. A fresh ERA retrieval later reported two single-occurrence groups for the same new internal version: one System Error and one Invalid Value, both with Failed invoking <symbol>.

    Using the exact submitted product slice and matching debug XML, the translated application paths are incoherent. One combines the AOD renderer with the active forecast renderer; another combines independent battery/metric, solar-palette, and forecast paths. We verified that the principal mapped functions are not adjacent, the mapped PCs are inside their function bodies rather than on a boundary, and the low-power branch returns before active rendering.

    The app already retains critical bitmap/font references, guards layout readiness, uses null/fallback handling, and draws a fail-closed black frame when layout is unavailable. Several earlier Store updates completed normally, but these defenses did not eliminate this occurrence.

    We are not claiming a confirmed firmware root cause or that the translated locations identify a faulty API. The behavior is consistent with CIQQA-4281. We can run a version-only Beta Store-update control or provide private CIQ logs and matching debug artifacts if Garmin identifies which evidence would be most useful.

  • Additional reproduction from an FR970 running firmware 17.37 / Connect IQ 6.0.2 with an active AMOLED watch face.

    During an in-place Connect IQ Store update to the newly installed internal version, the face briefly showed IQ!. Pressing Down and returning to the face restored normal operation; it remained stable afterwards. There was no device reboot or ERR_LOG.

    The local CIQ_LOG for the new Store version recorded System Error / Failed invoking <symbol>. A fresh ERA retrieval later reported two single-occurrence groups for the same new internal version: one System Error and one Invalid Value, both with Failed invoking <symbol>.

    Using the exact submitted product slice and matching debug XML, the translated application paths are incoherent. One combines the AOD renderer with the active forecast renderer; another combines independent battery/metric, solar-palette, and forecast paths. We verified that the principal mapped functions are not adjacent, the mapped PCs are inside their function bodies rather than on a boundary, and the low-power branch returns before active rendering.

    The app already retains critical bitmap/font references, guards layout readiness, uses null/fallback handling, and draws a fail-closed black frame when layout is unavailable. Several earlier Store updates completed normally, but these defenses did not eliminate this occurrence.

    We are not claiming a confirmed firmware root cause or that the translated locations identify a faulty API. The behavior is consistent with CIQQA-4281. We can run a version-only Beta Store-update control or provide private CIQ logs and matching debug artifacts if Garmin identifies which evidence would be most useful.

  • Thank you for the bug report and also thanks for the explanation. I've also experienced InvalidValue at code lines, where it didn't make any sense.

    Error Name: Invalid Value
    Occurrences: 4
    First Occurrence: 2026-07-07
    Last Occurrence: 2026-07-10
    Devices:
        Instinct® 3 Solar 45mm / 50mm: 14.15
        vívoactive® 5: 17.05
        Forerunner® 965: 28.05
        fēnix® 8 Solar 51mm / tactix® 8 Solar 51mm: 22.38

    At first I thought there might be some strange device specific behavior introduced with IQ 9.2.0. Thanks   for the reply. Pointing out that this is a "known" issue helps a lot. I would have wasted too much time on investigating (already have^^). Since when is this ERA OTA Update issue known - a couple of weeks or years?

    Are there any threads on this topic I'm simply not finding?

    Again, thank you both. Slight smile

  • there were multiple reports about strange (impossible) errors in ERA, the conclusion was that it's probably during upgrade. So this is kind of a known issue, at least for the developers, not sure if Garmin knows about it or tries to fix it.