If running gcc with glibc malloc checking turned on (MALLOC_CHECK_=2), on heap corruption the SIGABRT raised by glibc will cause gcc to deadlock because it calls async-singal-unsafe malloc () from the signal context to do the diagnostic.
-- Summary: GCC calls malloc from within signal context Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rguenth at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28859