[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

checkergcc and other malloc debuggers on unstable: crashes



Hi,

I am trying to find a memory problem in some code, and neither dmalloc nor
checkergcc will work on my unstable system (recent as of today). If I
compile my libraries after including <dmalloc.h>, and then run a simple app
after 'dmalloc medium', I get a segfault. I have similar problems with
checkergcc. The sample program in checkergcc's doc runs like this:

gabier% ./a.out
>From Checker (pid:02679): (oos) out of system memory.
Stack frames are:
mmap at 0xa8000000 for 3 pages
Internal error in Checker.  Abort.
zsh: abort      ./a.out


Oops. 

Also, gdb is weird and stops in random places before main(), cannot reset
breakpoints, etc...

Any idea about what's happening and how to solve it?

Thanks!
YA

PS: I have anothe checkergcc question. How do I use checkerg++ with
libraries that haven't been compiled w/ checkerg++? I thought it would only
warn me, but it not only warns, it also cannot link, as follows:

gabier% checkerg++ conv.cpp -lyconv -licuuc
checkerg++:warning: no stubs for `-lyconv'. This library should have been
compiled with checkergcc.
checkerg++:warning: no stubs for `-licuuc'. This library should have been
compiled with checkergcc.
/tmp/cc2nbMls.o: In function `U_FAILURE(UErrorCode)':
/usr/include/unicode/utypes.h:246: undefined reference to `chkr.ucnv_open'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long, short)(char const *)'
/usr/include/unicode/utypes.h:246: undefined reference to `chkr.ucnv_reset'
/usr/include/unicode/utypes.h:246: undefined reference to
`chkr.ucnv_fromUnicode'
/usr/include/unicode/utypes.h:246: undefined reference to `chkr.endl(ostream
&)'/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long, short)(char const *)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long, short)(int)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long, short)(ostream &(*)(ostream &))'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long, short)(char const *)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long, short)(int)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long, short)(char const *)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long, short)(unsigned int)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long, short)(char const *)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long, short)(char const *)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long, short)(int)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long, short)(char const *)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long, short)(unsigned int)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long, short)(char const *)'
/usr/include/unicode/utypes.h:246: undefined reference to `chkr.ucnv_close'
/usr/include/unicode/utypes.h:246: undefined reference to `chkr.yconv_open'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long, short)(char const *)'
/usr/include/unicode/utypes.h:246: undefined reference to `chkr.yconv'
/usr/include/unicode/utypes.h:246: undefined reference to `chkr.endl(ostream
&)'/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long, short)(char const *)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long, short)(int)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long, short)(ostream &(*)(ostream &))'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long,
short)(char const *)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long,
short)(unsigned int)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long,
short)(char const *)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long,
short)(unsigned int)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long,
short)(char const *)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long,
short)(char const *)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long,
short)(unsigned int)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long,
short)(char const *)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long,
short)(unsigned int)'
/usr/include/unicode/utypes.h:246: undefined reference to
`ostream::chkr.(long,
short)(char const *)'
/usr/include/unicode/utypes.h:246: undefined reference to `chkr.yconv_close'
collect2: ld returned 1 exit status
gabier%  
--
My opinions do not necessarily reflect my company's.
The opposite is also true.



Reply to: