http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57426
--- Comment #5 from RajaGopal <rajagopal.maddi at plintron dot com> --- (In reply to Andrew Pinski from comment #4) > Then it is string's string::~string which has the abort in it. > > Can you try a newer version of GCC since 3.4.3 is no longer supported? > > Also do you have any threads in your code? If so are you sure you don't > have any non thread safe code? > > Also are you sure you don't have any code which writes over an array length? Thanks Andrew for your feedback. It's a huge application with several modules given with gcc 3.4.3 and is tough to upgrade the compiler version for all these modules. We shall surely upgrade in the near future. There are threads in the code, but I am sure all the string operations are performed by a single thread only. As you see, m_HDR and m_CDR are the only attributes of the TdrData structure. Both of these are string parameters and are capable of accepting any lengths. Anyways, I checked the previous instantiation of the TdrData object was clean and the parameters are cool. I am absolutely left with no clue why the destruction of TdrData causes SIGSEGV. Do you need any output from the dbx? If yes please let me know.