From owner-freebsd-ports@FreeBSD.ORG Sun Apr 18 21:02:10 2004 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8EBE416A4CE; Sun, 18 Apr 2004 21:02:10 -0700 (PDT) Received: from rwcrmhc12.comcast.net (rwcrmhc12.comcast.net [216.148.227.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7C3B543D39; Sun, 18 Apr 2004 21:02:10 -0700 (PDT) (envelope-from kaarthik@comcast.net) Received: from the-saint.the-saint.localdomain (pcp06945825pcs.nrockv01.md.comcast.net[69.138.30.56]) by comcast.net (rwcrmhc12) with ESMTP id <2004041904020901400ra8hle>; Mon, 19 Apr 2004 04:02:10 +0000 To: ports@freebsd.org, krion@FreeBSD.org From: Kaarthik Sivakumar Date: Mon, 19 Apr 2004 00:05:20 -0400 Message-ID: <86u0zgipdr.fsf@comcast.net> User-Agent: Gnus/5.1002 (Gnus v5.10.2) XEmacs/21.5 (chayote, berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: devel/libidn: warning when freeing memory X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Apr 2004 04:02:10 -0000 When idn is run, it prints the following message for any string given to it: idn in free(): error: junk pointer, too high to make sense After setting MALLOC_OPTIONS to A and compiling libidn with '-g', I got the following backtrace: ,---- | (gdb) run | Starting program: /usr/home/programs/libidn-0.4.2/src/.libs/idn | libidn 0.4.2 | Copyright 2002, 2003, 2004 Simon Josefsson. | GNU Libidn comes with NO WARRANTY, to the extent permitted by law. | You may redistribute copies of GNU Libidn under the terms of | the GNU Lesser General Public License. For more information | about these matters, see the file named COPYING.LIB. | Type each input string on a line by itself, terminated by a newline character. | test this string | idn in free(): error: junk pointer, too high to make sense | | Program received signal SIGABRT, Aborted. | 0x281f1d4f in kill () from /lib/libc.so.5 | (gdb) bt | #0 0x281f1d4f in kill () from /lib/libc.so.5 | #1 0x281e67f8 in raise () from /lib/libc.so.5 | #2 0x2825ef02 in abort () from /lib/libc.so.5 | #3 0x2825d67e in tcflow () from /lib/libc.so.5 | #4 0x2825d6ab in tcflow () from /lib/libc.so.5 | #5 0x2825e1d8 in tcflow () from /lib/libc.so.5 | #6 0x2825e420 in free () from /lib/libc.so.5 | #7 0x08049c1f in main (argc=1, argv=0xbfbfe9f0) at idn.c:381 | #8 0x08048c62 in _start () | (gdb) fr 7 | #7 0x08049c1f in main (argc=1, argv=0xbfbfe9f0) at idn.c:381 | 381 free (r); | (gdb) l | 376 argv[0], rc); | 377 free (q); | 378 return 1; | 379 } | 380 | 381 free (r); | 382 } | 383 #endif | 384 | 385 if (args_info.debug_given) | (gdb) p r | $1 = 0x6f732e | (gdb) `---- I tried debugging but I couldnt figure out what was wrong. The address seems low for stack addresses, but it is obviously high for a heap address. Thanks kaarthik