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