Re: zsh segfault, Was Re: [SSFR] quel langage ? |
[ Thread Index |
Date Index
| More debianworld.org/shellscript-fr Archives
]
On Fri, Dec 02, 2005 at 01:49:32AM +0000, Vincent Lefevre wrote:
> On 2005-12-02 01:11:23 +0000, Xavier Gachon wrote:
> > si on causait un peu de zsh qui segfault toujours d'entrée sur un bete:
> >
> > $ echo false > ./file; f () { . ./file || echo exit > ./file ; f ; } ; f &
> >
> > ou f () { f; }; f; pour un test plus court, un peu partout
> > ou j'ai pu essayer en 2.4.* (5 en particulier), des utilisateur
> > pour tester sur divers systemes et versions ? :-)
>
> Un appel récursif infini, c'est normal que ça plante au bout d'un
> moment.
Si tu avais pris la peine de lire:
1) cela segfault _d'entrée_ il n'y a pas d'appels recursifs
ou alors la stack de zsh fait quelques octects a tout casser %)
2) la recursion du premier exemple se limite a 2 appels, l'appel
initial qui genere la condition d'arret de l'appel recursif
qui suit, cela segfault tout de meme :)
3) ce ne sont pas des appels recursif mais tail recursif executables
en espace constant par trampolining (dans le pire des cas! car c'est
du shell et il n'y a pas donc pas les contraintes que tentent de gerer
comme il peuvent les compilos C les empechant de creer des tails
recursions en espace constant :) mais je ne m'attend evidemment pas a
de telles «««optimisations»»» de la part d'un shell, cependant je ne
m'attend pas non plus a ce qu'il plante en 1 seul appel recursif, d'ou
la question :-)
essaye encore (demain matin peut etre ;) ...
xavier.
--
pwet
--
klapwet
--
tarapwet!