Debugging CPU Resource Fatal Process Killed Crash

Hi,


We've noticed a few cases of a cpu_resource_fatal crash report for our app. The logs for the crash are somewhat interesting but don't really provide an obvious path forward to identifying the root cause or fixing the issue. I've been searching for a while to find some sort of documentation on this but I haven't found anything conclusive. The only thing I've found that really even hints at this issue is:


https://developer.apple.com/library/archive/documentation/Performance/Conceptual/EnergyGuide-iOS/WorkLessInTheBackground.html


"iOS employs a CPU Monitor that watches background apps for excessive CPU usage and terminates them if they fall outside of certain limits. Most apps performing normal background activity should never encounter this situation. However, if your app reaches the limits and is terminated, the crash log indicates the reason for the termination. An exception type of

EXC_RESOURCE
and subtype of
CPU_FATAL
is specified, along with a message indicating that limits were exceeded. See Listing 3-6."


Our crash log doesn't have an exception type though. This is what it looks like below.


I'm really struggling to figure out what would cause this. Is this caused by some sort of deadlock? Or by a runaway computational process? Or by a leaked background task?


I have two sysdiagnose logs from when this has happened, but haven't found anything compelling in either of them yet.


Any help is appreciated. Thanks!


- Conrad


{"app_name":"MapMyRun","timestamp":"2018-09-22 08:59:45.18 -0500","app_version":"18.8.5_beta_670e","slice_uuid":"A7173537-ED4B-3677-9893-4C882D0EB93A","adam_id":0,"build_version":"1809212128","bundleID":"com.mapmyfitness.MapMyRun","share_with_app_devs":false,"is_first_party":false,"bug_type":"206","os_version":"iPhone OS 11.4.1 (15G77)","incident_id":"26C70EF6-4844-4EC0-82B5-8F0D64022375","name":"MapMyRun"}
Date/Time:       2018-09-22 08:58:50.113113 -0500
OS Version:      iPhone OS 11.4.1 (Build 15G77)
Architecture:    arm64
Report Version:  19


Command:         MapMyRun
Path:            /private/var/containers/Bundle/Application/B76F8244-CE8E-468E-9073-A2DFAA089DEB/MapMyRun.app/MapMyRun
Version:         18.8.5_beta_670e (1809212128)
Beta Identifier: 2FFE057C-B975-449C-B538-08A1D58CD510
PID:             2489


Event:           cpu usage
Action taken:    Process killed
CPU:             48 seconds cpu time over 54 seconds (88% cpu average), exceeding limit of 80% cpu over 60 seconds
CPU limit:       48s
Limit duration:  60s
CPU used:        48s
Duration:        54.45s
Steps:           15


Hardware model:  iPhone9,3
Active cpus:     2




