If I run just a window manager on Linux, e.g. if I'm running openbox rather than /usr/bin/dbus-launch --exit-with-session openbox, then Firefox will freeze (no window repaints, not responsive in any way, I have to kill the process) when trying to load some web resources. In everyday browsing, sometimes I can go a few hours between hangs, but it will always hang eventually. But only on newer Linux distros, like Ubuntu 13.04 or Debian Unstable of similar vintage; I can run the exact same Firefox (21.0) under Openbox with no session dbus under Ubuntu 12.04 or Debian Squeeze just fine, and it never hangs.
When it hangs, it's always in the process of fetching something from the net -- either a new page, or an AJAX request (e.g. filling in some popup menu). So I'm guessing this has something to do with networking).
One URL where this happens every time is the RSS link given in the URL field. Why it would happen there and not on most other pages, I don't know. (It also happens every time on a bank site I use, which is more important to me but less useful in a bug report.)
strace and gdb aren't much help in figuring out what's going on, at least with a standard mozilla.org non-debug build:
# strace -p 12264
Process 12264 attached - interrupt to quit
futex(0x948a2c08, FUTEX_WAIT_PRIVATE, 1, NULL
#0 0xb771c424 in __kernel_vsyscall ()
#1 0xb76f084b in pthread_cond_wait@@GLIBC_2.3.2 ()
#2 0xb72d5d87 in PR_WaitCondVar () from /usr/local/firefox/libnspr4.so
#3 0xb72c90b3 in ?? () from /usr/local/firefox/libnspr4.so
#4 0xb72bfbf1 in PR_WaitProcess () from /usr/local/firefox/libnspr4.so
#5 0xb58dd690 in ?? () from /usr/local/firefox/libxul.so
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
What's the newest, most recent version you tested that hangs?