CommandPost / FCPCafe

FCP Cafe Website
https://fcp.cafe
MIT License
26 stars 15 forks source link

10.6.7 Runaway FCP Processes #232

Open JohnKSF opened 11 months ago

JohnKSF commented 11 months ago

Apple Feedback Assistant ID: MISSING

Describe the bug There appears to be some catalyst which causes FCP to unnecessarily go into a process loop causing multiple CPU's to reach peak capacity and degrade complete system performance.

To Reproduce Steps to reproduce the behavior: This behavior appears to be completely random and may occur when using a hotkey CMD+Tab to go between running applications.

  1. Here is a snip of the console report indicating an issue with "Wakeups"

Date/Time: 2023-07-27 18:33:44.210 -0700 End time: 2023-07-27 18:34:35.468 -0700 OS Version: macOS 13.5 (Build 22G74) Architecture: arm64e Report Version: 40 Incident Identifier: 6F8489DE-48B2-42CA-A9AE-7D018291DEFA

Data Source: Microstackshots Shared Cache: 9C875B0A-D532-3933-B1F0-F1EA72CEDDE2 slid base address 0x1904c0000, slide 0x104c0000 Shared Cache: 0F220D33-5DD0-30C3-9960-5E85B0D54462 slid base address 0x1bb80c000, slide 0x3b80c000

Command: Final Cut Pro Path: /Applications/Final Cut Pro.app/Contents/MacOS/Final Cut Pro Identifier: com.apple.FinalCut Version: 10.6.7 (408080) Build Version: 4 Product Build Version: 20A104 Project Name: ProEditor Source Version: 40800080016000000 Team ID: PTN9T2S29T App Item ID: 424389933 App External ID: 858081843 Is First Party: Yes Resource Coalition ID: 4047 Architecture: arm64 Parent: launchd [1] PID: 8136

Event: wakeups Action taken: none Wakeups: 45001 wakeups over the last 51 seconds (878 wakeups per second average), exceeding limit of 150 wakeups per second over 300 seconds Wakeups limit: 45000 Limit duration: 300s Wakeups caused: 45001 Wakeups duration: 51s Duration: 51.26s Duration Sampled: 50.19s Steps: 61

Hardware model: Mac13,1 Active cpus: 10 HW page size: 16384 VM page size: 16384

Fan speed: 1327 rpm Advisory levels: Battery -> 2, User -> 2, ThermalPressure -> 0, Combined -> 2 Free disk space: 1417.51 GB/1858.19 GB, low space threshold 3072 MB Vnodes Available: 75.28% (198106/263168)

Expected behavior Consistent process behavior.

Screenshots If applicable, add screenshots to help explain your problem.

Screenshot 2023-07-27 at 7 20 17 PM

Desktop (please complete the following information):

Smartphone (please complete the following information):

Additional context I did have an instance of Chrome running at the start of the issue. I shut it down but the issue persisted for another 1-2 minutes.

latenitefilms commented 11 months ago

I've also experienced this - even when FCPX is in the background, seemingly doing nothing, it's using up a heap of CPU and GPU cycles.

JohnKSF commented 11 months ago

Another incident this morning. Again hotkeying between browser and FCP generated a huge amount of FCP cycles. This persisted even after closing the project and library.

Screenshot 2023-07-28 at 8 39 02 AM

Closing FCP entirely ended the issue.

latenitefilms commented 7 months ago

@JohnKSF - Are you still seeing the same issue on Final Cut Pro 10.7?

joema4 commented 2 months ago

If this problem is still happening, we need to see a spindump of FCP taken while in the high CPU state. Procedure: select FCP process in Activity Monitor and press CTRL+OPT+CMD+S keys. Save that as a .txt file and post it here.

If that is not sufficient, the command-line xctrace command can be used to capture an Instruments trace, but that requires the user to have XCode installed.

If installing XCode is too difficult, it's possible to use the built-in command-line tool 'sample' to capture a sampled execution profile and then build a flame graph from that which shows the execution profile. Doing that requires using an Awk script to preprocess the sampled data, then using a Perl script to convert that to an SVG flame graph file, viewable in Safari or other browsers. Those are both part of the flame graph package available in Homebrew: https://brew.sh

See the attached sample of an FCP flame graph showing progressive zoom-in for finer detail.

  1. stackcollapse-sample.awk pre-processes 'sample' output
  2. flamegraph.pl generates the flame graph.

Example syntax:

awk -f /opt/homebrew/bin/stackcollapse-sample.awk /Users/josephmarler/Documents/FCPSample3s.txt > ~/Documents/FCPSampStackCollap.txt

perl /opt/homebrew/bin/flamegraph.pl ~/Documents/FCPSampStackCollap.txt > ~/Documents/FCPFlameGraph.svg FlamegraphDemo