Powerstats for:  MapMyRun [2489]
UUID:            A7173537-ED4B-3677-9893-4C882D0EB93A
Start time:      2018-09-22 08:59:29 -0500
End time:        2018-09-22 08:59:44 -0500
Microstackshots: 15 samples (100%)
Primary state:   11 samples Frontmost App, User mode, Effective Thread QoS Background, Requested Thread QoS User Interactive, Override Thread QoS Unspecified
User Activity:   15 samples Idle, 0 samples Active
Power Source:    15 samples on Battery, 0 samples on AC
  11 ??? (libdyld.dylib + 4032) [0x1839a9fc0]
    11 ??? (MapMyRun + 1630896) [0x1044ae2b0]
      11 ??? (UIKit + 3266392) [0x18df38758]
        11 ??? (GraphicsServices + 45088) [0x185efe020]
          11 ??? (CoreFoundation + 48552) [0x183f18da8]
            6  ??? (CoreFoundation + 964740) [0x183ff8884]
              5  ??? (CoreFoundation + 963128) [0x183ff8238]
                5  ??? (CoreFoundation + 973072) [0x183ffa910]
                  5  ??? (QuartzCore + 770096) [0x188175030]
                    5  ??? (QuartzCore + 766384) [0x1881741b0]
                      4  ??? (QuartzCore + 606344) [0x18814d088]
                        4  ??? (QuartzCore + 603520) [0x18814c580]
                          4  ??? (QuartzCore + 1251792) [0x1881ea9d0]
                            4  ??? (QuartzCore + 1251792) [0x1881ea9d0]
                              4  ??? (QuartzCore + 1251792) [0x1881ea9d0]
                                4  ??? (QuartzCore + 1251792) [0x1881ea9d0]
                                  4  ??? (QuartzCore + 1251792) [0x1881ea9d0]
                                    4  ??? (QuartzCore + 1251792) [0x1881ea9d0]
                                      4  ??? (QuartzCore + 1251792) [0x1881ea9d0]
                                        4  ??? (QuartzCore + 1251792) [0x1881ea9d0]
                                          4  ??? (QuartzCore + 1251952) [0x1881eaa70]
                                            2  ??? (QuartzCore + 1253400) [0x1881eb018]
                                              2  ??? (QuartzCore + 1411144) [0x188211848]
                                                2  ??? (QuartzCore + 1410688) [0x188211680]
                                                  2  ??? (QuartzCore + 1409784) [0x1882112f8]
                                                    2  ??? (QuartzCore + 1395808) [0x18820dc60]
                                                      1  ??? (QuartzCore + 501636) [0x188133784]
                                                        1  ??? (QuartzCore + 480884) [0x18812e674]
                                                      1  ??? (QuartzCore + 501064) [0x188133548]
                                                        1  ??? (QuartzCore + 1398052) [0x18820e524]
                                                          1  ??? (QuartzCore + 1399040) [0x18820e900]
                                            1  ??? (QuartzCore + 1253704) [0x1881eb148]
                                              1  ??? (QuartzCore + 1600600) [0x18823fc58]
                                                1  ??? (QuartzCore + 44152) [0x1880c3c78]
                                            1  ??? (QuartzCore + 1253736) [0x1881eb168]
                                              1  ??? (QuartzCore + 1611460) [0x1882426c4]
                                                1  ??? (QuartzCore + 1588620) [0x18823cd8c]
                      1  ??? (QuartzCore + 594984) [0x18814a428]
              1  ??? (CoreFoundation + 23828) [0x183f12d14]
            5  ??? (CoreFoundation + 965576) [0x183ff8bc8]
              5  ??? (CoreFoundation + 974960) [0x183ffb070]
                5  ??? (libdispatch.dylib + 58972) [0x18395165c]
                  5  ??? (libdispatch.dylib + 6752) [0x183944a60]
                    4  ??? (QuartzCore + 1254252) [0x1881eb36c]
                      4  ??? (UIKit + 1224652) [0x18dd45fcc]
                        4  ??? (UIKit + 266424) [0x18dc5c0b8]
                          4  ??? (UIKit + 268080) [0x18dc5c730]
                            4  ??? (<4540B641-4362-33B5-952B-C1F6465EEF3F> + 32732) [0x10668ffdc]
                              4  ??? (<4540B641-4362-33B5-952B-C1F6465EEF3F> + 32320) [0x10668fe40]
                                4  ??? (UIKit + 2538032) [0x18de86a30]
                                  3  ??? (UIKit + 258904) [0x18dc5a358]
                                    2  ??? (<4540B641-4362-33B5-952B-C1F6465EEF3F> + 32496) [0x10668fef0]
                                      2  ??? (QuartzCore + 1194600) [0x1881dca68]
                                        2  ??? (QuartzCore + 1207156) [0x1881dfb74]
                                          1  ??? (libobjc.A.dylib + 117032) [0x183220928]
                                          1  ??? (QuartzCore + 1177944) [0x1881d8958]
                                            1  ??? (QuartzCore + 1218176) [0x1881e2680]
                                              1  ??? (libsystem_malloc.dylib + 5596) [0x183b0f5dc]
                                                1  ??? (libsystem_malloc.dylib + 6308) [0x183b0f8a4]
                                                  1  ??? (libsystem_malloc.dylib + 11568) [0x183b10d30]
                                    1  ??? (<4540B641-4362-33B5-952B-C1F6465EEF3F> + 32448) [0x10668fec0]
                                      1  ??? (UIKit + 1263660) [0x18dd4f82c]
                                        1  ??? (QuartzCore + 1170632) [0x1881d6cc8]
                                          1  ??? (QuartzCore + 1207164) [0x1881dfb7c]
                                            1  ??? (QuartzCore + 765228) [0x188173d2c]
                                              1  ??? (libsystem_malloc.dylib + 14392) [0x183b11838]
                                  1  ??? (UIKit + 258844) [0x18dc5a31c]
                                    1  ??? (UIKit + 260928) [0x18dc5ab40]
                                      1  ??? (UIKit + 261704) [0x18dc5ae48]
                                        1  ??? (libobjc.A.dylib + 154564) [0x183229bc4]
                                          1  ??? (libobjc.A.dylib + 83920) [0x1832187d0]
                                            1  ??? (libsystem_malloc.dylib + 16224) [0x183b11f60]
                                              1  ??? (libsystem_malloc.dylib + 16428) [0x183b1202c]
                                                1  ??? (libsystem_malloc.dylib + 76316) [0x183b20a1c]
                                                  1  ??? (libsystem_platform.dylib + 26896) [0x183c73910]
                    1  ??? (QuartzCore + 1254104) [0x1881eb2d8]
                      1  ??? (QuartzCore + 1217544) [0x1881e2408]
                        1  ??? (QuartzCore + 1396236) [0x18820de0c]
                          1  ??? (QuartzCore + 1548264) [0x188232fe8]
                            1  ??? (libsystem_platform.dylib + 25660) [0x183c7343c]
  4  ??? (libsystem_pthread.dylib + 2820) [0x183c77b04]
    4  


  Binary Images:
         0x104320000 -                ???  com.mapmyfitness.MapMyRun 18.8.5_beta_670e (1809212128)  /private/var/containers/Bundle/Application/B76F8244-CE8E-468E-9073-A2DFAA089DEB/MapMyRun.app/MapMyRun
         0x106688000 -                ???  ??? <4540B641-4362-33B5-952B-C1F6465EEF3F>
         0x183204000 -        0x1838bffff  libobjc.A.dylib  /usr/lib/libobjc.A.dylib
         0x183943000 -        0x1839a8fff  libdispatch.dylib <0C931AC7-6013-3DE1-87BB-6F440BEED5EB> /usr/lib/system/libdispatch.dylib
         0x1839a9000 -        0x1839c3fff  libdyld.dylib <6225B1CD-3984-3071-A64A-DD8F31B09C36> /usr/lib/system/libdyld.dylib
         0x183b0e000 -        0x183b29fff  libsystem_malloc.dylib <6DD6981A-DEF5-30B3-B606-2F29ADE13BB2> /usr/lib/system/libsystem_malloc.dylib
         0x183c6d000 -        0x183c76fff  libsystem_platform.dylib <97DAE109-BAD6-3E58-8E5D-63B8DBDDADCF> /usr/lib/system/libsystem_platform.dylib
         0x183c77000 -        0x183c86fff  libsystem_pthread.dylib <07C87E38-74B7-3D12-8F0F-A331D8894B97> /usr/lib/system/libsystem_pthread.dylib
         0x183f0d000 -        0x1842a3fff  com.apple.CoreFoundation 6.9 (1452.23) <533C841E-D6E9-313D-8ADB-02388744E2EF> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
         0x185ef3000 -        0x185f06fff  com.apple.GraphicsServices 1.0 (1.0) <5011EC25-11D7-3A56-AF50-1E8207D54962> /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
         0x1880b9000 -        0x1882ecfff  com.apple.QuartzCore 1.11 (584.63) <10C9D621-C7ED-36F1-AE23-CFC2E8A83E9C> /System/Library/Frameworks/QuartzCore.framework/QuartzCore
         0x18dc1b000 -        0x18ec99fff  com.apple.UIKit 1.0 (1000)  /System/Library/Frameworks/UIKit.framework/UIKit

