Constant crashing with FCP, even when it starts up

I am experiencing a recurring issue with FCP that has been getting worse and worse with time. I will be working and either I try to do something with the timeline and when I PLAY it will only play a few frames before freezing (audio keeps playing though) or I drag an effect on a clip and it gives me a warning about how it can't be done, no more info is available... even standard built-in Apple effects like Gaussian Blur. I quit FCP because it won't work until I restart it. Sometimes it will crash... just completely disappear. Every time I try to start it it will appear for a second or two and then disappear again. This will happen multiple times a day as I'm editing.


Mac Studio M1 Ultra 64GB o' RAM

Library running on WD_BLACK SN850X 4TB NVMe SSD inside Acasis enclosure via Thunderbolt 4

FCP 11, though this affected 10.8.x as well

Mac OS 15.1.1, though this affected me in Mac OS 14 as well.


Here's what I have tried:

-DELETING PREFERENCES - This works. For a while. Maybe 45 minutes if I'm lucky.


-RESTORING PREFERENCES with PREFERENCE MANAGER - This does not work. I restore them and FCP will still crash right away, even though the preferences that were saved with Preference Manager were super clean after I had just set them up, before I used FCP in any way. If I delete the "settings" by holding OPTION at startup, go through the song and dance of dismissing the iPad FCP thing (why is that there?) and dismissing the plug-ins that don't work (that I have zero clue how to remove), I can then quit FCP, restore the preferences with Preference Manager and it works. Again for about 45 minutes of editing if I'm lucky.


-ETRE CHECK - No major issues found other than a few unsigned things like my Logitech mouse software (reinstalled that anyway). Also I have automatic security updates off and it didn't like that. There was other nonsense like "No time machine backup" which would have zero influence on FCP crashing.


-MALWAREBYTES - Scanned with the latest version. All clean.


-REINSTALLING FCP FROM THE APP STORE - Makes no difference.


-Don't have CHROME.


Obviously it has something to do with the preferences, but something outside of what Preference Manager saves and restores. Only fully deleting the preferences with the built-in method will fix it for a while. I could have some bad plugins maybe. I'd like to go through one by one to remove some of them but again I don't know where they are and I don't have uninstallers for them all. So I guess my first question would be is... what does resetting FCP do besides delete the preferences that Preference Manager backs up? Whatever that is, is my issue.


Mac Studio

Posted on Nov 24, 2024 9:53 PM

Reply
Question marked as Top-ranking reply

Posted on Nov 26, 2024 10:08 AM

I studied closely the crash at 2024-11-24 02:24:31.7253 -0700, but they are all similar.


Thread 44 crashed in OZFxPlug_GetFlexoInputNode due to dereferencing a null pointer. OZ=Ozone, the FCP private framework that implements the Motion runtime engine and effects processing.


This crash appears to be a complex interaction between FCP's effect system, background processing, and resource management. The root cause may be a synchronization loophole (e.g, race condition) between effect processing and thumbnail generation.


However if we look earlier in the stack trace (around frame 77) we see an an exception occurred in the background task. Instead of properly handling it, the code continued execution, apparently without cleanup or (maybe) not even logging it.

This led to corrupted state that caused the scheduling system to enter an infinite recursion.

Finally, after corrupting the stack, it attempted to access an invalid pointer and crashed.


The effects thumbnail generation logic is complex. There is a background task queue ("effectLibraryThumbnailGenerator") for processing. It has both a memory cache (FFObjectCache) and disk cache (FFSegmentStoreRef).


An obvious question is why now, and why only on your machine? Unknown. Because of the track record of CoreMelt causing problems, and the failure of their uninstall tool to fully work, I suggest you manually remove all traces of that (as a temporary test). They have a support page with the procedure: https://support.coremelt.com/hc/en-gb/articles/360013189594-Where-are-files-from-CoreMelt-installed-How-to-manually-uninstall


If you have any other third-party Fx, especially those from Pixel Film Studios, please list those.


If that doesn't help, the next time the crash happens run the following terminal command which gathers FCP-specific logging info, then upload that so I can examine it.


log show --info --debug --predicate 'processImagePath CONTAINS "Final Cut Pro"' --last 1h > ~/Documents/Redifer_FCP_Log.txt 






Similar questions

46 replies
Question marked as Top-ranking reply

Nov 26, 2024 10:08 AM in response to Joe Redifer

I studied closely the crash at 2024-11-24 02:24:31.7253 -0700, but they are all similar.


