Environment: iPhone 12 Pro Max, iOS 26.6.1 (23G83), App Store build. The Live Activity is started in-app with pushType: .token and updated over APNs (production).
What happens: An update push arrives and is applied, but the Lock Screen keeps the previous content with a system spinner over it. The sysdiagnose shows the system launching our WidgetKit extension to render the new state, and the kernel killing it at its memory limit about 0.5 s later, three times in a row:
liveactivitiesd [activitykit:outputParticipant] Activity updated: <activity id>
runningboardd [<WidgetExtension>:24466] Memory Limits: active 30 inactive 30
kernel memorystatus: <WidgetExtension> [24466] exceeded mem limit: ActiveHard 30 MB (fatal)
chronod [chrono:activity.store] Reload failed; next attempt due at … New state: failed
The retry about 10 minutes later failed the same way. The device had plenty of free memory; only the per-process limit was hit. A render of the previous state two hours earlier, in an extension process that was already running, succeeded.
ReportCrash then discards the report, so we got no crash log and no MetricKit diagnostic:
ReportCrash (OSAnalytics) report not saved because it is non-actionable (ie: extension hangs or internal-only)
ReportCrash no MetricKit for process <WidgetExtension> type 385
The extension links a crash-reporting SDK (12 dynamic frameworks) that is configured at launch. We suspect it but haven't confirmed it yet.