The egcs "String On Stack" Crash g++ used to lag behind, and caused 'egcs' to exist. They were merged back together in gcc v2.9.5 . Older distributions (e.g. red-hat 6.2) come with an older version of egcs, which has quite obvious bugs. One such bug related to templates (std::string and similar) which were allocated on the stack. Finding the bug required blindly playing with string allocations (using the 'lion in the desert' method) until the culprit was found.