[FUG-BR] FreeBSD 10.0 Apache Segmentation fault (11) [RESOLVIDO]
Victor Volpe
victor_volpe em bol.com.br
Terça Setembro 16 00:51:49 BRT 2014
> Eu não utilizo o freebsd-update mas ele só funciona para atualização de
> release, você não tem o stable para ele. Nesse caso você teria que
> baixar os fontes userland + kernel, compilar e instalar o world e o
> kernel. Isso pode ser feito usando o svnlite que já vem no 10. Se você
> nunca fez esse procedimento vai te dar um pouco de trabalho mas é bem
> legal porque vai te dar uma bagagem à mais de conhecimento. :)
> Primeiramente um backup atualizado de tudo que for importante!
>
Olá Marcelo,
Agradeço novamente o feedback. Antigamente eu fazia a compilação custom do kernel mas depois do OpenSSL Heartbleed resolvi simplificar as coisas. Agora posso atualizar o sistema pelo freebsd-update sem se preocupar com a recompilação do kernel antes do reboot. Além de ganhar tempo, ajuda a manter uma maior disponibilidade dos serviços em caso de atualizações críticas e emergenciais. De qualquer forma o conselho é válido e acredito que todos que trabalham com sistemas UNIX like deveriam se aprofundar no assunto, afinal conhecimento nunca é demais. ;)
Quanto ao problema em questão, felizmente consegui resolver sem precisar trocar de build, graças ao conselho do Mike Rumph no site ASF Bugzilla: https://issues.apache.org/bugzilla/show_bug.cgi?id=56984
O motivo dos segfaults é que o PHP não é thread-safe, ou seja, não foi desenvolvido para rodar em web server de múltiplas instâncias. Na versão 2.4 do Apache o MPM foi alterado de prefork (multi childs) para worker (multi thread). Forçando o Apache a rodar em prefork resolveu o problema.
Abraços!
Mais detalhes sobre a lista de discussão freebsd