Replies

Here's another of the crash reports that looks very similar. This one is interesting because it has a "heaviest stack trace" portion at the top.


{"app_name":"MapMyRun","timestamp":"2018-10-01 17:16:42.95 -0500","app_version":"18.10.0","slice_uuid":"3DC8B3FD-DF3A-31ED-B6FD-C90247B3BFB2","adam_id":0,"build_version":"18100000","bundleID":"Q5AWL8WCY6.iMapMyRun","share_with_app_devs":true,"is_first_party":false,"bug_type":"206","os_version":"iPhone OS 12.0 (16A366)","incident_id":"D59A58B5-DDFE-4015-910A-66C7427EA8AE","name":"MapMyRun"}
Date/Time:       2018-10-01 17:16:38 -0500
End time:        2018-10-01 17:16:42 -0500
OS Version:      iPhone OS 12.0 (Build 16A366)
Architecture:    arm64e
Report Version:  27
Incident Identifier: D59A58B5-DDFE-4015-910A-66C7427EA8AE


Data Source:     Microstackshots
Shared Cache:    0x94cf4000 9B4319F6-BEE2-3124-A974-C91BD3939DC2


Command:         MapMyRun
Path:            /private/var/containers/Bundle/Application/6902DA8C-0796-4A8E-AD43-84FA2AFC8AE2/MapMyRun.app/MapMyRun
Identifier:      Q5AWL8WCY6.iMapMyRun
Version:         18.10.0 (18100000)
Beta Identifier: 6CBA8458-4C1B-4DCE-8630-CC457CDC77E0
PID:             19283