Thread 44 crashed in OZFxPlug_GetFlexoInputNode due to dereferencing a null pointer. OZ=Ozone, the FCP private framework that implements the Motion runtime engine and effects processing.


This crash appears to be a complex interaction between FCP's effect system, background processing, and resource management. The root cause may be a synchronization loophole (e.g, race condition) between effect processing and thumbnail generation.


However if we look earlier in the stack trace (around frame 77) we see an an exception occurred in the background task. Instead of properly handling it, the code continued execution, apparently without cleanup or (maybe) not even logging it.

This led to corrupted state that caused the scheduling system to enter an infinite recursion.

Finally, after corrupting the stack, it attempted to access an invalid pointer and crashed.


The effects thumbnail generation logic is complex. There is a background task queue ("effectLibraryThumbnailGenerator") for processing. It has both a memory cache (FFObjectCache) and disk cache (FFSegmentStoreRef).


An obvious question is why now, and why only on your machine? Unknown. Because of the track record of CoreMelt causing problems, and the failure of their uninstall tool to fully work, I suggest you manually remove all traces of that (as a temporary test). They have a support page with the procedure: https://support.coremelt.com/hc/en-gb/articles/360013189594-Where-are-files-from-CoreMelt-installed-How-to-manually-uninstall


If you have any other third-party Fx, especially those from Pixel Film Studios, please list those.


If that doesn't help, the next time the crash happens run the following terminal command which gathers FCP-specific logging info, then upload that so I can examine it.


log show --info --debug --predicate 'processImagePath CONTAINS "Final Cut Pro"' --last 1h > ~/Documents/Redifer_FCP_Log.txt 






Nov 25, 2024 2:48 AM in response to Joe Redifer

Delete all cache, proxies, optimized media and magnetic mask files:

  1. Select library in left side bar
  2. File>Delete Generated Library Files>Delete Render Files>All, also select checkboxes for Delete Optimized Media, Delete Proxy Media, and Delete Unused Magnetic Mask Files


If it still happens:

  1. Export a library XML
  2. Shut down FCP and make a file-level backup of the entire library


Then launch FCP and select the project in the left side bar, press the OPT key, and select Clip>"Verify and Repair Project". Take a screenshot of any messages.


If there are still problems, create a blank library and load the library XML you made. Take a screenshot of any errors during the XML load.


Test your workload on the new library created from the XML. Does that work?


If FCP still crashes, please gather all the FCP crash logs with a .ips file extension from the below locations and upload to a file sharing service I can access.


/Users/YourUserName/Library/Logs/DiagnosticReports/


/Users/YourUserName/Library/Logs/DiagnosticReports/Retired

Nov 30, 2024 10:31 AM in response to joema

joema wrote:

Joe, after further study of your trace, it shows evidence of a "thread explosion," whereby hundreds of threads named CVDisplayLink are generated but do nothing. This happens roughly coincident with your drag/drop operation, but I can't tell if that is the cause. Once it enters that state, FCP is unstable and behaves unpredictably. That likely explains the vague "No other information" error message. That also explains why restarting FCP is required.

I tend to think this isn't a hardware or config issue. It is more likely an FCP bug, maybe triggered by a plugin or other yet-unknown factor.

How often can you reproduce it using the Gaussian Blur drag/drop? Does that particular action seem to trigger it more than others?

I did several tests dragging combinations of Gaussian Blur and Drop Shadow on a partially transparent PNG and never saw any problems.


We know "DisplayLink" as the software that is used with many third party docks to support displays, at times in excess of what some mac models support natively.

This does not seem to be a coincidence...


Dec 8, 2024 9:32 AM in response to Joe Redifer

Joe, I've spent lots of time examining your 60-second Instruments trace. I can clearly see the "soft freezes", or UI hangs in FCP. However the onset of the underlying problem happens before those manifest. Even in the first part of the trace, FCP is already malfunctioning. The indicator within the Instruments trace is a "thread explosion" of 100+ CVDisplayLink threads (normally there should just be a few). This evidently happens before the UI hangs start occurring.


I have written a script to detect this CVDisplayLink problem, automatically halt the XCTrace command, then signal you with a beep that it happened. Then you could send me that trace and it would be closer in time to the internal failure process. However I need to first test it. Maybe tonight or tomorrow I'll upload it.

Dec 13, 2024 4:37 PM in response to Joe Redifer

The crash log was in .ips format so I had to write a Python script to interpret it. The stack trace of the crashing FCP thread is below. This implies the crash was caused by a color-related FxPlug plugin, and happened when handling On Screen Controls.


Does that ring any bells?


