MAL - Memória Auxiliar do Lutieri

quarta-feira, setembro 05, 2007

SQUID: Software caused connection abort

httpAccept: FD 47: accept failure: (53) Software caused connection abort
httpAccept: FD 47: accept failure: (53) Software caused connection abort
httpAccept: FD 47: accept failure: (53) Software caused connection abort
httpAccept: FD 47: accept failure: (53) Software caused connection abort
httpAccept: FD 47: accept failure: (53) Software caused connection abort
httpAccept: FD 47: accept failure: (53) Software caused connection abort
httpAccept: FD 47: accept failure: (53) Software caused connection abort
httpAccept: FD 47: accept failure: (53) Software caused connection abort
httpAccept: FD 47: accept failure: (53) Software caused connection abort
httpAccept: FD 47: accept failure: (53) Software caused connection abort
httpAccept: FD 47: accept failure: (53) Software caused connection abort
httpAccept: FD 47: accept failure: (53) Software caused connection abort
httpAccept: FD 47: accept failure: (53) Software caused connection abort

É assim que anda o cache.log do meu squid.

Procurei tanto as respostas pra isso e só via uma palavra que hoje ecoa dentro da minha cabeça:

harmless

Eu vou estar com 70 anos e não vou esquecer o significado: "que não causa danos".

Não causa danos... aham.. isso quando for lá de vez em quando que essa mensagem for vista. No meu caso essa desgraça aparece umas 40 vezes por minuto. Procurando mais próximo a fonte, leia-se squid-user mailing list, encontrei um dos desenvolvedores falando a mesmíssima coisa:
This is a harmless message.

Tá! o fato é que ela tava me causando danos sim. Estava criando arquivos de log com tamanhos desnecessários. Portanto resolvi apelar. Descobri que uma boa forma de ter um sistema rodando sem erros é indo lá e comentando a linha de código onde diz algo como: printf... echo... debug....

Pronto!!! Os erros não aparecem mais nos logs :-) Isso que é a real POG.

Bom... mas claro que eu como um administrador não posso simplesmente ocultar o erro. Mas Henrik Nordstrom pode. Ele é o cara que recomendou fazer essa gambiarra. E ele não é nada mais nada menos que o cara que desenvolve o squid. Portanto se ele diz que pode eu acredito.

Vamos ao workaround, a.k.a, POG:


No código fonte do squid temos o seguinte arquivo: src/client_side.c
No meu caso, estou rodando a versão 2.6stable14. Sendo assim, encontro dentro desse arquivo, mais precisamente na linha 4513, o seguinte comando:

debug(50, 1) ("httpAccept: FD %d: accept failure: %s\n",


HA HA! tá aqui a fonte da minha cefaléia.

Henrik recomenda aumentar o nível do log que é o segundo parâmetro do comando debug. Está atualmente setado para 1, como se pode ver. 0 é crítico, 1 é nível importante e acima de 2 é para debug.

Sendo assim nossa linha 4513 fica assim:

debug(50, 2) ("httpAccept: FD %d: accept failure: %s\n",

Henrik disse isso aqui.

Para efetuar esse procedimento no FreeBSD através do ports deve-se proceder da seguinte maneira:

cd /usr/ports/www/squid
make fetch
make config
make patch
vi work/squid-2.6STABLE14/src/client_side.c
:4513


Coloca o cursor sobre o número 1 e pressione CTRL+a. Isso incrementa o número. E só por curiosidade CTRL+x decrementa.

:x
make install clean

E todos viveram felizes para sempre.

Marcadores: ,

1 Comentários:

  • KKKKKKKKKKKKKKK
    A gente quebra a cabeça em busca de rodar a parada 100% para garantir nenhuma falha, e ai o desenvolver mandar ignorar a "falha" rs.
    Só para complementar, essa msg certamente é causada por algum programa executando no proprio servidor que pede um requisição de conexão (talvez) a si mesmo, e por não se tratar necessariamente uma conexão e vir a ser encerrada aparece a msg dita cuja. (eu acho).

    By Anonymous Anônimo, at 13/08/2017, 21:41  

Postar um comentário

<< Home



Chat with Lutieri G. B.

Subscribe in a reader