zsh-workers
 help / color / mirror / code / Atom feed
From: Peter Stephenson <pws@csr.com>
To: "Zsh Hackers' List" <zsh-workers@sunsite.dk>
Subject: Re: Modules on HP-UX (Re: D07multibyte.ztst failure on HP-UX 11.11)
Date: Mon, 11 May 2009 09:52:32 +0100	[thread overview]
Message-ID: <20090511095232.117c7548@news01> (raw)
In-Reply-To: <090508084125.ZM17697@torch.brasslantern.com>

On Fri, 08 May 2009 08:41:23 -0700
Bart Schaefer <schaefer@brasslantern.com> wrote:
> [off-list]
> 
> On May 8,  3:29pm, Peter Stephenson wrote:
> } Subject: Re: Modules on HP-UX (Re: D07multibyte.ztst failure on HP-UX 11.1
> }
> } Looks to me like some basic memory corruption:  is it worth running
> } valgrind?
> 
> (skipping stuff up to the point of actual error)
>...
> ==17685==    at 0x8127AA0: zle_set_highlight (zle_refresh.c:354)

There are lots of these, but all seem to boil down to the fact that
region_highlights and n_region_highlights are not set to zero when the
module is unloaded and the same values are used when the module is loaded
again.

It seemed like this was worth a note in the development guide.  The main
problem is no one reads that.

Index: Etc/zsh-development-guide
===================================================================
RCS file: /cvsroot/zsh/zsh/Etc/zsh-development-guide,v
retrieving revision 1.21
diff -u -r1.21 zsh-development-guide
--- Etc/zsh-development-guide	22 Jan 2009 12:12:14 -0000	1.21
+++ Etc/zsh-development-guide	11 May 2009 08:51:11 -0000
@@ -279,6 +279,10 @@
 not rely on the module successfully being set up.
 The state from `finish_' module is currently ignored; it is called
 too late to prevent the module from being unloaded.
+*Note* in addition to freeing memory, variables associated with allocated
+memory should be set to NULL or to indicate arrays are empty, etc.  It
+should not be assumed that the variables will automatically be zeroed if
+the module is reloaded (though some configurations may do this).
 
 In short, the `cleanup_'-function should undo what the `boot_'-function did
 (together with handling any residual effects of `enables_'), but should
Index: Src/Zle/zle_refresh.c
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/Zle/zle_refresh.c,v
retrieving revision 1.75
diff -u -r1.75 zle_refresh.c
--- Src/Zle/zle_refresh.c	8 May 2009 08:37:31 -0000	1.75
+++ Src/Zle/zle_refresh.c	11 May 2009 08:51:11 -0000
@@ -2644,6 +2644,10 @@
     freevideo();
 
     if (region_highlights)
+    {
 	zfree(region_highlights,
 	      sizeof(struct region_highlight) * n_region_highlights);
+	region_highlights = NULL;
+	n_region_highlights = 0;
+    }
 }


-- 
Peter Stephenson <pws@csr.com>                  Software Engineer
CSR PLC, Churchill House, Cambridge Business Park, Cowley Road
Cambridge, CB4 0WZ, UK                          Tel: +44 (0)1223 692070


  parent reply	other threads:[~2009-05-11  8:54 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-27  3:17 D07multibyte.ztst failure on HP-UX 11.11 Paul Ackersviller
2009-04-27  4:42 ` Andrey Borzenkov
2009-04-27 19:26   ` Paul Ackersviller
2009-04-28  8:48     ` Peter Stephenson
2009-04-28 19:19       ` Paul Ackersviller
2009-04-28 19:48         ` Peter Stephenson
2009-04-30  3:01           ` Paul Ackersviller
2009-04-30  8:41             ` Peter Stephenson
2009-04-30 15:58               ` Paul Ackersviller
2009-04-30 16:03                 ` Peter Stephenson
2009-05-01 14:52                   ` Paul Ackersviller
2009-05-01 15:18                     ` Peter Stephenson
2009-05-05 19:39                       ` Paul Ackersviller
2009-05-06 19:22                         ` Peter Stephenson
2009-05-06 21:50                           ` Paul Ackersviller
2009-05-07 15:38                             ` Peter Stephenson
2009-05-07 16:02                               ` Peter Stephenson
2009-05-07 22:08                                 ` Paul Ackersviller
2009-05-07 23:30                                   ` Modules on HP-UX (Re: D07multibyte.ztst failure on HP-UX 11.11) Bart Schaefer
2009-05-08  8:34                                     ` Peter Stephenson
2009-05-08 14:20                                       ` Bart Schaefer
2009-05-08 14:29                                         ` Peter Stephenson
     [not found]                                           ` <090508084125.ZM17697@torch.brasslantern.com>
2009-05-11  8:52                                             ` Peter Stephenson [this message]
2009-05-08 18:42                                     ` Modules on HP-UX Paul Ackersviller
2009-05-12 20:22                                     ` Modules on HP-UX, with small PATCH Paul Ackersviller
2009-05-08 14:23                                   ` D07multibyte.ztst failure on HP-UX 11.11 Peter Stephenson
2009-05-02  1:00               ` Phil Pennock

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090511095232.117c7548@news01 \
    --to=pws@csr.com \
    --cc=zsh-workers@sunsite.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).