O comando a seguir irá travar no meu sistema quando a variável de ambiente LANG
estiver definida como, por exemplo. en_US.UTF-8
, mas funcionará bem com LANG=C
:
/usr/bin/gawk '
BEGIN {
match(str, /^([^--03-603-7]|(([2-7][0-7])|(0[0-7][0-7])|([1-467][0-7][0-7])|(5[0-7][0-7])|(0[0-7][0-7][0-7])|([1-3][0-7][0-7][0-7])|(4[0-7][0-7][0-7])))([^--03-603-7]|(([2-7][0-7])|(0[0-7][0-7])|([1-467][0-7][0-7])|(5[0-7][0-7])|(0[0-7][0-7][0-7])|([1-3][0-7][0-7][0-7])|(4[0-7][0-7][0-7])))*/) }'
A saída do erro é
gawk: cmd. line:3: fatal error: internal error: segfault
Olhando para o dump principal, o travamento acontece no analisador yacc gerado para a linguagem AWK (especificamente na rotina yexc regexp lib dfacomp()
). Isso não acontece por exemplo. Debian 8.6 nem em outros Linuxen eu testei.
Este é um problema conhecido? Perguntando porque o problema pode ser que meu sistema foi atualizado a partir de 15.10.