Event:           cpu usage
Action taken:    Process killed
CPU:             48 seconds cpu time over 51 seconds (93% cpu average), exceeding limit of 80% cpu over 60 seconds
CPU limit:       48s
Limit duration:  60s
CPU used:        48s
Duration:        4.01s
Steps:           5


Hardware model:  iPhone11,2
Active cpus:     6
Boot args:        




Heaviest stack for the target process:
  5  ??? (libdyld.dylib + 4128) [0x2155e0020]
  5  ??? (MapMyRun + 2821424) [0x104c3cd30]
  5  ??? (UIKitCore + 3666984) [0x242ed9428]
  5  ??? (GraphicsServices + 44008) [0x217dd9be8]
  5  ??? (CoreFoundation + 694340) [0x215b2a844]
  5  ??? (CoreFoundation + 697044) [0x215b2b2d4]
  5  ??? (CoreFoundation + 718384) [0x215b30630]
  5  ??? (libdispatch.dylib + 65536) [0x2155b4000]
  5  ??? (libdispatch.dylib + 17164) [0x2155a830c]
  5  ??? (QuartzCore + 1393088) [0x21a2421c0]
  5  ??? (UIKitCore + 10626828) [0x24357c70c]
  5  ??? (UIKitCore + 10625280) [0x24357c100]
  5  ??? (UIKitCore + 10801772) [0x2435a726c]
  5  ??? (<81482D9C-4C69-318C-9706-06C01EFDE5FD> + 38468) [0x10b941644]
  5  ??? (<81482D9C-4C69-318C-9706-06C01EFDE5FD> + 37660) [0x10b94131c]
  5  ??? (UIKitCore + 10804704) [0x2435a7de0]
  5  ??? (UIKitCore + 10803168) [0x2435a77e0]
  4  ??? (<81482D9C-4C69-318C-9706-06C01EFDE5FD> + 37876) [0x10b9413f4]
  4  ??? (UIKitCore + 10708928) [0x2435907c0]
  4  ??? (QuartzCore + 1353532) [0x21a23873c]
  4  ??? (QuartzCore + 1300580) [0x21a22b864]
  4  ??? (QuartzCore + 1290876) [0x21a22927c]
  4  ??? (QuartzCore + 1336776) [0x21a2345c8]
  4  ??? (UIKitCore + 11360764) [0x24362f9fc]
  4  ??? (UIKitCore + 10782192) [0x2435a25f0]
  2  ??? (UIKitCore + 10612836) [0x243579064]
  2  ??? (UIKitCore + 10609232) [0x243578250]
  1  ??? (QuartzCore + 1938732) [0x21a2c752c]
  1  ??? (QuartzCore + 1936492) [0x21a2c6c6c]
  1  ??? (libobjc.A.dylib + 118824) [0x214db3028]