Crash Report

========================================

Date/Time: 2024-12-06 21:12:00.00 -0700

Application: Final Cut Pro

Version: 11.0

Build: 430149

Bundle ID: com.apple.FinalCut

OS Version: macOS 15.1.1 (24B91)


Process Information

----------------------------------------

Process Name: Final Cut Pro

Process Path: /Applications/Final Cut Pro.app/Contents/MacOS/Final Cut Pro

Process ID: 12464

Launch Time: 2024-12-06 00:16:06.6933 -0700

CPU Type: ARM-64


Exception Information

----------------------------------------

Exception Type: EXC_CRASH

Exception Codes: 0x0000000000000000, 0x0000000000000000

Termination Code: 6

Termination Reason: SIGNAL

Terminated By: Final Cut Pro (12464)


Thread Information

----------------------------------------

Crashed Thread Stack Trace:

38400: __pthread_kill + 8

28528: pthread_kill + 288

497928: abort + 128

14909916: FFApplicationHandleExceptionThatShouldNotBeIgnored.cold.1 + 156

10332984: FFApplicationHandleExceptionThatShouldNotBeIgnored + 196

1669388: __handleUncaughtException + 816

152536: _objc_terminate() + 144

75536: std::__terminate(void (*)()) + 16

89996: __cxa_rethrow + 204

262676: objc_exception_rethrow + 44

81392: -[FFFxPlugEffect(CustomParameterAction) currentFxTime:] + 220

878128: -[PAEColorSelectionOSC _readOSCParameter:time:] + 80

878404: -[PAEColorSelectionOSC drawOSC:height:activePart:atFxTime:] + 208

60992: -[FFFxPlugOSC drawRect:toContext:drawProperties:] + 724

2289392: -[FFPlayerVideoModule drawOSCsAtTime:inRect:drawDestination:drawProperties:isDisplaying:] + 1864

2246980: -[FFPlayerVideoModule didDrawVideoAtTime:drawDestination:drawProperties:isDisplaying:] + 80

97548: -[FFMetalVideoPainter newOSCDrawTextureAtTime:viewSize:delegate:drawProperties:destIsDrawing:filmToViewTransform:backingScale:] + 380

11089056: -[FFDestVideoDisplay newOnScreenControlsTextureForFrame:atTime:drawProperties:isDisplaying:] + 484

5131852: -[FFPlayerScheduledData generateOverlayInfo:currentTimecodeType:] + 744

551524: -[FFPlayer _generateOverlayTextures:rate:] + 372

586360: -[FFPlayer _renderVideo] + 6324

592036: -[FFPlayer idle] + 148

516720: -[FFPlayer playerRenderThreadMain:] + 920

345908: __NSThread__start__ + 724

29412: _pthread_start + 136

8444: thread_start + 8

Dec 14, 2024 4:33 PM in response to Joe Redifer

Joe, I spent more time examining the Instruments trace you took. Another thing I previously missed was the audio threads in FCP are behaving abnormally. The stack traces from those threads are 100 calls deep, and take from 200 mS to 1.4 seconds. That level of recursion is problematic because audio processing needs to be real-time. Each audio buffer needs to be processed within its duration (typically 2-10ms) to avoid audio glitches.


Maybe it was doing that because FCP had already become deranged when you took that trace. Are you using any FCP audio plugins or any type of notable audio processing that could affect FCP?

Nov 26, 2024 2:35 PM in response to terryb

Ian - I create a new Library for each episode. Each Library has two events. One event has the Master project, the other event has two projects for assembling green screen talking head segments and another for another live action segmented. When those are done they are exported as 422HQ and imported into the Master project. Err I think I'm supposed to say "Primary" project these days. :P So nothing overly complex.


