From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26565 invoked from network); 1 Jan 2000 21:27:54 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 1 Jan 2000 21:27:54 -0000 Received: (qmail 20106 invoked by alias); 1 Jan 2000 21:27:48 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 9177 Received: (qmail 20099 invoked from network); 1 Jan 2000 21:27:47 -0000 To: zsh-workers Subject: Re: Glob problem with memory In-reply-to: "Felix Rosencrantz"'s message of "Wed, 29 Dec 1999 23:51:46 PST." <19991230075146.20165.qmail@web1303.mail.yahoo.com> Date: Sat, 01 Jan 2000 16:55:24 +0000 From: Peter Stephenson Message-Id: Felix Rosencrantz wrote: > When attempting to do an "echo *(/)" or use other glob qualifiers, > I've been getting a bus error with this stack trace on Solaris 5.6. > I started seeing this problem in builds sometime after Dec 14th. > I think it is related to the recently made memory changes. > I don't see the problem if I replace the hcalloc on line glob.c:1312 > with a zcalloc, so the problem seems to be related to memory allocation. We should check that the new mmap() memory things in mem.c always return 64-bit aligned pointers where necessary, even on 32-bit machines. I was getting just this sort of problem with the old form of the zhalloc() mechanism when I introduced 64-bit integer support and before I fixed the alignment. I'll have a look at this, but Sven might be able to trace it more effectively when he gets back. Meanwhile, changing the USE_MMAP #define in mem.c to #undef USE_MMAP should fix things up for the time being. -- Peter Stephenson