Ticket Created
over 5 years ago

WERETECH-8553

fenix 6 series firmware 6.0 causes watch face to crash

Hi, fenix 6 series users are reporting a crash while using the MagicDust watch face. (https://apps.garmin.com/en-US/apps/2851d38b-22a8-41b6-84bf-2b0d4a229869)

The crash report leads to the code logic where ActivityMonitor.getInfo().floorsClimbed returns an invalid value.

---
Error: Invalid Value
Details: 'Failed invoking <symbol>'
Firmware-Version: '6.00'
Language-Code: eng
ConnectIQ-Version: 3.1.7
Filename: A1VE3325 <- strange file name!?
Appname: MagicDust
---

Repro steps: just install the watch face, and trigger the high power mode with a rotation of your wrist. This seems to cause the crash.

I don't have a fenix 6 device, testing in simulator works perfectly.

On my fenix 5x also everything is fine.

Thanks, for your support.

Please verify this issue, thanks.

TheMagician

Parents
  • Null check and division by 0 is checked.

    Thanks for the tip with ERA (nice tool!)

    But the reported crashes are really strange e.g.:

    .onPowerBudgetExceeded: Too Many Arguments Error / Symbol not found

    .onUpdate (line where an arc is drawn with dc.drawArc(140, 140, 140, 1, 61, 30)): Too Many Arguments Error / Symbol not found

    wtf ;-)

    is this right? -> the Backtrace in ERA shows the line number of the crash?

    Do have any additional tip how to proceed with this issues?

Comment
  • Null check and division by 0 is checked.

    Thanks for the tip with ERA (nice tool!)

    But the reported crashes are really strange e.g.:

    .onPowerBudgetExceeded: Too Many Arguments Error / Symbol not found

    .onUpdate (line where an arc is drawn with dc.drawArc(140, 140, 140, 1, 61, 30)): Too Many Arguments Error / Symbol not found

    wtf ;-)

    is this right? -> the Backtrace in ERA shows the line number of the crash?

    Do have any additional tip how to proceed with this issues?

Children
  • Hi @ all, here is a workaround for this bug:

    After several refactorings i figured out that accessing several times the same property in ActivityMonitor.getInfo() causes the 'Symbol not found' or 'Invalid Value' exception. (e.g. ActivityMonitor.getInfo().floorsClimbedGoal)

    To fix this just create a local variable that hold the value and use the variable instead.

  • I just hope for a fix from Garmin and pray that my watch face will not get any bad reviews. Wish me luck! :-)

  • If you know the user (they contacted you), suggest they update to the latest firmware.  Other than that, there's not much you can do.

  • Here the firmware list including the "strange" crashes:

    crash in onPowerBudgetExceeded with 'Too Many Arguments Error' or 'Symbol Not Found Error'

    fēnix® 6X Pro / 6X Sapphire / 6X Pro Solar / tactix® Delta Sapphire: 3.10
    fēnix® 6X Pro / 6X Sapphire / 6X Pro Solar / tactix® Delta Sapphire: 3.00

    fēnix® 5S Plus: 7.10
    fēnix® 5 Plus: 7.60, 7.10
    fēnix® 6X Pro / 6X Sapphire / 6X Pro Solar / tactix® Delta Sapphire: 2.20
    fēnix® 5X Plus: 7.60, 8.40
    vívoactive® 3: 6.60, 6.20

    crash in onLayout with Unhandled Exception

    vívoactive® 3: 7.20

    crash in onUpdate in View and GoalView with 'Invalid Value', 'Too Many Arguments Error' and 'Symbol Not Found Error'

    ēnix® 6X Pro / 6X Sapphire / 6X Pro Solar / tactix® Delta Sapphire: 6.00

    fēnix® 6 Pro / 6 Sapphire: 3.00

    fēnix® 6: 2.20
    fēnix® 6 Pro / 6 Sapphire: 2.20

    fēnix® 6S Pro / 6S Sapphire: 6.00

    Puh... my watch seems to be the only one with a stable firmware (5X)

    Please provide some information how to handle this trouble, thanks.

  • Check the FW version in the ERA crashes, as there was/is a bug where things are getting installed on devices with old FW that can cause some odd crashes.