<<< Date Index >>>     <<< Thread Index >>>

bug#1669: marked as done (mutt-1.5.4i: "Chunk is already free" when closing a Query)



Your message dated Sun, 4 Jan 2004 11:48:31 +0100
with message-id <20040104104831.GJ9799@xxxxxxxxxxxxxxxxxxxxxxxxxx>
and subject line bug#1669: mutt-1.5.4i: "Chunk is already free" when closing a 
Query
has caused the attached bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Herr der Kaefer
(administrator, GUUG bugs database)

--------------------------------------
Received: (at submit) by bugs.guug.de; 14 Oct 2003 09:10:47 +0000
>From dgl@xxxxxxxxxxxxx Tue Oct 14 11:10:45 2003
Received: from out006pub.verizon.net ([206.46.170.106] helo=out006.verizon.net)
        by trithemius.gnupg.org with esmtp (Exim 3.35 #1 (Debian))
        id 1A9LCW-0006sZ-00
        for <submit@xxxxxxxxxxxx>; Tue, 14 Oct 2003 11:10:45 +0200
Received: from kirk.dlee.org ([138.88.217.247]) by out006.verizon.net
          (InterMail vM.5.01.05.33 201-253-122-126-133-20030313) with ESMTP
          id <20031014091230.WPIE5302.out006.verizon.net@xxxxxxxxxxxxx>
          for <submit@xxxxxxxxxxxx>; Tue, 14 Oct 2003 04:12:30 -0500
Received: from kirk.dlee.org (dgl@xxxxxxxxxxxxxxxxxx [127.0.0.1])
        by kirk.dlee.org (8.12.9p2/8.12.9) with ESMTP id h9E9CPwW060710;
        Tue, 14 Oct 2003 05:12:25 -0400 (EDT)
        (envelope-from dgl@xxxxxxxxxxxxx)
Received: (from dgl@localhost)
        by kirk.dlee.org (8.12.9p2/8.12.9/Submit) id h9E9COFY060709;
        Tue, 14 Oct 2003 05:12:24 -0400 (EDT)
        (envelope-from dgl)
Date: Tue, 14 Oct 2003 05:12:24 -0400 (EDT)
Message-Id: <200310140912.h9E9COFY060709@xxxxxxxxxxxxx>
From: dgl@xxxxxxxx
Subject: mutt-1.5.4i: "Chunk is already free" when closing a Query
To: submit@xxxxxxxxxxxx
X-Authentication-Info: Submitted using SMTP AUTH at out006.verizon.net from 
[138.88.217.247] at Tue, 14 Oct 2003 04:12:30 -0500
X-Spam-Status: No, hits=-2.6 required=5.0
        tests=BAYES_10,NO_REAL_NAME,UPPERCASE_25_50
        version=2.55
X-Spam-Level: 
X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp)

Package: mutt
Version: 1.5.4i
Severity: normal

-- Please type your report below this line

I can reliably get a "chunk is already free" message in Mutt 1.5.4
thus:

1.  Start Mutt to land on the main message list.

2.  Type Q and any string (e.g., "test") and Enter to submit a query.
Using my test program, a two-line menu results (see below for the test
program).

3.  Use t to tag the first entry and move to the second, then press
Enter to start sending a message to the second address.

4.  Type ctrl+u to clear the address, then Enter to close the To
prompt and return to the Query menu.

5.  Type q to exit the Query menu.  The following message flashes by
and leaves the screen a bit of a mess (fixable with ctrl+l).

mutt in free(): warning: chunk is already free

My test program, attached via a .muttrc line like "set
query_command=/path/mutt_query":

#!/bin/sh
echo "Sample response"
# the below two lines contain tabs
echo "me@xxxxxxxxx      Little Ol' Me"
echo "you@xxxxxxxxxxx   Little Ol' You"


