Novas linhas aleatórias em avisos CGI gravados no log de erros do Apache

1

Desde a atualização de um servidor do Debian 7.8 para 8.2 (64 bits), a atualização do Apache (para 2.4.10) introduziu uma falha muito estranha: novas linhas aleatórias no error_log.

Exemplo:

[Mon Nov 16 13:29:54.388526 2015] [cgi:error] [pid 9122] [client xx.xx.xx.xx:1865] AH01215: (Fred, Test) Warning: foo.cgi/Foo.pm::foo():115 "Argument "test" isn't numeric i, referer: http://…
[Mon Nov 16 13:29:54.390770 2015] [cgi:error] [pid 9122] [client xx.xx.xx.xx:1865] AH01215: n numeric eq (==)" [GET http://…], referer: http://…

Aqui, o aviso de CGI foi dividido entre a palavra "in".

A posição na linha em que a quebra de linha é adicionada é aleatória e o efeito é aplicado a linhas aleatórias. É normal ver várias instâncias do mesmo erro em sequência (por exemplo, um erro ocorrendo em um loop), com apenas uma dessas linhas afetada por uma quebra de linha aleatória.

O texto é escrito no log de erros por meio de "digamos STDERR sprintf (…)", que estava trabalhando inteiramente sem incidentes na versão anterior do Debian / Apache / Perl (atualmente Apache 2.4 e Perl 5.20.2).

Eu sou a única pessoa no mundo a encontrar um fenômeno tão estranho? :)

Editar: Estou começando a suspeitar que o problema ocorre sempre que várias linhas são enviadas do script CGI para STDERR de uma só vez, ou seja, algum tipo de limite de buffer sendo atingido ... apenas um pensamento. / p>     

por Daniel Beardsmore 16.11.2015 / 17:26

0 respostas