Powerstats for:  MapMyRun [19283]
UUID:            3DC8B3FD-DF3A-31ED-B6FD-C90247B3BFB2
Path:            /private/var/containers/Bundle/Application/6902DA8C-0796-4A8E-AD43-84FA2AFC8AE2/MapMyRun.app/MapMyRun
Architecture:    arm64
Footprint:       89.14 MB
Start time:      2018-10-01 17:16:38 -0500
End time:        2018-10-01 17:16:42 -0500
Num samples:     5 (100%)
CPU Time:        3.649s
Primary state:   5 samples Non-Frontmost App, Non-Suppressed, User mode, Effective Thread QoS Background, Requested Thread QoS User Interactive, Override Thread QoS Unspecified
User Activity:   0 samples Idle, 0 samples Active, 5 samples Unknown
Power Source:    0 samples on Battery, 0 samples on AC, 5 samples Unknown
  5  ??? (libdyld.dylib + 4128) [0x2155e0020]
    5  ??? (MapMyRun + 2821424) [0x104c3cd30]
      5  ??? (UIKitCore + 3666984) [0x242ed9428]
        5  ??? (GraphicsServices + 44008) [0x217dd9be8]
          5  ??? (CoreFoundation + 694340) [0x215b2a844]
            5  ??? (CoreFoundation + 697044) [0x215b2b2d4]
              5  ??? (CoreFoundation + 718384) [0x215b30630]
                5  ??? (libdispatch.dylib + 65536) [0x2155b4000]
                  5  ??? (libdispatch.dylib + 17164) [0x2155a830c]
                    5  ??? (QuartzCore + 1393088) [0x21a2421c0]
                      5  ??? (UIKitCore + 10626828) [0x24357c70c]
                        5  ??? (UIKitCore + 10625280) [0x24357c100]
                          5  ??? (UIKitCore + 10801772) [0x2435a726c]
                            5  ??? (<81482D9C-4C69-318C-9706-06C01EFDE5FD> + 38468) [0x10b941644]
                              5  ??? (<81482D9C-4C69-318C-9706-06C01EFDE5FD> + 37660) [0x10b94131c]
                                5  ??? (UIKitCore + 10804704) [0x2435a7de0]
                                  5  ??? (UIKitCore + 10803168) [0x2435a77e0]
                                    4  ??? (<81482D9C-4C69-318C-9706-06C01EFDE5FD> + 37876) [0x10b9413f4]
                                      4  ??? (UIKitCore + 10708928) [0x2435907c0]
                                        4  ??? (QuartzCore + 1353532) [0x21a23873c]
                                          4  ??? (QuartzCore + 1300580) [0x21a22b864]
                                            4  ??? (QuartzCore + 1290876) [0x21a22927c]
                                              4  ??? (QuartzCore + 1336776) [0x21a2345c8]
                                                4  ??? (UIKitCore + 11360764) [0x24362f9fc]
                                                  4  ??? (UIKitCore + 10782192) [0x2435a25f0]
                                                    2  ??? (UIKitCore + 10612836) [0x243579064]
                                                      2  ??? (UIKitCore + 10609232) [0x243578250]
                                                        1  ??? (QuartzCore + 1938732) [0x21a2c752c]
                                                          1  ??? (QuartzCore + 1936492) [0x21a2c6c6c]
                                                            1  ??? (libobjc.A.dylib + 118824) [0x214db3028]
                                                        1  ??? (QuartzCore + 1937684) [0x21a2c7114]
                                                          1  ??? (Foundation + 21532) [0x21652941c]
                                                            1  ??? (Foundation + 1337084) [0x21666a6fc]
                                                              1  ??? (Foundation + 1165092) [0x216640724]
                                                                1  ??? (libobjc.A.dylib + 83188) [0x214daa4f4]
                                                                  1  ??? (libsystem_malloc.dylib + 67220) [0x215775694]
                                                                    1  ??? (libsystem_malloc.dylib + 64904) [0x215774d88]
                                                                      1  ??? (libsystem_malloc.dylib + 73492) [0x215776f14]
                                                                        1  ??? (libsystem_malloc.dylib + 49312) [0x2157710a0]
                                                                          1  ??? (libsystem_malloc.dylib + 47820) [0x215770acc]
                                                                            1  ??? (libsystem_malloc.dylib + 51468) [0x21577190c]
                                                    2  ??? (UIKitCore + 10612912) [0x2435790b0]
                                                      1  ??? (UIKitCore + 10609564) [0x24357839c]
                                                        1  ??? (UIKitCore + 10610944) [0x243578900]
                                                          1  ??? (Foundation + 242960) [0x21655f510]
                                                            1  ??? (Foundation + 18788) [0x216528964]
                                                              1  ??? (CoreFoundation + 872244) [0x215b55f34]
                                                      1  ??? (libobjc.A.dylib + 118824) [0x214db3028]
                                    1  ??? (<81482D9C-4C69-318C-9706-06C01EFDE5FD> + 37948) [0x10b94143c]
                                      1  ??? (QuartzCore + 1305276) [0x21a22cabc]
                                        1  ??? (QuartzCore + 1300580) [0x21a22b864]
                                          1  ??? (QuartzCore + 1290876) [0x21a22927c]
                                            1  ??? (QuartzCore + 1336776) [0x21a2345c8]
                                              1  ??? (UIKitCore + 11360692) [0x24362f9b4]
                                                1  ??? (libobjc.A.dylib + 118824) [0x214db3028]


  Binary Images:
           0x10498c000 -                ???  MapMyRun               <3DC8B3FD-DF3A-31ED-B6FD-C90247B3BFB2>  /private/var/containers/Bundle/Application/6902DA8C-0796-4A8E-AD43-84FA2AFC8AE2/MapMyRun.app/MapMyRun
           0x10b938000 -                ???  ???                    <81482D9C-4C69-318C-9706-06C01EFDE5FD>
           0x214d96000 -        0x21551dfff  libobjc.A.dylib        <2C3E3990-8F1D-3A0C-8866-59587752C61D>  /usr/lib/libobjc.A.dylib
           0x2155a4000 -        0x2155defff  libdispatch.dylib      <2C406AA2-4429-3ADA-ABF3-962DF6CED6A9>  /usr/lib/system/libdispatch.dylib
           0x2155df000 -        0x21560bfff  libdyld.dylib          <BF5E981C-57C7-3489-8B4F-4051D953CC1E>  /usr/lib/system/libdyld.dylib
           0x215765000 -        0x215788fff  libsystem_malloc.dylib <F626616A-3F48-3AD7-8774-42D10ABA864A>  /usr/lib/system/libsystem_malloc.dylib
           0x215a81000 -        0x215decfff  CoreFoundation         <5A8EE6E9-7B45-355C-99C2-1026CF710B0A>  /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
           0x216524000 -        0x216842fff  Foundation             <D517DA6F-EC98-3485-BA06-4014775BDCED>  /System/Library/Frameworks/Foundation.framework/Foundation
           0x217dcf000 -        0x217de1fff  GraphicsServices       <AD4E5488-E8FD-3024-8FA8-6B2298FAAF21>  /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
           0x21a0ee000 -        0x21a32dfff  QuartzCore             <2A37BD61-4554-3D51-97E9-32403A5943F7>  /System/Library/Frameworks/QuartzCore.framework/QuartzCore
           0x242b5a000 -        0x243ce2fff  UIKitCore              <193BA68B-7CEE-3C70-9E95-57BF5D2B7C13>  /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore

