Firefox Source Code Is So Big, It Hit the 32-Bit Virtual Address Space Limit

2011-Dec-12 | Tags: firefoxmemoryprograming

Start64!Mozilla, or rather the Firefox team, is facing a somewhat unusual problem that is holding up development in some cases. Firefox can't reliably be compiled because the linker runs out of virtual address space. The problem stems from the fact that Firefox is built on 32-bit machines which can only access a limited amount of memory even with larger amounts of physical memory.

"This is not the first time we've run into this problem. A couple years ago we hit the 2 GB virtual address space limit. The build machines were changed to use /3GB and that additional GB of address space bought us some time. This time unfortunately the options aren't as easy as flipping a switch," Mozilla's Kyle Huey wrote.

The problem arises during the optimization phase as the Profile-Guided Optimisation method Mozilla uses takes up a lot of memory. Some have proposed that the team stop doing PGO since the performance benefits are not always clear, but the general view is that this is not really an option.