From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 749 invoked from network); 9 Aug 2002 00:19:15 -0000 Received: from ns2.primenet.com.au (HELO primenet.com.au) (203.24.36.3) by ns1.primenet.com.au with SMTP; 9 Aug 2002 00:19:15 -0000 Received: (qmail 2464 invoked from network); 8 Aug 2002 16:04:54 -0000 Received: from sunsite.dk (130.225.247.90) by proxy.melb.primenet.com.au with SMTP; 8 Aug 2002 16:04:54 -0000 Received: (qmail 7268 invoked by alias); 8 Aug 2002 16:03:47 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 17519 Received: (qmail 7250 invoked from network); 8 Aug 2002 16:03:46 -0000 From: Paul Lew MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15698.38466.957510.870445@paullew-ultra.cisco.com> Date: Thu, 8 Aug 2002 09:03:14 -0700 To: Peter Stephenson Cc: zsh-workers@sunsite.dk (Zsh hackers list), Paul Lew Subject: Re: zsh 4.0.4 core dump In-Reply-To: <645.1028801085@csr.com> References: <15697.50711.359543.354374@paullew-ultra.cisco.com> <645.1028801085@csr.com> X-Mailer: VM 7.07 under Emacs 21.2.1 >>>>> "Peter" == Peter Stephenson writes: Peter> Paul Lew wrote: >> Program terminated with signal 10, Bus Error. >> #0 0x2af38 in bin_dot (name=0x0, argv=0x1, ops=0x39ce7 "", func=-4264968) >> at builtin.c:3380 >> 3380 if (!(*t)[0] || ((*t)[0] == '.' && !(*t)[1])) { >> >> Seems like our precmd triggered a bug. Has this been reported >> at all? Peter> Haven't seen this. What does the precmd look like? The precmd defined as: # From: Andrew J Cosgriff # Date: Thu, 10 Jul 1997 09:12:11 +1000 precmd () { if [[ -o interactive ]]; then # Get a list of suspended jobs to put in the command # line. Have to use a temporary file because it is # the only way we can run the jobs builtin and set a # variable within the current shell - doing either of # these in a subshell defeats the purpose. The jobs # command outputs to stderr. Use the current hostname # and process ID to ensure that there is no problems # even if /tmp is mounted across filesystems. builtin jobs -r >&! /tmp/jobs$HOST$$ if [[ -s /tmp/jobs$HOST$$ ]]; then # There is at least one suspended job. Glean # the job numbers from the file. Surround the # text with the relevant description and # proper number of spaces. psvar[4]="`sed -n 's/^\[\([^]]*\)\].*$/\1 /p' \ < /tmp/jobs$HOST$$ | tr -d '\012'`" else # No jobs - we can skip the calls to sed and # tr. psvar[4]="" fi /bin/rm /tmp/jobs$HOST$$ jobs -s fi } Peter> What was $path supposed to be at this point? In Peter> particular, could anything have been manipulating $path? Our path is long: 1 W . 2 W /auto/insbu-cnstools/ar/bin 3 W /auto/insbu-cnstools/ar/sh 4 W /auto/insbu-cnstools/ar/perl 5 W /auto/insbu-cnstools/bin 6 W /auto/insbu-cnstools/sbin 7 W /auto/cnsadpub/cns/bin 8 W /auto/insbu-cnstools/apache/bin 9 W /auto/insbu-cnstools/mysql/bin 10 /nfs/csc/mib-release/bin 11 W /auto/insbu-cnstools/java/bin 12 W /auto/insbu-cnstools/jakarta-ant-1.4/bin 13 /usr/cisco/bin 14 /usr/local/bin 15 /usr/local/sbin 16 /usr/dt/bin 17 /router/bin 18 /usr/atria/bin 19 /auto/ddts/ddtshome/bin 20 /usr/openwin/bin 21 /sbin 22 /usr/sbin 23 /usr/ccs/bin 24 /usr/openwin/bin 25 /usr/ucb 26 /usr/bin 27 /bin 28 /etc 29 /usr/games The first 3 elements might be changing while the shell is running, i.e., the entire directories were removed and repalced. Any old pointer to these file will not be valid. However, this maybe the 2nd problem we seen. The first problem is zsh cored after long idling time. All the path elements above with /auto and /nfs are subject to be dismounted by the automount daemon.