rm ~/.mozilla/firefox/*/lock ~/.mozilla/firefox/*/.parentlock
workd for me on RHEL5. My symptoms were that there were in fact *no* firefox-related executables running on the server, via top, or ps -aef, or anything, so I suspected a lock file, I just had to find the darn thing!
Stupid, when I write an application that uses a lockfile, I build in a way to tell that the logfile is out of date (and likely left laying around after a server reboot).
I found the breadcrumbs (but not this exact info) here:
[SOLVED] Firefox is already running, but is not responding...
'via Blog this'