Re: zsh segfault, Was Re: [SSFR] quel langage ?

[ Thread Index | Date Index | More debianworld.org/shellscript-fr Archives ]


On 2005-12-02 16:46:46 +0000, Xavier Gachon wrote:
> On Fri, Dec 02, 2005 at 12:15:21PM +0000, Vincent Lefevre wrote:
> > Ça me semble être un bug, ceci dit.
> 
> ah! :)

Je viens de le rapporter à zsh-workers:

In a French mailing-list, I've just heard of a bug related to
recursive function calls, source and exit; I don't think it has
been reported yet. Here's a way to reproduce it:

dixsept:~> zsh-beta -f
dixsept% echo $ZSH_VERSION
4.3.0-dev-1
dixsept% echo false > ./file
dixsept% f() {
function> echo $[++i]
function> cat file
function> sleep 1
function> . ./file || echo exit > ./file
function> f
function> }
dixsept% which f
f () {
        echo $[++i]
        cat file
        sleep 1
        . ./file || echo exit > ./file
        f
}
dixsept% f
1
false
2
exit
3
exit
4
exit
5
exit
6
exit
[Ctrl-C]
dixsept:~>

FYI, bash doesn't have this problem:

[...]
vlefevre@dixsept:~$ f
1
false
2
exit
dixsept:~>

> > Tu oublies qu'il peut y avoir des traps, et des choses compliquées
> > avec les redirections, des processus qui seraient mis en background,
> > etc. Ce n'est pas si simple. Pas sûr qu'il n'y ait pas de nettoyage
> > à faire à la fin de chaque appel.
> 
> ce ne serait pas un probleme en soi car il est peu probable que ces
> nettoyages s'appliques aux stack frames,

Attention, zsh doit avoir sa propre pile pour ses fonctions.
Maintenant, tu peux toujours soumettre un RFE sur ce point.
Les développeurs (très actifs) te diront si c'est possible...
Mais essaie d'abord de voir dans les archives des listes zsh.

-- 
Vincent Lefèvre <vincent@xxxxxxxxxx> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / SPACES project at LORIA



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/