STRANGE GLibC Problems

Digvijoy Chatterjee digvijoy_chatterjee@infosys.com
Wed Mar 8 06:36:00 GMT 2006


I had a similar problem once ,and valgrind is worth a try , if Mike
hasn't done it already.

-- 
Thanks and Regards
Digvijoy Chatterjee


On Tue, 2006-03-07 at 08:55 -0800, Brian Budge wrote:
> Hi Mike -
> 
> Memory problems can definitely be strange.  This is because it can be
> the case that your mistake and the error can seem to have very little
> in common either spatially and/or temporally.
> 
> I suggest you look for any cases where you might possibly be
> overrunning an array or accessing memory outide of a structure, etc...
>  What happens is that malloc returns a chunk of memory with special
> data at the front of it, so that when free is called, free can delete
> the appropriate memory.
> 
> It seems like what may have happened is that this special chunk has
> been trampled, so it doesn't agree with what glibc thinks it should
> be.
> 
> Good luck!  Memory is hard to debug :(
> 
>   Brian
> 
> On 3/7/06, Mike McWilliam <pilot.mm@gmail.com> wrote:
> > Hello There
> >
> >          I have some problems with some C++ code and the g++ compiler.
> > I have two Suse Linux machines running on two different computers let
> > me give you the info for each one
> >
> > Machine One
> > --------------------------
> > OS:               SuSE 10.0
> > Arcitecture:     AMD Athlon 64 2200
> > RAM:             512 MB
> > Motherboard:  Asus K8E SE
> > G++ Version: 4.0.2
> > GNU GLibC:   2.3.5-40
> >
> > Machine Two
> > --------------------------
> > OS:               SuSE 10.0
> > Arcitecture:     Intel Pentium IV 2.4 GHz
> > RAM:             512 MB
> > Motherboard:  ???
> > G++ Version:  4.0.2
> > GNU GLibC:   2.3.5-40
> >
> >          Identical SW platform, however one uses the 64 bt
> > architecture. So some HW differences. Now the problem was that the
> > Code was developed on Machine one and ran with no problems. However
> > when it is ran on machine Two I get the following error very early in
> > the code:
> >
> > *** glibc detected *** free(): invalid next size (normal): 0x080da638 ***
> > Aborted
> >
> >          I can't seem to find the offending pointer 0x080da638. Memory
> > leaks and array out of bound errors should not be there since it
> > worked on Machine One. I've combed through my code several times to
> > find something. Yet I get nothing. Could you help me out on where I
> > can go to solve this problem. I would like code from machine one to
> > work on machine two for obvious reasons. Thanks for any help you have
> > to offer.
> >
> > Mike
> >



**************** CAUTION - Disclaimer *****************
This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of the addressee(s). If you are not the intended recipient, please notify the sender by e-mail and delete the original message. Further, you are not to copy, disclose, or distribute this e-mail or its contents to any other person and any such actions are unlawful. This e-mail may contain viruses. Infosys has taken every reasonable precaution to minimize this risk, but is not liable for any damage you may sustain as a result of any virus in this e-mail. You should carry out your own virus checks before opening the e-mail or attachment. Infosys reserves the right to monitor and review the content of all messages sent to or from this e-mail address. Messages sent to or from this e-mail address may be stored on the Infosys e-mail system.
***INFOSYS******** End of Disclaimer ********INFOSYS***



More information about the Gcc-help mailing list