JoeMa - Thank you for that link, I was successfully able to get rid of the Coremelt stuff. I do have a few PixelFilm stuff: Retro Digital and FPCX Brush Glow. I went ahead and removed them now (super easy to do since they're just created in Motion). Anything called FCPX is woefully outdated now anyway.


The good news is that I did not experience any crashes last night after rebuilding that thumbnail for one of my Favorite Effects. However I still did experience where FCP would soft-freeze, meaning it will visually only play 3 or 4 frames but the audio would continue. The app continues to be very responsive at this point, I just can't watch anything. So I had to quit and restart it. Usually it would need to be force quit. But then it was back up and running.


Nov 30, 2024 9:04 AM in response to Joe Redifer

Joe, after further study of your trace, it shows evidence of a "thread explosion," whereby hundreds of threads named CVDisplayLink are generated but do nothing. This happens roughly coincident with your drag/drop operation, but I can't tell if that is the cause. Once it enters that state, FCP is unstable and behaves unpredictably. That likely explains the vague "No other information" error message. That also explains why restarting FCP is required.


I tend to think this isn't a hardware or config issue. It is more likely an FCP bug, maybe triggered by a plugin or other yet-unknown factor.


How often can you reproduce it using the Gaussian Blur drag/drop? Does that particular action seem to trigger it more than others?


I did several tests dragging combinations of Gaussian Blur and Drop Shadow on a partially transparent PNG and never saw any problems.

Nov 25, 2024 3:49 PM in response to Joe Redifer

There is some plugin causing your crashes. Use the complete CoreMelt uninstaller tool. Google "Download CoreMelt remove everything tool" and use that. Then reboot the machine and see how it works. If FCP crashes, upload those new crash logs and I'll examine them.


The XML load problem is somehow related to clips with Drop Frame timecode. Post a link to that complete XML and I'll examine it.

Nov 26, 2024 3:08 PM in response to Joe Redifer

Redifer, the below procedure will capture an Instruments trace of your FCP soft-freeze which I can analyze:

1. Install XCode from App Store. It is free.

2. During installation, answer 'yes' to installing XCode command line tools, if it asks.

3. After it's installed, verify that xctrace is working from the terminal command line. Just type 'xctrace' and a return. It should print a few lines of syntax help.

4. Create a folder named "tracelogs" in ~/Documents to receive the Instruments trace file.

5. Launch FCP and get it ready to reproduce the problem.

6. From terminal, type this command (replace with your own home folder): sudo xctrace record --attach "Final Cut Pro" --window 30s --template "Animation Hitches" --output /Users/<YourHomeFolder>/Documents/tracelogs

7. Enter your Mac password if asked. It will indicate when it begins tracing.

8. You need not hurry, as it's configured to only save the last 30 sec before you abort tracing via CTRL+C on the command line.

9. Reproduce the FCP soft-freeze problem.

10. Immediately after reproducing it, switch to the terminal and enter CTRL+C. It may take a minute to finish writing the trace file in ~/Documents/tracelog.

11. Upload that trace log to a file sharing location I can access.

Dec 13, 2024 7:12 AM in response to Joe Redifer

Joe: I am still working on this. Just this morning, I might be able to reproduce the "runaway CVDisplayLink" problem on a different project.


You previously said sometimes FCP would just crash and disappear. Can you send me any of the FCP crash logs? They usually have an .ips file extension and are in the below locations. However I'm interested in any files which contain "FCP" or "Final Cut" in the filename. Upload them to a file-sharing service I can access.


/Users/YourUserName/Library/Logs/DiagnosticReports/


/Users/YourUserName/Library/Logs/DiagnosticReports/Retired

Nov 26, 2024 11:44 AM in response to terryb

Terry, this is a complex area. I worked in software development and escalation support for years and it's still hard. Ideally you want a "block diagram" conceptual overview of FCP and the private frameworks, but there is no documentation for that. I've gradually learned that over the years. Some of the fundamental FCP concepts are covered in US patent US8875025B2, which is available online.


In Redifer's case it might be a plugin but it's not clear. Some internal effects also use the FxPlug interface. The simple answer is search for "FxPlug" in the crash log, but this by itself doesn't mean much.


List FxPlug plugins: pluginkit -m -p FxPlug


List more info about a plugin (for example): pluginkit -mv -p FxPlug | grep "NeatVideo"


Apple info on analyzing a crash log: Analyzing a crash report | Apple Developer Documentation


FxPlug SDK: FxPlug | Apple Developer Documentation


WWDC18: "Understanding Crashes and Crash Logs"


Gathering info via the MacOS log commands: "Mac Logging and the log Command"


WWDC19: "Getting Started with Instruments"


Diagnosing issues using crash reports and device logs | Apple Developer Documentation


Debugging MacOS apps: Debugging | Apple Developer Documentation



Nov 27, 2024 8:50 AM in response to joema

I can see the hangs but it's difficult to backtrack to the root cause. There is an FCP thread showing some odd audio activity. If your system has any external audio or video devices or a second monitor, can you try disconnecting all of that and see if it makes any difference? If you have a single monitor, what type and how is it connected?


Also please look in Activity Monitor's CPU tab under the "kind" column. We want to make sure FCP has not been inadvertently launched under Rosetta. The "kind" should be "Apple", not "Intel".

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Constant crashing with FCP, even when it starts up

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.