Recent versions of Firefox crash on startup when /proc is not mounted. Although this is not a problem, per se, the fact that it crashes without giving any indication of the reason can significantly complicate testing alpha/beta/nightly releases. This post simply lists the errors that I have seen in hopes that it will save others some debugging time.

Symptoms

Current Nightly builds crash with:

###!!! ABORT: Recursive layout module initialization: file /builds/slave/m-cen-lx-ntly-0000000000000000/build/layout/build/nsLayoutModule.cpp, line 374
###!!! ABORT: Recursive layout module initialization: file /builds/slave/m-cen-lx-ntly-0000000000000000/build/layout/build/nsLayoutModule.cpp, line 374

Current Aurora and Beta builds crash with:

###!!! ABORT: Recursive layout module initialization: file /builds/slave/m-aurora-lx-ntly-0000000000000/build/layout/build/nsLayoutModule.cpp, line 372
###!!! ABORT: Recursive layout module initialization: file /builds/slave/m-aurora-lx-ntly-0000000000000/build/layout/build/nsLayoutModule.cpp, line 372

Current Nightly and Aurora debug builds crash with:

Assertion failure: stackBase, at ../../../js/src/jsnativestack.cpp:139

Solution

Make sure /proc is mounted!

Is It A Bug?

I wouldn’t argue that Firefox should work without /proc, but I do think it would be preferable to inform users why Firefox can’t start, if it’s feasible. After asking on #firefox without response, I’m tempted to let it lie. If anyone else wants to work on a fix, count me in.