Skip to main content

Tech

NDI Capture crash on IPhone since last upgrade

Re: NDI Capture crash on IPhone since last upgrade

by Godefroy Perron - Number of replies: 3
I think I may have a clue on why the application might be crashing after a period of time. I looked at the daily analytics collected by my phone on the day we did the streaming with Mimo Live. It looks like the device has a memory ratio protection where it does not allow any one application to use up all of the phone's memory (presumably).

This is the entry from the daily analytics:

{"aggregationPeriod":"Daily","deviceId":"------","message":{"Count":1,"audio":false,"dirty":false,"name":"NDI HX Camera","priority":100,"reason":"highwater","visible":true},"name":"JetsamAggregationV4","numDaysAggregated":1,"sampling":100.0,"uuid":"1af88f44-22fd-42fd-9991-559bde0d48c6_16"}

There is a JetSameEvent entry that looks like a crash report where there is a metion of sustained-memory-pressure as the reason for the crash. This is the first part of that crash report:

{"bug_type":"298","timestamp":"2025-04-12 17:54:05.00 -0400","os_version":"iPhone OS 18.3.2 (22D82)","roots_installed":0,"incident_id":"5AE62ADF-DBB6-4FDF-A20A-26FB24B5B15B"}
{
"build" : "iPhone OS 18.3.2 (22D82)",
"product" : "iPhone16,1",
"kernel" : "Darwin Kernel Version 24.3.0: Thu Jan 16 02:59:27 PST 2025; root:xnu-11215.82.4~20\/RELEASE_ARM64_T8122",
"incident" : "5AE62ADF-DBB6-4FDF-A20A-26FB24B5B15B",
"crashReporterKey" : "6bdac8def17798b3acbab3bdc799ab11dcfb03d0",
"date" : "2025-04-12 17:54:05.97 -0400",
"codeSigningMonitor" : 2,
"bug_type" : "298",
"timeDelta" : 29,
"memoryStatus" : {
"compressorSize" : 234283,
"compressions" : 15664110,
"decompressions" : 10497337,
"zoneMapCap" : 2973237248,
"largestZone" : "threads",
"largestZoneSize" : 23560192,
"pageSize" : 16384,
"uncompressed" : 446673,
"zoneMapSize" : 337084416,
"memoryPages" : {
"active" : 73252,
"throttled" : 0,
"fileBacked" : 70753,
"wired" : 109166,
"anonymous" : 74938,
"purgeable" : 8,
"inactive" : 72415,
"free" : 2192,
"speculative" : 24
}
},
"largestProcess" : "NDI HX Camera",
"genCounter" : 0,
"processes" : [
{
"states" : [
"daemon",
"idle"
],
"genCount" : 0,
"purgeable" : 0,
"rpages" : 272,
"physicalPages" : {
"internal" : [
3,
248
]
},
"mem_regions" : 534,
"uuid" : "f46e4fc8-29de-37a1-9b76-7c1da8072f5b",
"fds" : 25,
"name" : "MessagesBlastDoorService",
"priority" : 0,
"csTrustLevel" : 7,
"cpuTime" : 0.35179500000000002,
"freeze_skip_reason:" : "disabled",
"idleDelta" : 798565088573,
"age" : 4763492476071,
"coalition" : 5801,
"csFlags" : 570434305,
"reason" : "sustained-memory-pressure",
"pid" : 14391,
"lifetimeMax" : 928,
"killDelta" : 39909
},
In reply to Godefroy Perron

Re: NDI Capture crash on IPhone since last upgrade

by have wilkinson -

I also have this issue, emailed them. Tweeted them, posting here, left a negative review in App Store, and reported it to Apple still no action. Shameful NDI pull your update until you’ve fixed this. 

Yesterday both devices running it crashed at the exact same time, both were running the app at two different amounts of time as i thought it was a device memory issue but it may be a network kill request of some sort that is being sent. 

In reply to have wilkinson

Re: NDI Capture crash on IPhone since last upgrade

by Godefroy Perron -
This may be a weird question but is there a way to confirm that we are using the UDP protocol on the IPhone for streaming and not TCP (as it seems to be available on the Android version of the software) ? Would the device be compelled to retry sending packets over and over on a low bandwidth scenario (e.g. far away from the wifi router).
In reply to Godefroy Perron

Re: NDI Capture crash on IPhone since last upgrade

by Randy Lehman -
You could verify the traffic type with a packet capture either on a switch or firewall on the network, or running on the device your camera is broadcasting to. I made sure UDP was enabled and kept the phones within a few feet of my access point while testing. I keep checking the app store hoping to see a version update with a fix to this.