Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

More trap-handling crashes



The quickest way to see it is as follows:

zagzig[81] Src/zsh -f
zagzig% autoload -U promptinit
zagzig% promptinit
zagzig% prompt bart
zagzig [prompt bart] /usr/src/local/zsh/zsh-3.1.9-build        00-06-10 10:49AM
zagzig% prompt bart off
(zsh consumes all available memory, then crashes)

The problem is that here:

#0  dosavetrap (sig=28, level=3) at ../../zsh-3.1.6/Src/signals.c:675
#1  0x809312f in removetrap (sig=28) at ../../zsh-3.1.6/Src/signals.c:756
#2  0x8093080 in unsettrap (sig=28) at ../../zsh-3.1.6/Src/signals.c:733
#3  0x8092fb1 in settrap (sig=28, l=0x8124c10)
    at ../../zsh-3.1.6/Src/signals.c:700
#4  0x80a613f in setfunction (name=0x400e23d8 "TRAPWINCH", val=0x8124bc8 "", 
    dis=0) at ../../../zsh-3.1.6/Src/Modules/parameter.c:357
(More stack frames follow...)

sigfuncs[sig] points to a completely garbaged eprog with a huge `len' field,
so zsh tried to allocate roughly a gigabyte of memory.

localtraps is not set, and there's no exit trap involved.  I suspect this
is related to the (root cause of the) TRAPEXIT crash that Clint patched
recently.

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com

Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net   



Messages sorted by: Reverse Date, Date, Thread, Author