I also have recently seen this crash type:


vent: cpu usage

Action taken: none

CPU: 144 seconds cpu time over 172 seconds (84% cpu average), exceeding limit of 80% cpu over 180 seconds

CPU limit: 144s

Limit duration: 180s

CPU used: 144s

Duration: 8.02s

Steps: 9



Hardware model: iPhone11,6

Active cpus: 6



Seems like something the scheduler should be resolving and not an app developer. If the OS gives an app the time, should the app not use the time without worrying if I use too much will I be killed? Note, this is in the foreground, not backgrounded.

I also met this sort of issues while running automatic test cases, crash log is exactly the same as yours, did you find any clue to fix this issue?

I've also been running into this issue lately, and it feels like it's being catalyzed even further by iOS 13. From what I can tell, I'm being pretty cautious with CPU usage (particularly on the main thread), so I'm not too sure what could be causing this.

I have the same issue, when my app in background sometimes it shows the CPU more than 100% in strange way..then killed with signal 9.

When i use Instrument , it shows 90% consume of CPU cause of system library...

Any idea?

We're having the same issue (app gets killed/restarted after a couple minutes of high activity while running in the foreground), and a bit stumped. I see this query multiple times here and on other forums, but no clear answers yet. Seems pretty fundamental.

Clearly the foreground app should be able to make high use of the CPU; some games pretty much peg it as long as they are running, to the point the phone gets hot. So what exactly is the criterion that's being violated here?

In our case, most of the processing occurs in WebKit, with more than half of it occurring in a web worker, if that's relevant.


Crash log:

Command: com.apple.WebKit.WebContent
Path: /System/Library/Frameworks/WebKit.framework/XPCServices/com.apple.WebKit.WebContent.xpc/com.apple.WebKit.WebContent
Identifier: com.apple.WebKit.WebContent
Version: 8609 (8609.3.5.0.2)
PID: 9184

Event: cpu usage
Action taken: none
CPU: 90 seconds cpu time over 156 seconds (58% cpu average), exceeding limit of 50% cpu over 180 seconds
CPU limit: 90s
Limit duration: 180s
CPU used: 90s
CPU duration: 156s
Duration: 156.40s
Duration Sampled: 153.35s
Steps: 77

I'm having the exact same issue.
We have an app and it reached production release. Except this issue is getting out of hand.

It's made using React Native, Firebase Analytics/Crashlytics, Background Geolocation.
And the app keeps crashing like that, for no apparent reason.

Anyone found a solution ?