Macs are famously reliable beasts, but we often make changes to our machines that can cause unexpected behaviours such as the dreaded spinning “beachball” (i.e., slow response times), excessive fan noise, and crashes.
This is where Apple Support Communities comes in handy, a place where I spent the best part of my spare time for 2 years helping thousands of people solve problems with their macs. With a few rare exceptions of internal hardware malfunction, the majority of problems I’ve encountered with macs involve changes made to the mac by installing or removing third-party software (sometimes unwittingly).
There was a time when people seeking help on ASC were first told to go through a lengthy process of collecting arcane information from various deep and mysterious places on their computer before ASC support volunteers could help determine the problem. Fortunately, there’s now a number of free utilities available that will collect some or all of that information for you automatically, including my own FastTasks 2 and DetectX.
In this post, I’m going to assume you’re using FastTasks 2, for a couple of reasons (aside from the obvious one that its my own app!). First, aside from having a system profiler, FT2 provides other functions that are useful in troubleshooting, whose use I’ll indicate below. Secondly, unlike other analysers, FT2 not only profiles your system configuration at the time you run it, it can also show you what’s changed over time (see Step 5 below), making detection of new problems even faster and easier. For that reason, it’s a good idea to run FT2 when your system is trouble-free so that you have a log of a known ‘good’ configuration. However, I’m going to assume for most of this post that you don’t have a log of a known good state, and walk you through a series of steps that you can use to trackdown troublemakers.
To get started, download FT2 from here, and then proceed to Step 1.
*Note if your problem is with Safari, you can go straight to Step 10.
If your problem is with internet connections / networking, that’s a vast issue too large for this post, but try the advice here first. If that doesn’t work, the FT2’s Profile view contains a lot of information about your network configuration. Click the FT2 menu, choose ‘Analyser > Check now’, and click the Profile tab. Then follow the general advice in Step 11 below.
If your problem involves unusual behaviour of system hardware (keyboard lights, fans, system volume, etc) follow Step 3 of this post first.
Step 1. Put a block behind the rear wheel…
The first rule of troubleshooting is not ‘You don’t talk about troubleshooting’ but ‘You don’t do anything until you have a backup stashed away’. Fat fingers and a hasty desire for a cure can lead all of us to make mistakes when following procedures, and the last thing you want to do is accidentally delete some file or resource that is irreplaceable. So, back up first, and cure yourself of the tendency to rush for a solution. Troubleshooting takes time, and troubleshooting without a backup is like changing a wheel on your car without putting a block behind the rear wheel. Don’t get crushed by your own rush to get back on the road!
Step 2. Start with the obvious…
Launch FastTasks and wait for the system analyser to finish loading. You’ll see the analyser presents you with an ‘Issues’ page. This page lists any files or apps that are installed on your computer which have, in my experience, been known to cause problems for some users. If your system is clean of these files or apps, the page will be empty, like mine:
If anything is listed in the ‘Issues’ page, your first step is to deal with these as detailed below. If not, you can go straight to Step 3 now.
Depending on the issue, (click on an item in the FT2 window and press the ‘Info’ button), uninstall, delete or move to a temporary folder on your Desktop any items listed in the Issues page. You can open each item in the Finder either by double-clicking it in the FT2 window, or selecting it and clicking the ‘Reveal’ button.
If anything listed in the Analyser as a ‘Performance’ issue has been installed from outside of the App Store, check the Developer’s web pages to see if there is an uninstaller and, if so, use that. If not, move the App or files to the Trash, but do not empty it. At the end of this step, if it turns out that app or file is not the culprit, and you still want to use it for some reason, you can drag it back out of the Trash.
After dealing with anything in the ‘Issues’ list, restart your mac and see if the problem behaviour is solved.
Step 3. Wipe the board…
If you didn’t have any issues, click the FT2 icon in the menu bar and note the system information in the lower half of the menu. Look at the ‘Uptime’ stat. This shows how long since you last rebooted your machine. If the problem behaviour has only been noticed since the last reboot, then restart your machine now, and test again.
More often than not, most unexpected or strange behaviour that comes out of nowhere can be solved by a system reboot.
Step 4. Check the disk
Click the FT2 icon and note the system information in the lower half of the menu. Look at the empty/full icon and the stats below it on disk usage (you can choose to have one of these shown in the menu bar all the time if you wish, as well as change the color of the icon. In the menu, choose Preferences > Menu Bar Icon). You should have got a warning from FT2 if your disk is gettting critically full, but even if your disk is only 70% or so full, you could find your machine slowing down when Spotlight is indexing or if you’re doing any operation that requires a lot of disk activity. My recommendation for a speedy machine is to keep disk usage below 60% if possible (I rarely let my own disk ever get above 50%).
While we’re thinking about the disks, let’s just check the S.M.A.R.T status of the Internal boot disk. With the FT2 window open (if not, click ‘Analyser > Check now’), click the ‘Profile’ tab. Scroll down right to the bottom of the page and check that the S.M.A.R.T status says ‘verified’. If it doesn’t, there’s your problem: you need to replace your hard disk ASAP.
Step 5. Reverse gear…
If you’ve ran FT2 before, anything that’s changed since the last time you ran it will be highlighted in the view (you’ll also see the yellow warning triangle at the top).
For example, in the screenshot above, note how FT2 records that the Ghostery extension has installed an update of itself in the background!
If you haven’t run FT2 before, go to Step 6. If you’ve run FT2 before but no changes are indicated, look through the logs by using the back and forward arrows on either side of the ‘Run’ button. For convenience, you can click the ‘Console’ button, then type ‘added’ into Console’s search bar, making a note of anything shown, then type ‘removed’, again making a note of any changes.
Whether you find changes in the Console, logs, or indicated in FT2’s current Profile view, the process is the same. For any change indicated, you need to reverse it. That means, anything added should be removed, and anything removed should be replaced from a backup. However, it’s important to be methodical, so deal with one change at a time, restarting the system and checking for the problem again after reversing each change. If that doesn’t solve it, move on to the next change and repeat.
There’s such a high chance that you’ll discover the cause of the problem this way that its the best argument for running FT2 on a regular basis and before you hit trouble. Trouble always starts with some change…
If you’re still encountering problems, go to Step 6.
Step 6. The root of all Evil…
Well, maybe not all, but without doubt the overwhelming cause of problems I’ve dealt with on ASC were caused by login items. These are things that automatically run when you log in to your account. Any app or script that’s in your Login Items that causes problems to your system will affect your system from the start of your session and often right through till you log out (often regardless of whether you quit the app in mid-session).
With FT2’s Analyser window open, click the ‘Profile’ tab. At the very top of the page, check what and how many items are in your Login Items. You really don’t want more than four or five items in here in any case, or you’ll notice a real lag betweeen when you log in and when your system is ready to be used. Keep only the essential things in here (yes, I’d say FT2 is one of them, see the end of this Step).
However, even one app can cause problems if it’s the wrong app. To troubleshoot Login Items, click the FT2 menu and choose ‘Login Items > Remove All’. Click ‘OK’ to confirm. When you see the notification that Login Items are empty, restart your mac and test for the problem.
If the problem is not solved, go to Step 7. If the problem is solved, you can try adding each of your login items back in one at a time to ascertain which item caused the problem. Better still, just keep your login items empty and enjoy faster start up times.
The exception to the above advice is to consider keeping FT2 in your Login Items. The reason is that every time you login in, FT2 will run a background profile check and store that in its logs. That’s a vital tool for solving troubleshooting problems in the future (see Step 5 above), and one of FT2’s most useful features (however, if you don’t want FT2 to start on login, choose ‘Preferences > Start at Login’ and click to remove the tick).
Step 7. Digging deeper…
First, a note about .DS_Store files: In this and the remaining steps, you can ignore any file called .DS_Store shown in the profiler. These are hidden files generated by the Finder and can be ignored (likewise, you can delete them, the system will just recreate them when it needs to).
If you’ve got this far and your problem persists, it’s time to start looking further down the profile list. The next item in the profile view is User Launch Daemons. Notice that FT2 handily shows you where you can find this directory. To use that info, highlight the path shown (omit the closing bracket), then control-click, and choose ‘Services > Reveal in Finder’, to open the directory.
I do NOT recommend deleting files from here directly. Instead, you need to identify which apps these files belong to and uninstall them. After uninstalling, check back in Launch Agents to see if the uninstaller has cleaned up the file. If it hasn’t, you can then delete it (but be sure you’re deleting the correct file).
If the file doesn’t appear to belong to an app or you’re in doubt about its parentage, then move it (don’t delete it) to your Desktop. As with Login Items in the previous step, you need to be methodical here, and test each item after you remove or uninstall it with a reboot. Doing so means you can firmly determine which apps and files are OK and which are suspect.
Step 8: and deeper…
If your problems remain after working through all the User Launch Daemons, scroll much further down the list until you find Domain Library Launch Agents and Domain Library Launch Daemons and Domain Library StartUpItems. For each, you need to follow the procedure in Step 7: in other words, start by identifying the parent app of the file in the directory, uninstall it, check its cleaned up the file in the directory (if not, move it to your desktop) and re-test.
Step 9: Problems, problems, problems…
Still not got to the bottom of it? Then we need some more info. The best thing to do right now is determine whether the problem only affects your user account or all users on your system. Knowing this will provide a better focus for continued efforts.
To do that, go to > System Preferences > Users & Groups and click the padlock and supply an Admin password to open it. You’ll now be able to click the little ‘+’ button just above the padlock and create an extra Admin account.
After creating the account, restart the mac, log in to the new account and see if the problem affects that account too. Once you’ve determined that, log back into your normal account and go to Step 11 below.
Step 10: Safari and the internet
Problems with Safari and internet connections are a realm all to themselves and too vast to be discussed here except in general terms.
If the problem appears to be peculiar to Safari, then the first thing to do is open FT2 Analyser and click on the ‘Profile’ page. Scroll down to Safari Extensions and take a look at what’s in there. Anything you don’t recognize or anything new since things were hunky dory? If so, focus on that first.
To deal with Extensions, don’t delete things from the directory itself. Instead, open Safari, and from the menu bar choose “Safari > Preferences” and navigate to the ‘Extensions’ tab.
Start by disabling ALL extensions. Now restart Safari. Problem solved? If yes, then start turning one extension back on at a time, until you discover which one is causing the problem. Uninstall the culprit.
If the problem persists after disabling all extensions, go back to FT2’s Profile view and scroll down till you get to User Library Internet Plug-Ins. If there is anything in here (you can ignore .DS_Store), then select the path shown for the directory (omiting the word ‘path:’ and the closing bracket), right-click and choose ‘Services > Reveal in Finder’. Move anything in the folder to your Desktop. Restart the mac and test.
If the problem is solved, try moving each item back to the Internet Plug-Ins folder, one at a time, restarting and testing after each move until you determine the culprit.
If the problem is not solved, return any items you moved to the Desktop back to the Internet Plug-Ins folder. Then, check to see whether other browsers are affected (if you don’t have it already, it’s always a good idea to keep a copy of Firefox on you mac, just to use as a control for Safari tests if nothing else). Make a note of the answer, then follow the instructions in Step 9 above, then go to Step 11 below.
Step 11: What to do next…
I hope this post has helped solve your problems, but if it hasn’t don’t panic. Your best resource is Apple Support Communities. Though I’m no longer active there (my spare time is used for software development these days), there are many hands on deck and people with all sorts of specialist knowledge about different areas frequent the boards. The key is to make sure you describe the problem as fully as you can and to post information from FT2’s system profiler (use the ‘Copy’ button). Be sure to mention the results of your tests so that people have got enough information to help you.
Also, please be polite to those who respond to you – ASC is staffed by volunteers, not Apple employees, just spending time to help others out. Finally, please don’t email troubleshooting problems to me personally. You’ll get a faster and better response by using the full resources of the support community.
Good luck! 🙂