Ubuntu 16.04: falha no início do apache2.service, falha de segmentação (core dumping)

0

Ontem atualizei de 14.04 para 16.04.2.

Após a atualização, meu serviço apache2 não inicia, erro:

Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.

Eu sei que há muitos usuários que enfrentaram isso, mas não exatamente o que estou enfrentando. Não há erro útil nas saídas. Apenas um erro de segmentação genérica falhou.

systemctl status apache2.service

apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
Active: failed (Result: exit-code) since Wed 2017-04-12 22:13:22 SGT; 11s ago
Docs: man:systemd-sysv-generator(8)
Process: 11446 ExecStart=/etc/init.d/apache2 start (code=exited, status=1/FAILURE)
Apr 12 22:13:22 ip-172-31-15-210 apache2[11446]:  *
Apr 12 22:13:22 ip-172-31-15-210 apache2[11446]:  * The apache2 configtest failed.
Apr 12 22:13:22 ip-172-31-15-210 apache2[11446]: Output of config test was:
Apr 12 22:13:22 ip-172-31-15-210 apache2[11446]: Segmentation fault (core dumped)
Apr 12 22:13:22 ip-172-31-15-210 apache2[11446]: Action 'configtest' failed.
Apr 12 22:13:22 ip-172-31-15-210 apache2[11446]: The Apache error log may have more information.
Apr 12 22:13:22 ip-172-31-15-210 systemd[1]: apache2.service: Control process exited, code=exited status=1
Apr 12 22:13:22 ip-172-31-15-210 systemd[1]: Failed to start LSB: Apache2 web server.
Apr 12 22:13:22 ip-172-31-15-210 systemd[1]: apache2.service: Unit entered failed state.
Apr 12 22:13:22 ip-172-31-15-210 systemd[1]: apache2.service: Failed with result 'exit-code'.

journalctl -xe

Apr 12 22:13:22 ip-172-31-15-210 systemd[1]: Starting LSB: Apache2 web server...
-- Subject: Unit apache2.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit apache2.service has begun starting up.
Apr 12 22:13:22 ip-172-31-15-210 apache2[11446]:  * Starting Apache httpd web server apache2
Apr 12 22:13:22 ip-172-31-15-210 kernel: /usr/sbin/apach[11458]: segfault at 5 ip 00007f483f0db997 sp 00007ffd0d8f13e0 error 4 in Util.so[7f483f0d3000+b000]
Apr 12 22:13:22 ip-172-31-15-210 apache2[11446]:  *
Apr 12 22:13:22 ip-172-31-15-210 apache2[11446]:  * The apache2 configtest failed.
Apr 12 22:13:22 ip-172-31-15-210 apache2[11446]: Output of config test was:
Apr 12 22:13:22 ip-172-31-15-210 apache2[11446]: Segmentation fault (core dumped)
Apr 12 22:13:22 ip-172-31-15-210 apache2[11446]: Action 'configtest' failed.
Apr 12 22:13:22 ip-172-31-15-210 apache2[11446]: The Apache error log may have more information.
Apr 12 22:13:22 ip-172-31-15-210 systemd[1]: apache2.service: Control process exited, code=exited status=1
Apr 12 22:13:22 ip-172-31-15-210 systemd[1]: Failed to start LSB: Apache2 web server.
-- Subject: Unit apache2.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit apache2.service has failed.
-- 
-- The result is failed.
Apr 12 22:13:22 ip-172-31-15-210 systemd[1]: apache2.service: Unit entered failed state.
Apr 12 22:13:22 ip-172-31-15-210 systemd[1]: apache2.service: Failed with result 'exit-code'.

Eu tentei limpar e instalar o apache2, libapache2-mod-php7.0, libapache2-mod-perl. Não há nenhum php5 instalado (o Ubuntu o removeu durante a atualização).

Alguém tem alguma opinião sobre o que mais posso fazer?

EDIT 1: Usando o gdb no core dump dá isto:

[New LWP 12661]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by '/usr/sbin/apache2 -t'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fb84d424997 in boot_List__Util (my_perl=0x5595f24c3840, 
    cv=0x5595f27e76e0) at ListUtil.c:1793
1793        dVAR; dXSARGS;
    
por Terence 12.04.2017 / 16:30

1 resposta

0

Finalmente encontrei uma resposta aqui! link

Eu decidi desativar todas as configurações do apache e ativar uma por uma. E o recarregamento do apache2 falhou quando habilitei a configuração específica do Bugzilla. Parece que os módulos perl estavam em conflito com o Ubuntu 16.04. Eu usei o CPAN para atualizar módulos perl, renomeie bugzilla / lib para bugzilla / lib.old e corri bugzilla / checksetup.pl.

O script recriou o conteúdo do bugzilla / lib e o recarregamento do apache2 foi bem-sucedido.

    
por Terence 16.04.2017 / 16:44