"Blown fence" crash reports

I've noticed a few crash reports for my app for "blown fences" in the iOS 11 GM. What does this mean, and what can be done to diagnose it?


Here's a sample report:


Date/Time:       2017-09-13 08:44:59 +0900
OS Version:      iPhone OS 11.0 (Build 15A372)
Architecture:    arm64
Report Version:  26


Data Source:     KPerf Lightweight PET
Kernel Cache:    0xffffffe000000000 8447D90A-6C97-D52A-75DD-B17802154197
Reason:          Fence-hang-PROCESSNAME: 530ms handling fence, blown-fence (fence duration=533ms)


Command:         LINE
Path:            /private/var/containers/Bundle/Application/5C0186AB-45F5-41EC-AD4E-E062C31F9033/APPNAME.app/APPNAME
Identifier:      BUNDLEIDENTIFIER
Version:         APPVERSION
Parent:          launchd [1]
PID:             288


Duration:        0.55s
Steps:           11 (50ms sampling interval)


Hardware model:  D10AP
Active cpus:     2

I've had the same problem. Have you identified the cause?

have you fixed the problem? I meet the same problem too...

I believe this indicates a crash due to exceeding a limit 'ie: a fence', I would assume this is memory.


In my case I'm looking at crashes due to pressure and I get a blown fence crash log corresponding to a console report of memory pressure.


So while not all blown fences may be due to memory pressure, it's one cause of them.


Essentially the process gets a memory warning and if it does not reduce memory consumption by a certain timeout, it will be terminated.

"Blown fence" crash reports
 
 
Q