-- System Information
System Version: FreeBSD kirk.dlee.org 4.9-RC FreeBSD 4.9-RC #0: Sat Oct  4 
05:16:52 EDT 2003     dgl@xxxxxxxxxxxxx:/usr2/obj/usr/src/sys/CUSTOM  i386

-- Build environment information

(Note: This is the build environment installed on the system
muttbug is run on.  Information may or may not match the environment
used to build mutt.)

- gcc version information
cc -I/usr/local/include
Using builtin specs.
gcc version 2.95.4 20020320 [FreeBSD]

- CFLAGS
-Wall -O -pipe -march=pentium

-- Mutt Version Information

Mutt 1.5.4i (2003-03-19)
Copyright (C) 1996-2002 Michael R. Elkins and others.
Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'.
Mutt is free software, and you are welcome to redistribute it
under certain conditions; type `mutt -vv' for details.

System: FreeBSD 4.9-RC (i386) [using ncurses 5.1] [using libiconv 1.7]
Compile options:
-DOMAIN
-DEBUG
-HOMESPOOL  +USE_SETGID  +USE_DOTLOCK  +DL_STANDALONE  
-USE_FCNTL  +USE_FLOCK
+USE_POP  +USE_IMAP  -USE_GSS  +USE_SSL  -USE_SASL  -USE_SASL2  
+HAVE_REGCOMP  -USE_GNU_REGEX  +COMPRESSED  
+HAVE_COLOR  +HAVE_START_COLOR  +HAVE_TYPEAHEAD  +HAVE_BKGDSET  
+HAVE_CURS_SET  +HAVE_META  +HAVE_RESIZETERM  
+CRYPT_BACKEND_CLASSIC_PGP  +CRYPT_BACKEND_CLASSIC_SMIME  -CRYPT_BACKEND_GPGME  
-BUFFY_SIZE -EXACT_ADDRESS  -SUN_ATTACHMENT  
+ENABLE_NLS  -LOCALES_HACK  -HAVE_WC_FUNCS  +HAVE_LANGINFO_CODESET  
+HAVE_LANGINFO_YESEXPR  
+HAVE_ICONV  -ICONV_NONTRANS  -HAVE_LIBIDN  +HAVE_GETSID  +HAVE_GETADDRINFO  
-ISPELL
SENDMAIL="/usr/sbin/sendmail"
MAILPATH="/var/mail"
PKGDATADIR="/usr/local/share/mutt"
SYSCONFDIR="/usr/local/etc"
EXECSHELL="/bin/sh"
-MIXMASTER
To contact the developers, please mail to <mutt-dev@xxxxxxxx>.
To report a bug, please use the flea(1) utility.

patch-1.5.4.dw.confirm-crypt-hook.1
patch-1.5.4.dw.multiple-crypt-hook.2
patch-1.5.4.dw.crypt-autoselectkey.1
vvv.quote
1.3.28.nr.threadcomplete
vvv.initials
rr.compressed

---------------------------------------
Received: (at 1669-done) by bugs.guug.de; 4 Jan 2004 10:46:00 +0000
>From roessler+bounce@xxxxxxxxxxxxxxxxxx Sun Jan 04 11:45:56 2004
Received: from does-not-exist.info ([217.160.221.198] 
helo=kamino.does-not-exist.org)
        by trithemius.gnupg.org with esmtp (Exim 3.35 #1 (Debian))
        id 1Ad5lc-0005zt-00
        for <1669-done@xxxxxxxxxxxx>; Sun, 04 Jan 2004 11:45:56 +0100
Received: from voyager.does-not-exist.org (p3E9B9DFA.dip0.t-ipconnect.de 
[62.155.157.250])
        (using TLSv1 with cipher EDH-RSA-DES-CBC3-SHA (168/168 bits))
        (No client certificate requested)
        by kamino.does-not-exist.org (Postfix) with ESMTP
        id 03D323140D5; Sun,  4 Jan 2004 11:48:34 +0100 (CET)
Received: by voyager.does-not-exist.org (Postfix, from userid 500)
        id 5F1AD8076; Sun,  4 Jan 2004 11:48:31 +0100 (CET)
Date: Sun, 4 Jan 2004 11:48:31 +0100
From: Thomas Roessler <roessler@xxxxxxxxxxxxxxxxxx>
To: dgl@xxxxxxxx, 1669-done@xxxxxxxxxxxx
Subject: Re: bug#1669: mutt-1.5.4i: "Chunk is already free" when closing a Query
Message-ID: <20040104104831.GJ9799@xxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <200310140912.h9E9COFY060709@xxxxxxxxxxxxx> 
<20031014095606.GR31942@xxxxxxxxxxxxxxxxxxxxxxxxxx>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20031014095606.GR31942@xxxxxxxxxxxxxxxxxxxxxxxxxx>
User-Agent: Mutt/1.5.5.1i
X-Spam-Status: No, hits=-108.9 required=4.0
        tests=AWL,BAYES_00,EMAIL_ATTRIBUTION,IN_REP_TO,QUOTED_EMAIL_TEXT,
              REFERENCES,REPLY_WITH_QUOTES,USER_AGENT_MUTT,
              USER_IN_WHITELIST
        autolearn=ham version=2.55
X-Spam-Level: 
X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp)

This one was committed on 2003-10-06.  Closing the bug.

On 2003-10-14 11:56:06 +0200, Thomas Roessler wrote:
> From: Thomas Roessler <roessler@xxxxxxxxxxxxxxxxxx>
> To: dgl@xxxxxxxx, 1669@xxxxxxxxxxxx
> Date: Tue, 14 Oct 2003 11:56:06 +0200
> Subject: Re: bug#1669: mutt-1.5.4i: "Chunk is already free" when closing a 
> Query
> X-Spam-Level: 
> 
> Is this fixed by the attached patch?
> 
> On 2003-10-14 05:12:24 -0400, dgl@xxxxxxxx wrote:
> > From: dgl@xxxxxxxx
> > To: submit@xxxxxxxxxxxx
> > Date: Tue, 14 Oct 2003 05:12:24 -0400 (EDT)
> > Subject: bug#1669: mutt-1.5.4i: "Chunk is already free" when closing a Query
> > Reply-To: dgl@xxxxxxxx, 1669@xxxxxxxxxxxx
> > X-Spam-Level: 
> > 
> > Package: mutt
> > Version: 1.5.4i
> > Severity: normal
> > 
> > -- Please type your report below this line
> > 
> > I can reliably get a "chunk is already free" message in Mutt 1.5.4
> > thus:
> > 
> > 1.  Start Mutt to land on the main message list.
> > 
> > 2.  Type Q and any string (e.g., "test") and Enter to submit a query.
> > Using my test program, a two-line menu results (see below for the test
> > program).
> > 
> > 3.  Use t to tag the first entry and move to the second, then press
> > Enter to start sending a message to the second address.
> > 
> > 4.  Type ctrl+u to clear the address, then Enter to close the To
> > prompt and return to the Query menu.
> > 
> > 5.  Type q to exit the Query menu.  The following message flashes by
> > and leaves the screen a bit of a mess (fixable with ctrl+l).
> > 
> > mutt in free(): warning: chunk is already free
> > 
> > My test program, attached via a .muttrc line like "set
> > query_command=/path/mutt_query":
> > 
> > #!/bin/sh
> > echo "Sample response"
> > # the below two lines contain tabs
> > echo "me@xxxxxxxxx  Little Ol' Me"
> > echo "you@xxxxxxxxxxx       Little Ol' You"
> > 
> > 
> > -- System Information
> > System Version: FreeBSD kirk.dlee.org 4.9-RC FreeBSD 4.9-RC #0: Sat Oct  4 
> > 05:16:52 EDT 2003     dgl@xxxxxxxxxxxxx:/usr2/obj/usr/src/sys/CUSTOM  i386
> > 
> > -- Build environment information
> > 
> > (Note: This is the build environment installed on the system
> > muttbug is run on.  Information may or may not match the environment
> > used to build mutt.)
> > 
> > - gcc version information
> > cc -I/usr/local/include
> > Using builtin specs.
> > gcc version 2.95.4 20020320 [FreeBSD]
> > 
> > - CFLAGS
> > -Wall -O -pipe -march=pentium
> > 
> > -- Mutt Version Information
> > 
> > Mutt 1.5.4i (2003-03-19)
> > Copyright (C) 1996-2002 Michael R. Elkins and others.
> > Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'.
> > Mutt is free software, and you are welcome to redistribute it
> > under certain conditions; type `mutt -vv' for details.
> > 
> > System: FreeBSD 4.9-RC (i386) [using ncurses 5.1] [using libiconv 1.7]
> > Compile options:
> > -DOMAIN
> > -DEBUG
> > -HOMESPOOL  +USE_SETGID  +USE_DOTLOCK  +DL_STANDALONE  
> > -USE_FCNTL  +USE_FLOCK
> > +USE_POP  +USE_IMAP  -USE_GSS  +USE_SSL  -USE_SASL  -USE_SASL2  
> > +HAVE_REGCOMP  -USE_GNU_REGEX  +COMPRESSED  
> > +HAVE_COLOR  +HAVE_START_COLOR  +HAVE_TYPEAHEAD  +HAVE_BKGDSET  
> > +HAVE_CURS_SET  +HAVE_META  +HAVE_RESIZETERM  
> > +CRYPT_BACKEND_CLASSIC_PGP  +CRYPT_BACKEND_CLASSIC_SMIME  
> > -CRYPT_BACKEND_GPGME  -BUFFY_SIZE -EXACT_ADDRESS  -SUN_ATTACHMENT  
> > +ENABLE_NLS  -LOCALES_HACK  -HAVE_WC_FUNCS  +HAVE_LANGINFO_CODESET  
> > +HAVE_LANGINFO_YESEXPR  
> > +HAVE_ICONV  -ICONV_NONTRANS  -HAVE_LIBIDN  +HAVE_GETSID  +HAVE_GETADDRINFO 
> >  
> > -ISPELL
> > SENDMAIL="/usr/sbin/sendmail"
> > MAILPATH="/var/mail"
> > PKGDATADIR="/usr/local/share/mutt"
> > SYSCONFDIR="/usr/local/etc"
> > EXECSHELL="/bin/sh"
> > -MIXMASTER
> > To contact the developers, please mail to <mutt-dev@xxxxxxxx>.
> > To report a bug, please use the flea(1) utility.
> > 
> > patch-1.5.4.dw.confirm-crypt-hook.1
> > patch-1.5.4.dw.multiple-crypt-hook.2
> > patch-1.5.4.dw.crypt-autoselectkey.1
> > vvv.quote
> > 1.3.28.nr.threadcomplete
> > vvv.initials
> > rr.compressed
> > 
> > 
> 
> -- 
> Thomas Roessler                             <roessler@xxxxxxxxxxxxxxxxxx>

