Fixing crashes caused by SCFinderPlugin
There is a known crash that can occur if SCFinderPlugin is installed on a system. SCFinderPlugin (from http://scplugin.tigris.org/) integrates Subversion into the Mac OS X Finder. However, the Finder is integral to the operation of any program that accesses the file system (including Scrivener), so if something goes wrong in a Finder plugin, this can cause crashes in all sorts of programs. At the time of writing, SCFinderPlugin doesn't seem to have been updated for a couple of years, but Apple have made some serious changes to the Finder in that time. The upshot of this is that the outdated SCFinderPlugin can cause crashes on systems running more recent versions of OS X, such as Lion. (Along with Scrivener, it is also known to crash Evernote, Quicksilver, macvim and Versions, among others.
If you are experiencing a persistent crash in Scrivener, it's therefore a good idea to check for this plugin on your system and, if it exists, to remove it. Here's how.
1. Checking That SCFinderPlugin is the Culprit
(You can skip this section and head straight to "Removing SCFinderPlugin" below if you already know that SCFinderPlugin is the cause - for instance because you've been in touch with us and we have directed you to this page as a fix after we've checked your crash log for you.)
First, you need to take a quick look at the crash log. You can do this in one of two ways:
As soon as Scrivener crashes and a panel appears saying "Scrivener quit unexpectedly". Click on the "Report…" button. (Note that this dialogue panel may vary between different versions of OS X.) You will now see a large panel with lots of gobbledegook in it under "Problem Details and System Configuration". This is the crash log.
Alternatively, reopen Scrivener. Once it has finished launching, a crash reporter window will appear asking you to send the crash report to us. Click on the "Crash Log" tab. This will reveal the actual crash log.
Once you have the crash log in front of you, glance down to where it says "Thread 0 Crashed" - this should be a few lines from the top. A crash caused by SCFinderPlugin will typically look like this:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 ??? 0xfefff000 0 + 4278185984 1 com.apple.LaunchServices 0x99030b42 _ZL31LSPropertyProviderPrepareValuesPK7__CFURLP11__FileCachePKPK10__CFStringPPKvlSA_PP9__CFError + 46 2 com.apple.CoreServicesInternal 0x92a55f52 _ZL22prepareValuesForBitmapPK7__CFURLP11__FileCacheP19_FilePropertyBitmapPP9__CFError + 284 3 com.apple.CoreServicesInternal 0x92a603e8 _FSURLCopyResourcePropertiesForKeys + 837 4 com.apple.CoreFoundation 0x98c91118 CFURLCopyResourcePropertiesForKeys + 168 5 com.apple.CoreFoundation 0x98c91014 -[NSURL resourceValuesForKeys:error:] + 68 6 com.apple.AppKit 0x9c55fd03 -[NSThemeDocumentButton _refreshDocumentIconAndDisplayNameForURL:] + 185 7 com.apple.AppKit 0x9c9a2f76 -[NSThemeDocumentButton _invalidateDocumentIcon] + 80 8 com.apple.AppKit 0x9c99f30c -[NSThemeFrame _invalidateDocumentIcon] + 36
Now search the crash log for "scfinderplugin" (hit cmd-F to bring up the Find panel - if that doesn't work then copy and paste the crash log into a plain text editor such as TextEdit and use the Find feature there). If that appears anywhere in the crash log, there's a very good chance that SCFinderPlugin is the cause of your crashes.
2. Removing SCFinderPlugin
If SCFinderPlugin was mentioned in your crash log, then you need to remove it by following these steps (please note that you will need administrative privileges to do this - i.e. the Administrator password for your system - which will have been needed to install this plugin in the first place):
In the Finder, navigate to the /Library/Contextual Menu Items folder. (Please note that this is the "Library" folder in the root HD, and not the "Library" folder in your home directory. If you aren't sure how to access folders at the root, a quick way of accessing this folder is to select "Go to Folder..." from the "Go" menu in the Finder and type "/Library/Contextual Menu Items", then click "Go".)
Look for a file entitled SCFinderPlugin.plugin.
Drag that file to the Trash.
Now, still in the Finder, navigate to /Library/Receipts. (Again, this is the root "Library" folder, not the one in your home directory, and you can use "Go to Folder..." in the "Go" menu of the Finder to locate this folder if you aren't sure how to get to it.)
Look for a file entitled SCPlugin.pkg.
If the file exists, drag that to the Trash too (note that this file may not exist).
Empty the Trash.
Do a Spotlight search for "name:SCFinderPlugin", just to ensure there are no other related files lurking on your system.
This should put a stop to the crashes caused by this plugin. If the crashes continue, please email us at firstname.lastname@example.org so that we can try to get to the bottom of it (either include a copy of your crash report or let us know that you have sent it automatically via our own crash reporter - the one that appears when you reopen Scrivener, not the one that opens when Scrivener crashes, which goes to Apple - so that we can look it up).