From MozillaZine Knowledge Base
Hanging (freezing, not responding) is when a program is running but stops responding to user input. A hang/freeze is different from a crash, which ends the program. If Firefox closes unexpectedly, or if an error dialog appears and Firefox closes, see Firefox crashes. If Firefox hangs (stops responding or freezes), try the suggestions in this article.
Note: Many "Firefox" problems are caused by problematic themes, extensions, or plugins. To quickly check for these potential causes, follow the steps in the Standard diagnostic - Firefox article to see if one of your add-ons is causing Firefox to hang.
Hang loading first Firefox window
Hyper-Threading is a feature on certain older Intel Pentium 4-based processors. In some cases, motherboard chipsets supporting Hyper-Threading can cause Firefox to hang at startup. If you’re experiencing hangs, you may want to check your motherboard manufacturer’s website for updates to the BIOS. 
Alternatively, you can disable Hyper-Threading support for Firefox in Windows 2000 and later, as follows: Right-click the Firefox shortcut → Properties → Compatibility → Check "Run this program in compatibility mode" → Select "Windows 98/Windows ME" → OK.   For more information on Hyper-Threading, see Intel's article and this article at pcworld.about.com.
Close Firefox dialog
If you see a "Close Firefox" dialog when starting Firefox, with the message Firefox is already running, but is not responding. To open a new window, you must first close the existing Firefox process, or restart your system., Firefox may have stopped responding the last time you closed it. Note that Firefox 3 has a delayed shutdown and will show you this dialog if you try to restart it too soon after exiting.   If you are unable to restart Firefox, you will need to end all Firefox processes or restart the computer. See Hang at exit (below) if this is a recurring problem. (If you see this message when no Firefox processes are running, even after restarting the computer, see this article.)
Corporate login system
If you are using a corporate login system such as IBM Tivoli Access Manager or Oracle Enterprise Single Sign On Manager, bug 680927 can cause Firefox 10 can hang at startup, with the process running in the background consuming CPU  (rather than crash at startup, as it would in Firefox 7, 8, or 9). See the bug report for a suggested workaround (details here), apply the fix from Oracle (see bug comments 58-61) or downgrade to Firefox 3.6.xx (available here); however, Firefox 3.6 is no longer being maintained.
Delay or hang waking from standby
You may experience excessive delay or Firefox may appear to hang when waking the computer from hibernation or standby. You may also notice high CPU usage. On Windows, updating Flash to the latest version should resolve the issue, which has been reported with Flash 8.  This page will tell you what Flash version is installed. Note that Flash is not the only cause of problems after waking the computer from hibernate or standby.  As a workaround, close Firefox before placing the computer in standby/hibernation mode.
Hang downloading files
Windows shell extension:
Virus scanning: Firefox launches your installed anti-virus program to scan files when the download completes. In some cases, this causes a substantial delay or hang while the file is scanned. Note: If the Download Manager appears to be stuck scanning for viruses, try closing and re-opening the Downloads window.   Also in some cases security software such as McAfee Security Center or Microsoft security essentials has real time scanning that will cause the save file to hang. Try disabling it in your virus software's options.
See Unable to save or download files for more information about file download problems and solutions.
Hang saving images
Hang using page history
Sometimes operations involving browsing history can slow down or hang Firefox for varying periods of time. You can clear everything from the browsing history in "Tools -> Clear Private Data" (Firefox 3.0) or "Clear Recent History" (Firefox 3.5 and above) to see if it resolves the problem.  
If Firefox hangs when accessing page history (e.g., when you click History in the Firefox menu or when you try to clear the browsing history) the file that stores your browsing history may be damaged.  See below under Places database.
Hang after prolonged or extensive use
For some users, Firefox consumes excessive amounts of memory and may slow down or hang in situations that include being open for long periods of time, after downloading or saving images or other files, or after extensive use with multiple tabs open. See the article, Reducing memory usage - Firefox. Additional suggestions are given here.
Hang loading websites
Note: If Firefox stops loading websites but does not actually hang, try modifying the network.http.max-connections preference in about:config to a lower value, such as 30, which was the previous default before it was increased to 256.     (For other problems loading websites, see Error loading websites).
If the web site hangs Firefox (you can't even exit Firefox) try running in Safe Mode and see if you can get an Unresponsive Script Warning. Watch the status bar and see if this frequently occurs while it mentions a specific URL. If so, try blocking that URL using a content-blocker such as Adblock Plus. The problem URL may be fetching an advertisement or side panel that you can do without.
If none of this helps, try using a different browser (such as IE or Opera) or try accessing the site at another time. This might help you determine if the problem lies with Firefox, a poorly designed website, or content that changes over time, such as ads. 
Hang loading sites with Java, Flash, or PDF files
Hang loading websites when using an automatic proxy configuration file
If you're using an auto-config proxy (PAC), Firefox will hang when you attempt to load sites that don't exist and when opening sites on a domain you haven't opened recently. The amount of time it hangs will depend on how many look-ups the PAC does. There is no current solution, however this is a recognised bug, and as such is being tracked here: Bug 235853 - PAC: isResolvable() causes the UI to hang during resolution.
Hang at exit
Sometimes when you try to open Firefox you may see a "Close Firefox" dialog with the message, Firefox is already running, but is not responding. To open a new window, you must first close the existing Firefox process, or restart your system. This can happen if you try to restart Firefox too soon after closing it   but other times, Firefox stops responding at exit and the process remains active, even though no Firefox windows are open. You must then end all Firefox processes or restart the computer before you can reopen Firefox. (See Profile in use for other causes and solutions.)
Note that you may not always see a "Close Firefox" dialog when a Firefox process from a previous session did not close properly. This can result in multiple instances of Firefox in the processes list or cause other issues, until you end the Firefox processes or restart the computer.  (If firefox.exe remains in the processes list even after restarting the computer, see Firefox.exe always open.)
You can try the following solutions if Firefox processes that remain at exit are a recurring problem:
Closing Firefox properly
Sometimes, even after following the steps above, Firefox may still be running or it may have stopped responding to input. Read this for additional steps you may need to take.
Note: To close Firefox and immediately restart, you can install and use the "Quick Restart" extension. Once installed use keyboard shortcut "Ctrl+Alt+R" to close and restart or use the Tools menu item "Restart Firefox". Firefox 4 users can use the much smaller "Restartless Restart" extension with the same keyboard shortcut.
Other causes of hanging
Firefox can hang, or it may freeze at regular intervals, if the Places database file storing bookmarks and browsing history is damaged. To resolve, close Firefox and delete or rename places.sqlite (and places.sqlite-journal, if it exists) from the Firefox profile folder. When you restart Firefox, a new Places database will be generated and your bookmarks will be automatically restored from backup; however, you will lose your browsing history. (For other issues associated with a corrupt places database, see Locked or damaged places.sqlite.)       If you use the Sync feature for bookmarks and browsing history, it may also help to deselect these items in Firefox Sync options or to disable Sync completely using the "Deactivate this device" option, before deleting places.sqlite. 
Extensions are a common cause of Firefox problems, including hangs, slowdowns, or periodic freezes. Check the list of problematic extensions to see if it is a known issue and go through the standard diagnostic steps related to extension issues to see if an extension is causing Firefox to hang.
Multiple sessionstore.js files
If Firefox is slow to respond or appears to hang, open the Firefox profile folder, check for multiple sessionstore.js files and delete all copies found.  See Multiple profile files created for details.
Internet security software
Internet security software may cause Firefox to hang at exit (see above), to respond very slowly, stop loading pages or to hang during use.
Adobe Type Manager/Font issues
Having installed a huge number of fonts can also cause this problem.  Using Adobe Type Manager can lead to a huge number of installed fonts. Uninstall all fonts - except the standard fonts - and Adobe Type Manager in this case.
Depending on your browser version and OS, Firefox may hang or crash because of a problematic plugin. Visit Mozilla's Plugin Check page (using another browser If Firefox crashes at startup) and update all outdated plugins to see if that resolves the problem. Alternately, disable all plugins using Safe Mode's "Disable all add-ons" option (this will also disable extensions and themes) or else manually remove all plugins to another location such as the desktop - see Issues related to plugins for details and plugin locations. If this resolves the problem, re-enable or move each plugin back to its original location, one at a time, and test in between until the culprit is found.