[cvsnt] Re: Problem wit binary files after upgrading server from 2.5.01.1976 to 2.5.03.2151

Michael Wojcik Michael.Wojcik at microfocus.com
Thu Feb 9 15:10:31 GMT 2006


Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.


> From: cvsnt-bounces at cvsnt.org 
> [mailto:cvsnt-bounces at cvsnt.org] On Behalf Of Tony Hoyle
> Sent: Thursday, 09 February, 2006 08:16
> 
> Daniel Lapolla wrote:
> > But what could be causing the error I mentioned earlier? Do 
> you have any 
> > clues?
> > 
> > cvs commit -f -m "no message" -- Document01.doc (in 
> directory E:\test)
> > Checking in Document01.doc;
> > /test_repository/test_module/Document01.doc,v  <--  Document01.doc
> > cvs commit: warning: unrecognized response `free(): invalid pointer 
> > 0x9f482f0!' from cvs server
> > new revision: 1.3; previous revision: 1.2
> > done
> > 
> Nope.. it's not an error from cvs itself - something from the
libraries 
> I think.  you'd need to look at the documentation to see if you get
make 
> it break into gdb or write a backtrace or something.

Yes, it's glibc's malloc validation code.  Unless it's a bug in glibc
itself, which is unlikely, it indicates a bug in the CVSNT server or in
some code that it calls.  The address looks plausible, so my guess is a
duplicate free.

You can suppress the warning message by setting the MALLOC_CHECK_
variable to "0" in the server's environment.  (Precisely how you'd do
that depends on how the server is being started, but it's a trivial
change for a Unix sysadmin.)

What you'd really like to do is find the bug, not hide it, though.
Since glibc detected the duplicate free it shouldn't corrupt anything on
its own, but it's a warning sign and there may be other sources of
memory corruption.  (And on platforms that don't detect duplicate free
this will cause Undefined Behavior, which in C and C++ means anything
can happen.)

Unfortuately, as far as I know, there's no MALLOC_CHECK_ setting that
will produce a backtrace, though setting it to 2 or 3 is supposed to
"kill the program" - hopefully with a core-dumping signal.  (Whether a
core file actually gets created will depend on signal disposition,
core-file resource limits, write permission for the current directory,
etc.)

-- 
Michael Wojcik
Principal Software Systems Developer, Micro Focus



More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook