This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: malloc patch for 2.2.4
- To: Christian Iseli <chris at ludwig-alpha dot unil dot ch>
- Subject: Re: malloc patch for 2.2.4
- From: Jakub Jelinek <jakub at redhat dot com>
- Date: Wed, 29 Aug 2001 11:41:37 +0200
- Cc: Wolfram Gloger <Wolfram dot Gloger at dent dot med dot uni-muenchen dot de>, geoffk at redhat dot com, libc-alpha at sources dot redhat dot com
- References: <Wolfram.Gloger@dent.med.uni-muenchen.de> <200108290928.LAA16497@ludwig-alpha.unil.ch>
- Reply-To: Jakub Jelinek <jakub at redhat dot com>
On Wed, Aug 29, 2001 at 11:28:36AM +0200, Christian Iseli wrote:
> #0 0x400d2740 in chunk_alloc () from /lib/libc.so.6
> (gdb) where
> #0 0x400d2740 in chunk_alloc () from /lib/libc.so.6
> #1 0x400d3f79 in calloc () from /lib/libc.so.6
> #2 0x08198c2b in s_MemAllocator (ptr=0x0, size=16, flags=4, allocator=eA_Calloc) at ncbimem.c:261
> #3 0x08198e94 in Nlm_MemNew (size=16) at ncbimem.c:339
> #4 0x08199901 in ValNodeNew (vnp=0x0) at ncbimisc.c:466
> #5 0x080d291d in SeqEntryNew () at objsset.c:829
> #6 0x080e66b5 in FastaToSeqEntryInternalExEx (input=0x82ca418, type=2, next_char=0x0, is_na=1 '\001', errormsg=0x0, parseSeqId=0 '\000',
> special_symbol=0x0, prefix=0xbffff520 "", ctrptr=0xbffff536, mask_ptr=0xbffff514, trustID=1 '\001') at tofasta.c:1932
> #7 0x080e5c9c in FastaToSeqEntryForDb (fp=0x82ca418, is_na=1, errormsg=0x0, parseSeqId=0, prefix=0xbffff520 "", ctrptr=0xbffff536,
> mask_ptr=0xbffff514) at tofasta.c:1403
> #8 0x0804b7aa in Nlm_Main () at megablast.c:1007
> #9 0x081970ed in main (argc=15, argv=0xbffff5d4) at ncbimain.c:100
> #10 0x40072733 in __libc_start_main () from /lib/libc.so.6
>
> but sometimes the process dies while accessing an invalid pointer in one of
> the program's functions.
>
> I have tried to compile with -fno-strict-aliasing. I have tried to apply your
> malloc volatile patch. Still, I get the same behaviour.
>
> What can I do to help track this down ?
I'd suggest using ElectricFence, MALLOC_CHECK_ or some similar memory
allocation checker.
Jakub