Acknowledged
CIQQA-4820

Instinct 3 Solar freezes on install when a widget with glance and background service contains :extendedCode

Installing my app freezes the whole watch. The screen freezes, no button responds, and only a reboot helps. With a sideloaded PRG this happens the moment the USB cable is unplugged, before the app is opened. A build installed from the Connect IQ store (private beta) behaved the same.

About the app:

  • Type widget (an app with a glance on CIQ 4+), minApiLevel 3.4.0
  • Permissions: Background, ComplicationPublisher, Positioning
  • Glance view, background service (temporal events), one complication
  • About 870 kB PRG, about 135 jsonData resources
  • 38 kB of code annotated (:extendedCode) to fit the 128 kB app limit

What I tested:

  • Full ap with :extendedCode -> freezes on install
  • Without the complication and ComplicationPublisher -> freezes on install
  • Without the background service and Background permission -> freezes on install
    Without :extendedCode -> Installs and works normally

Another watch face that uses :extendedCode worked on my Instinct 3 Solar in earlier tests, so the combination with a widget/app that has a glance and a background service seems to matter.

Is :extendedCode supported for widgets/device apps with a glance and background service on the instinct 3 solar and instinct e?
If this is not supported, maybe it would be a good solution for the compiler to reject such a build instead of the watch freezing.

  • No, the :extendedCode was not in the background service. Only foreground-only app code was annotated (menus, pickers, some views, station search). All (:background) and (:glance) code stayed resident. A build with the background service and the Background permission removed completely still froze.

    I have now reduced it to a minimal project: a tiny widget with a glance and a background service, built for instinct3solar45mm with SDK 9.2.0, in two variants that differ only in one annotation:

    R0, no :extendedCode (37.5 kB of resident code): installs normally
    R1, a single 22-byte function annotated (:extendedCode) (the extended code section is still 7,184 B): the watch freezes the moment the USB cable is unplugged
    Both run fine in the simulator. I've emailed both projects with the PRGs to [email protected].

  • Is the :extendedCode in the background service itself? Do you have a Connect IQ project that causes this error that you could email to [email protected] ?