O que a glibc detectou… httpd: duplo livre ou corrupção significa?

2

Eu tenho um servidor EC2 em execução que utilizo para processar uploads de imagens. Eu tenho um flash swf que lida com o upload para o servidor do meu disco local - enquanto o upload de cerca de 130 imagens (um total de cerca de 650MB) eu tenho o seguinte erro no meu arquivo de log do servidor após cerca de 45ª imagem.

  • glibc detectado / usr / sbin / httpd: livre ou corrompido (! anterior): 0x85a6b990 **

O que esse erro significa?

O servidor parou de responder, então eu reiniciei. Onde devo começar a encontrar a causa deste problema?

obrigado

alguma informação -

Apache / 2.2.9 (Unix) DAV / 2 PHP / 5.2.6 mod_ssl / 2.2.9 OpenSSL / 0.9.8b configurado no Fedora 8

    
por undefined 12.08.2010 / 17:33

1 resposta

4

Esta mensagem significa que existe um erro em httpd , um em seus módulos carregados ou em seu ambiente de execução (bibliotecas, sistema operacional, hardware).

A explicação técnica do bug é que parte do processo httpd manteve um ponteiro para um bloco de memória, mesmo que a memória já tenha sido liberada para outro uso. Nesse caso, o erro foi detectado e não causou nenhum dano, porque o bloco de memória não foi reutilizado por outra coisa. Mas se você vir esse erro, é muito provável que ele surja em outros casos em que o bloco de memória é reutilizado e, em seguida, o erro é impossível de ser detectado.

O ideal seria encontrar uma maneira de reproduzir esse bug e enviar um relatório de erros para a equipe de desenvolvimento do Apache (a menos que você ache que o bug foi corrigido em uma versão subsequente, mas para um bug como este seria difícil contar). Infelizmente, esse tipo de bug é difícil de reproduzir. Você pode querer pesquisar no site da Apache se a equipe de desenvolvimento tiver preferências em relação ao relatório desses bugs, pergunte em alguma lista de discussão do Apache (não sei qual deles seria apropriado). É claro que, se o erro estiver em um módulo de terceiros ou em uma biblioteca, você deverá entrar em contato com a equipe de desenvolvimento. Não há nenhum método milagroso para descobrir isso, a menos que você possa reproduzir o bug.

Apenas para descartar um problema de hardware, talvez você queira executar um teste de memória.

    
por 12.08.2010 / 20:30