Date: Thu, 08 Oct 1998 00:46:17 -0700 From: Studded <Studded@dal.net> To: Mike Smith <mike@smith.net.au> Cc: Archie Cobbs <archie@whistle.com>, FreeBSD-Hackers@FreeBSD.ORG Subject: Re: mail in free(): warning: junk pointer, too high to make sense. Message-ID: <361C6DC9.C5D6D07B@dal.net> References: <199810080538.WAA01196@dingo.cdrom.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Mike Smith wrote:
> > Attempting to run it in gdb got a different response:
> > (gdb) run
> > Starting program: /usr/home/myusername/./mail
> > mail in free(): error: junk pointer, too high to make sense.
> >
> > Program received signal SIGABRT, Aborted.
> > 0x20080d51 in kill ()
> > (gdb) bt
> > #0 0x20080d51 in kill ()
> > #1 0x200805c4 in abort ()
> > #2 0x2007f01c in getdtablesize ()
> > #3 0x2007f058 in getdtablesize ()
> > #4 0x2008007d in getdtablesize ()
> > #5 0x200802ba in free ()
> > #6 0x9263 in setmsize (sz=0) at lex.c:445
> > #7 0x88b2 in setfile (name=0x1b080 "/var/mail/myusername") at lex.c:146
> > #8 0xb492 in main (argc=1, argv=0xefbfd768) at main.c:246
> >
> > I hope this is what you were looking for. My experience with gdb is
> > limited, my C only slightly less so. :)
>
> Try 'frame 5', 'print msgvec'.
(gdb) frame 5
#5 0x200802ba in free ()
(gdb) print msgvec
$1 = (int *) 0x2f726964
> You could try replacing all occurrences of 'msgvec' in lex.c with
> 'msgfoo' and see if the problem changes.
Ok, here is the result. Frame 6 is different in this one.
(gdb) run
Starting program: /usr/home/myusername/mail
mail in free(): error: junk pointer, too high to make sense.
Program received signal SIGABRT, Aborted.
0x20080d51 in kill ()
(gdb) bt
#0 0x20080d51 in kill ()
#1 0x200805c4 in abort ()
#2 0x2007f01c in getdtablesize ()
#3 0x2007f058 in getdtablesize ()
#4 0x2008007d in getdtablesize ()
#5 0x200802ba in free ()
#6 0x9263 in setmsize (sz=3) at lex.c:445
#7 0x88b2 in setfile (name=0x1b080 "/var/mail/myusername") at lex.c:146
#8 0xb492 in main (argc=1, argv=0xefbfd768) at main.c:246
(gdb) frame 5
#5 0x200802ba in free ()
(gdb) print msgfoo
No symbol "msgfoo" in current context.
(gdb) frame 6
#6 0x9263 in setmsize (sz=3) at lex.c:445
445 free((char *) msgvec);
(gdb) print msgfoo
No symbol "msgfoo" in current context.
(gdb) print msgvec
$1 = (int *) 0x2f726964
(gdb) frame 5
#5 0x200802ba in free ()
(gdb) print msgvec
$2 = (int *) 0x2f726964
Hope this helps,
Doug
--
*** Chief Operations Officer, DALnet IRC network ***
Go PADRES!
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?361C6DC9.C5D6D07B>
