[iOS 26] [CallKit] [SDK 26] Application got crashed while App was Inactive

The crash log, an IPS file, indicates a crash occurred at a specific time, with the exception backtrace pointing to _terminateAppIfThereAreUnhandledVoIPPushes. However, cross-reference with the SysDiagnose logs, there is no corresponding process or activity for the application at the reported crash time. The app was not active, nor was it woken up by any event.

IPS file and SysDiagnose logs have been attached in the Feedback. Feedback - FB20044587

Answered by DTS Engineer in 856606022

The crash log, an IPS file, indicates a crash occurred at a specific time, with the exception backtrace pointing to _terminateAppIfThereAreUnhandledVoIPPushes.

So, this crash ONLY occurs for one reason, which is that your app received a voip push and failed to report a new incoming call, as the API contract requires. There's no other way this crash can occur.

However, cross-reference with the SysDiagnose logs, there is no corresponding process or activity for the application at the reported crash time.

The app was not active, nor was it woken up by any event.

I'm not sure where you were looking, but there is plenty of syslog data about the crash. Starting from the crash log, the crash occurred at:

Date/Time:           2025-08-29 16:21:32.6696 +0530
...
Terminating Process: <exec name> [283]

And the time and pid (283) match up with the crash log embedded the system log archive:

2025-08-29 16:21:32.669000+0530 283  <exec name>: {

In terms of the general flow of the crash, your app was initial launched into the background here for a PTT push which it handled properly:

2025-08-29 16:21:19.348953+0530 callservicesd: [com.apple.calls.callservicesd:Default] Successfully launched application with bundle identifier <bundle id>
2025-08-29 16:21:19.353564+0530 callservicesd: [com.apple.calls.callservicesd:Default] Asked to deliver message 0xc70d028c0 to application <CSDVoIPApplication 0xc70cc0f00 bundleIdentifier=<bundle id> environment=production pushKitClient=<CSDXPCClient: 0xc70f6e1b0 object=<NSXPCConnection: 0xc709c6f80> connection from pid 283 on mach service named com.apple.telephonyutilities.callservicesdaemon.voip processIdentifier=283 processName=<process name> processBundleIdentifier=<bundle id> entitlementCapabilities={(
2025-08-29 16:21:19.353685+0530 callservicesd: [com.apple.calls.callservicesd:Default] Delivering 1 channel push payload(s) to application <CSDVoIPApplication 0xc70cc0f00 bundleIdentifier=<bundle id> environment=production pushKitClient=<CSDXPCClient: 0xc70f6e1b0 object=<NSXPCConnection: 0xc709c6f80> connection from pid 283 on mach service named com.apple.telephonyutilities.callservicesdaemon.voip processIdentifier=283 processName=<process name> processBundleIdentifier=<bundle id> entitlementCapabilities={(
2025-08-29 16:21:19.360236+0530 callservicesd: [com.apple.calls.callservicesd:Default] Channel: received ptt push result type :2 participant:<private>

It remained awake in the background and a voip push was then received and delivered to your app ~13s later:

2025-08-29 16:21:32.517408+0530 callservicesd: [com.apple.calls.callservicesd:Default] Asked to deliver message 0xc71ba01a0 to application <CSDVoIPApplication 0xc70cc0f00 bundleIdentifier=<bundle id> environment=production pushKitClient=<CSDXPCClient: 0xc70f6e1b0 object=<NSXPCConnection: 0xc709c6f80> connection from pid 283 on mach service named com.apple.telephonyutilities.callservicesdaemon.voip processIdentifier=283 processName=<process name> processBundleIdentifier=<bundle id> entitlementCapabilities={(
2025-08-29 16:21:32.517512+0530 callservicesd: [com.apple.calls.callservicesd:Default] Delivering 1 VoIP payload(s) to application <CSDVoIPApplication 0xc70cc0f00 bundleIdentifier=<bundle id> environment=production pushKitClient=<CSDXPCClient: 0xc70f6e1b0 object=<NSXPCConnection: 0xc709c6f80> connection from pid 283 on mach service named com.apple.telephonyutilities.callservicesdaemon.voip processIdentifier=283 processName=<process name> processBundleIdentifier=<bundle id> entitlementCapabilities={(
2025-08-29 16:21:32.517889+0530 callservicesd: (ApplePushService) [com.apple.apsd:connection] <APSConnection: 0xc715c0600> returned from <CSDVoIPApplicationController: 0xc71900880> connection:didReceiveIncomingMessage:
2025-08-29 16:21:32.517934+0530 callservicesd: (ApplePushService) [com.apple.apsd:connection] <APSConnection: 0xc715c0600> responding with an ack for message with guid 65D7EF6B-BA2B-40F2-9126-9C3B3AE0B591
...
2025-08-29 16:21:32.518460+0530 <process name>: (CriticalCommunication) didReceiveIncomingPushWithPayload is received <private>

The logging above occurred on thread 4007, which then logged 27 (mostly redacted) log messages before it logged:

2025-08-29 16:21:32.521813+0530 <process name>: (CriticalCommunication) Push Message Relased
2025-08-29 16:21:32.521989+0530 <process name>: (PushKit) The com.apple.developer.pushkit.unrestricted-voip entitlement is no longer supported.
2025-08-29 16:21:32.522031+0530 <process name>: (PushKit) Apps receving VoIP pushes must post an incoming call via CallKit in the same run loop as pushRegistry:didReceiveIncomingPushWithPayload:forType:[withCompletionHandler:] without delay.
2025-08-29 16:21:32.522110+0530 <process name>: (Foundation) [com.apple.Foundation:general] *** Assertion failure in <private>, PKPushRegistry.m:349
2025-08-29 16:21:32.563632+0530 <process name>: (CoreFoundation) *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Killing app because it never posted an incoming call to the system after receiving a PushKit VoIP push.'
2025-08-29 16:21:32.563670+0530 <process name>: CRASH: Killing app because it never posted an incoming call to the system after receiving a PushKit VoIP push.
2025-08-29 16:21:32.563727+0530 <process name>: Stack Trace: <private>

The app was not active, nor was it woken up by any event.

I don't know what data you were looking at, but the log data seems straightforward.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

The crash log, an IPS file, indicates a crash occurred at a specific time, with the exception backtrace pointing to _terminateAppIfThereAreUnhandledVoIPPushes.

So, this crash ONLY occurs for one reason, which is that your app received a voip push and failed to report a new incoming call, as the API contract requires. There's no other way this crash can occur.

However, cross-reference with the SysDiagnose logs, there is no corresponding process or activity for the application at the reported crash time.

The app was not active, nor was it woken up by any event.

I'm not sure where you were looking, but there is plenty of syslog data about the crash. Starting from the crash log, the crash occurred at:

Date/Time:           2025-08-29 16:21:32.6696 +0530
...
Terminating Process: <exec name> [283]

And the time and pid (283) match up with the crash log embedded the system log archive:

2025-08-29 16:21:32.669000+0530 283  <exec name>: {

In terms of the general flow of the crash, your app was initial launched into the background here for a PTT push which it handled properly:

2025-08-29 16:21:19.348953+0530 callservicesd: [com.apple.calls.callservicesd:Default] Successfully launched application with bundle identifier <bundle id>
2025-08-29 16:21:19.353564+0530 callservicesd: [com.apple.calls.callservicesd:Default] Asked to deliver message 0xc70d028c0 to application <CSDVoIPApplication 0xc70cc0f00 bundleIdentifier=<bundle id> environment=production pushKitClient=<CSDXPCClient: 0xc70f6e1b0 object=<NSXPCConnection: 0xc709c6f80> connection from pid 283 on mach service named com.apple.telephonyutilities.callservicesdaemon.voip processIdentifier=283 processName=<process name> processBundleIdentifier=<bundle id> entitlementCapabilities={(
2025-08-29 16:21:19.353685+0530 callservicesd: [com.apple.calls.callservicesd:Default] Delivering 1 channel push payload(s) to application <CSDVoIPApplication 0xc70cc0f00 bundleIdentifier=<bundle id> environment=production pushKitClient=<CSDXPCClient: 0xc70f6e1b0 object=<NSXPCConnection: 0xc709c6f80> connection from pid 283 on mach service named com.apple.telephonyutilities.callservicesdaemon.voip processIdentifier=283 processName=<process name> processBundleIdentifier=<bundle id> entitlementCapabilities={(
2025-08-29 16:21:19.360236+0530 callservicesd: [com.apple.calls.callservicesd:Default] Channel: received ptt push result type :2 participant:<private>

It remained awake in the background and a voip push was then received and delivered to your app ~13s later:

2025-08-29 16:21:32.517408+0530 callservicesd: [com.apple.calls.callservicesd:Default] Asked to deliver message 0xc71ba01a0 to application <CSDVoIPApplication 0xc70cc0f00 bundleIdentifier=<bundle id> environment=production pushKitClient=<CSDXPCClient: 0xc70f6e1b0 object=<NSXPCConnection: 0xc709c6f80> connection from pid 283 on mach service named com.apple.telephonyutilities.callservicesdaemon.voip processIdentifier=283 processName=<process name> processBundleIdentifier=<bundle id> entitlementCapabilities={(
2025-08-29 16:21:32.517512+0530 callservicesd: [com.apple.calls.callservicesd:Default] Delivering 1 VoIP payload(s) to application <CSDVoIPApplication 0xc70cc0f00 bundleIdentifier=<bundle id> environment=production pushKitClient=<CSDXPCClient: 0xc70f6e1b0 object=<NSXPCConnection: 0xc709c6f80> connection from pid 283 on mach service named com.apple.telephonyutilities.callservicesdaemon.voip processIdentifier=283 processName=<process name> processBundleIdentifier=<bundle id> entitlementCapabilities={(
2025-08-29 16:21:32.517889+0530 callservicesd: (ApplePushService) [com.apple.apsd:connection] <APSConnection: 0xc715c0600> returned from <CSDVoIPApplicationController: 0xc71900880> connection:didReceiveIncomingMessage:
2025-08-29 16:21:32.517934+0530 callservicesd: (ApplePushService) [com.apple.apsd:connection] <APSConnection: 0xc715c0600> responding with an ack for message with guid 65D7EF6B-BA2B-40F2-9126-9C3B3AE0B591
...
2025-08-29 16:21:32.518460+0530 <process name>: (CriticalCommunication) didReceiveIncomingPushWithPayload is received <private>

The logging above occurred on thread 4007, which then logged 27 (mostly redacted) log messages before it logged:

2025-08-29 16:21:32.521813+0530 <process name>: (CriticalCommunication) Push Message Relased
2025-08-29 16:21:32.521989+0530 <process name>: (PushKit) The com.apple.developer.pushkit.unrestricted-voip entitlement is no longer supported.
2025-08-29 16:21:32.522031+0530 <process name>: (PushKit) Apps receving VoIP pushes must post an incoming call via CallKit in the same run loop as pushRegistry:didReceiveIncomingPushWithPayload:forType:[withCompletionHandler:] without delay.
2025-08-29 16:21:32.522110+0530 <process name>: (Foundation) [com.apple.Foundation:general] *** Assertion failure in <private>, PKPushRegistry.m:349
2025-08-29 16:21:32.563632+0530 <process name>: (CoreFoundation) *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Killing app because it never posted an incoming call to the system after receiving a PushKit VoIP push.'
2025-08-29 16:21:32.563670+0530 <process name>: CRASH: Killing app because it never posted an incoming call to the system after receiving a PushKit VoIP push.
2025-08-29 16:21:32.563727+0530 <process name>: Stack Trace: <private>

The app was not active, nor was it woken up by any event.

I don't know what data you were looking at, but the log data seems straightforward.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

[iOS 26] [CallKit] [SDK 26] Application got crashed while App was Inactive
 
 
Q