About 0xBAADCA11 error

I am developing "local push" VoIP application. I have a question about issues I found while testing this app.

After repeating a test for 24 hours in which a incoming call followed by an immediate disconnect 0.1 seconds later, the iPhone of incommig call side encountered a 0xBAADCA11 error, causing iOS to force-close the app. (The incidence is low, occurring three times in 17280 times incoming call(24 hours.)) This problem found on iOS17.6.1 (iPhone11Pro).

When the same test was performed on iOS18.2 (iPhoneSE3), the problem did not occur.

Did iOS take something measures against the 0xBAADCA11 error between iOS17.6.1 and iOS18.2?

If yes, I want to encourage customers to upgrade to the latest iOS version, please tell me about it?

※I have attached an ips files and sysdiagnose file of the 0xBAADCA11 error occurring. (please refer sysdiagnose also if you need.)

[sysdiagnose_2025.01.17_14-24-48+0900_iPhone-OS_iPhone_21G93.tar.gz] https://drive.google.com/file/d/1CV8laKzdnQxvwaAIOwMcXL8rAYL2jq35/view?usp=sharing

Answered by DTS Engineer in 822540022

Did iOS take something measures against the 0xBAADCA11 error between iOS17.6.1 and iOS18.2?

No, nothing significant changed in this area between iOS 17 & iOS 18.

After repeating a test for 24 hours in which a incoming call followed by an immediate disconnect 0.1 seconds later, the iPhone of incommig call side encountered a 0xBAADCA11 error, causing iOS to force-close the app.

Historically, I have seen a few cases where invalid call terminations have occurred, typically caused by very unusual call patterns and race conditions. For example, in iOS 13 you could cause an invalid 0xBAADCA11 by:

  • Receiving a incoming call.
  • Immediately cancelling it.
  • Receiving a new incoming call EXACTLY 7s later (no more, no less).

I haven't seen any issue here for several years, however, I will say that these issue almost always involved very precise timing, which means the differences in devices can be much more important than the difference in system versions.

Having said that, the much more common issue is problems managing PKPushRegistry and/or NEAppPushManager. The system needs the "target" object to deliver your pushes to and will terminate your app if the missing object means it can't deliver the push. Both of those objects and your receiving delegate should be setup once early in the app launch and left running for your apps entire lifetime. Do NOT destroy an existing one or create a new one, that will only cause problems.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Did iOS take something measures against the 0xBAADCA11 error between iOS17.6.1 and iOS18.2?

No, nothing significant changed in this area between iOS 17 & iOS 18.

After repeating a test for 24 hours in which a incoming call followed by an immediate disconnect 0.1 seconds later, the iPhone of incommig call side encountered a 0xBAADCA11 error, causing iOS to force-close the app.

Historically, I have seen a few cases where invalid call terminations have occurred, typically caused by very unusual call patterns and race conditions. For example, in iOS 13 you could cause an invalid 0xBAADCA11 by:

  • Receiving a incoming call.
  • Immediately cancelling it.
  • Receiving a new incoming call EXACTLY 7s later (no more, no less).

I haven't seen any issue here for several years, however, I will say that these issue almost always involved very precise timing, which means the differences in devices can be much more important than the difference in system versions.

Having said that, the much more common issue is problems managing PKPushRegistry and/or NEAppPushManager. The system needs the "target" object to deliver your pushes to and will terminate your app if the missing object means it can't deliver the push. Both of those objects and your receiving delegate should be setup once early in the app launch and left running for your apps entire lifetime. Do NOT destroy an existing one or create a new one, that will only cause problems.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

I feel your description describe about the Technical Support Incident from me(TSI:771875962). But I heard this probelm already fiexd in the TSI:771875962.

If so, should we assume that the BAADCA11 problem fixed in iOS15 will reoccur in iOS17?(Or is this new problem??) When I was investigating this ticket before, I had set a restriction in my system to not accept the next incoming call within 7 seconds to avoid the problem, but should I reimpose the same restriction?

Best Regards,

If so, should we assume that the BAADCA11 problem fixed in iOS15 will reoccur in iOS17?(Or is this new problem??)

What you're seeing is a new bug, in that the particular details of why it occurs are different than the earlier issue.

When I was investigating this ticket before, I had set a restriction in my system to not accept the next incoming call within 7 seconds to avoid the problem, but should I reimpose the same restriction?

Yes, that would prevent the problem as well. Just like the earlier issue, triggering this failure requires callservicesd to be processing multiple pushes simultaneously, which the delay above woud prevent.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

I have opened FB16493124 in the feedback assistant regarding this issue. Could you please let me know at here also if you found something.

About 0xBAADCA11 error
 
 
Q