> ? err
> ? patch-1.5.3-CVS.tlr.idna.1
> ? patch-1.5.4.nr.tag_prefix_cond
> ? patch-1.5.4.tlr.nodots.1
> ? patch-1.5.4.tlr.pgpsmimeautoselect.1
> ? patch-1.5.4.tlr.query_mem.1
> ? patch-1.5.4.tlr.save_attachment.1
> ? patch-1.5.4.tlr.tag_prefix.1
> ? send.c.new
> ? sort.c.new
> ? stamp-h1
> ? typescript
> Index: query.c
> ===================================================================
> RCS file: /cvs/mutt/mutt/query.c,v
> retrieving revision 3.6
> diff -u -r3.6 query.c
> --- query.c   19 Sep 2003 13:03:26 -0000      3.6
> +++ query.c   6 Oct 2003 09:48:37 -0000
> @@ -58,15 +58,15 @@
>  
>  static ADDRESS *result_to_addr (QUERY *r)
>  {
> -  static ADDRESS tmp;
> +  static ADDRESS *tmp;
>    
> -  tmp = *r->addr;
> +  tmp = rfc822_cpy_adr (r->addr);
>    
> -  if(!tmp.next && !tmp.personal)
> -    tmp.personal = r->name;
> +  if(!tmp->next && !tmp->personal)
> +    tmp->personal = safe_strdup (r->name);
>    
> -  mutt_addrlist_to_idna (&tmp, NULL);
> -  return &tmp;
> +  mutt_addrlist_to_idna (tmp, NULL);
> +  return tmp;
>  }
>  
>  static QUERY *run_query (char *s, int quiet)
> @@ -242,6 +242,7 @@
>        mutt_addrlist_to_local (tmpa);
>        buf[0] = '\0';
>        rfc822_write_address (buf, buflen, tmpa, 0);
> +      rfc822_free_address (&tmpa);
>        mutt_clear_error ();
>        return (0);
>      }
> @@ -410,13 +411,19 @@
>  
>           for (i = 0; i < menu->max; i++)
>             if (QueryTable[i].tagged)
> -             rfc822_append (&naddr, result_to_addr(QueryTable[i].data));
> +           {
> +             ADDRESS *a = result_to_addr(QueryTable[i].data);
> +             rfc822_append (&naddr, a);
> +             rfc822_free_address (&a);
> +           }
>  
>           mutt_create_alias (NULL, naddr);
>         }
>         else
>         {
> -         mutt_create_alias (NULL, 
> result_to_addr(QueryTable[menu->current].data));
> +         ADDRESS *a = result_to_addr(QueryTable[menu->current].data);
> +         mutt_create_alias (NULL, a);
> +         rfc822_free_address (&a);
>         }
>         break;
>  
> @@ -433,14 +440,17 @@
>         msg->env = mutt_new_envelope ();
>         if (!menu->tagprefix)
>         {
> -         msg->env->to = 
> -           rfc822_cpy_adr (result_to_addr(QueryTable[menu->current].data));
> +         msg->env->to = result_to_addr(QueryTable[menu->current].data);
>         }
>         else
>         {
>           for (i = 0; i < menu->max; i++)
>             if (QueryTable[i].tagged)
> -             rfc822_append (&msg->env->to, 
> result_to_addr(QueryTable[i].data));
> +           {
> +             ADDRESS *a = result_to_addr(QueryTable[i].data);
> +             rfc822_append (&msg->env->to, a);
> +             rfc822_free_address (&a);
> +           }
>         }
>         ci_send_message (0, msg, NULL, Context, NULL);
>         menu->redraw = REDRAW_FULL;
> @@ -472,6 +482,7 @@
>           tagged = 1;
>           rfc822_write_address (buf, buflen, tmpa, 0);
>           curpos = mutt_strlen (buf);
> +         rfc822_free_address (&tmpa);
>         }
>         else if (curpos + 2 < buflen)
>         {
> @@ -481,6 +492,7 @@
>           rfc822_write_address ((char *) buf + curpos + 1, buflen - curpos - 
> 1,
>                                 tmpa, 0);
>           curpos = mutt_strlen (buf);
> +         rfc822_free_address (&tmpa);
>         }
>       }
>        }
> @@ -490,6 +502,7 @@
>       ADDRESS *tmpa = result_to_addr (QueryTable[menu->current].data);
>       mutt_addrlist_to_local (tmpa);
>       rfc822_write_address (buf, buflen, tmpa, 0);
> +     rfc822_free_address (&tmpa);
>        }
>        
>      }


-- 
Thomas Roessler                       <roessler@xxxxxxxxxxxxxxxxxx>