Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: zsh-3.0-pre2 cores on irix 5.3 (?)
- X-seq: zsh-workers 1551
- From: "Bart Schaefer" <schaefer@xxxxxxxxxxxxxxxxxxxxxxx>
- To: andreas.koenig@xxxxxxxxxxxxxxxxxxxxx
- Subject: Re: zsh-3.0-pre2 cores on irix 5.3 (?)
- Date: Sun, 7 Jul 1996 09:16:34 -0700
- Cc: zsh-workers@xxxxxxxxxxxxxxx
- In-reply-to: Andreas Koenig <k@xxxxxxxxxxxxxxxxx>        "Re: zsh-3.0-pre2 cores on irix 5.3 (?)" (Jul  7, 12:50pm)
- References: <199607071050.MAA00891@xxxxxxxxxxxxxxxxx>
- Reply-to: schaefer@xxxxxxx
On Jul 7, 12:50pm, Andreas Koenig wrote:
} Subject: Re: zsh-3.0-pre2 cores on irix 5.3 (?)
}
} I started investigating, and reduced the bug (see below)
} 
}   > 1. Do you start getting the `alloc_stackp != 0' error immediately upon
}   >    starting zsh?  Or only after doing some completions?  Or only after
}   >    the periodic function starts firing?
} 
} Immediately after starting and then every $PERIOD seconds.
} 
} Here's my current .zshrc:
} 
} PERIOD=1800
} periodic () { . $HOME/.zlogout }
} 
} Here's my .zlogout:
} 
} echo "In .zprofile 1"
} #dirs >! $HOME/.zdirhistory
} #echo -n ]1\;$USERNAME@$HOST]2\;$USERNAME@$HOST $$
} 
} You see the lines it had before commented out. It turns out that ANY
} command in the file triggers _one_ alloc_stackp message.
Turns out that "source" or "." inside any shell function will trigger
that BUG warning, which isn't really a bug at all -- it's doshfunc()
calling loop() recursively, so the allocation stack depth reflects the
depth of recursion.
zagzig<3> echo echo foo > foo
zagzig<4> blat() { . foo }
zagzig<5> blat
foo
BUG: alloc_stackp != 0 in loop()
zagzig<6>
The for(;;) in loop() continues before reaching the DPUTS() call on any
blank or commented line, which is why I didn't see it when I first tried
to reproduce it, and which is why you see it once for each command.
Try this patch.
*** Src/init.c.orig	Fri Jul  5 10:57:45 1996
--- Src/init.c	Sun Jul  7 09:07:57 1996
***************
*** 128,134 ****
  	    if (toplevel)
  		noexitct = 0;
  	}
! 	DPUTS(alloc_stackp, "BUG: alloc_stackp != 0 in loop()");
  	if (ferror(stderr)) {
  	    zerr("write error", NULL, 0);
  	    clearerr(stderr);
--- 128,134 ----
  	    if (toplevel)
  		noexitct = 0;
  	}
! 	DPUTS(alloc_stackp > locallevel, "BUG: alloc_stackp > locallevel in loop()");
  	if (ferror(stderr)) {
  	    zerr("write error", NULL, 0);
  	    clearerr(stderr);
-- 
Bart Schaefer                             Brass Lantern Enterprises
http://www.well.com/user/barts            http://www.nbn.com/people/lantern
New male in /home/schaefer:
>N  2 Justin William Schaefer  Sat May 11 03:43  53/4040  "Happy Birthday"
Messages sorted by:
Reverse Date,
Date,
Thread,
Author