From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: zsh-workers-request@euclid.skiles.gatech.edu Received: from euclid.skiles.gatech.edu (list@euclid.skiles.gatech.edu [130.207.146.50]) by coral.primenet.com.au (8.7.5/8.7.3) with ESMTP id LAA24539 for ; Sun, 3 Nov 1996 11:13:04 +1100 (EST) Received: (from list@localhost) by euclid.skiles.gatech.edu (8.7.3/8.7.3) id SAA02498; Sat, 2 Nov 1996 18:55:41 -0500 (EST) Resent-Date: Sat, 2 Nov 1996 18:55:41 -0500 (EST) From: Zoltan Hidvegi Message-Id: <199611022218.XAA00325@hzoli.ppp.cs.elte.hu> Subject: Re: Strange coredump in new zsh-3.0.1 on Sunos4.1.3 To: stucki@math.fu-berlin.de Date: Sat, 2 Nov 1996 23:18:27 +0100 (MET) Cc: zsh-workers@math.gatech.edu In-Reply-To: from "C. v. Stuckrad" at "Nov 2, 96 04:25:00 pm" X-Mailer: ELM [version 2.4ME+ PL17 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Resent-Message-ID: <"g_TQ83.0.yc.zzzUo"@euclid> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/2315 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu > > Hi! > > I yesterday tried to install the new 3.0.1 including the two patches > from the zsh-workers-list (Subjects: '4 bugs' + 'strange behaviour of autocd') > compiled on SunOS 4.1.3 with gcc 2.7.2. Then: > > ONE zsh was fine (freshly logged in) > on top of 'screen' no zhsh would survive (vers. 3.0.0 does though). > and I get a coredump always at places like VARIABLE=`program` > The places divver, I cud not find a 'real' system in the dumps, > but ALWAYS it's inside the initialisation files, and always at > an definition of a Variable. One stacktrace of gdb follows here: You may try this patch. It fixes an obvious bug which was already present in zsh-3.0.0 so it does not explain why zsh-3.0.0 worked. Zoltan *** Src/utils.c 1996/10/30 23:41:58 3.1.0.0 --- Src/utils.c 1996/11/02 22:15:19 *************** *** 913,919 **** { if (fd >= 0) { fdtable[fd] = 0; ! while (!fdtable[max_zsh_fd]) max_zsh_fd--; if (fd == coprocin) coprocin = -1; --- 913,919 ---- { if (fd >= 0) { fdtable[fd] = 0; ! while (max_zsh_fd > 0 && !fdtable[max_zsh_fd]) max_zsh_fd--; if (fd == coprocin) coprocin = -1;