Raspbian “Falha de segmentação” depois de funcionar por meses

Raspbian “Falha de segmentação” depois de funcionar por meses

Eu tenho Raspberry Pi 3 rodando Raspbian GNU/Linux 8 (jessie)

Linux version 4.1.18-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611) )

Há Apache, PHP e MySQL em execução. Ele lê dados de outro dispositivo LAN, registra-os no banco de dados MySQL e envia-os para o servidor remoto. As linhas na tabela MySQL são excluídas 7 dias após serem gravadas, mas somente se forem enviadas com sucesso ao servidor.

Na inicialização, um serviço inicia um arquivo loop_send.shque chama o script PHP a cada 10 segundos:

#!/bin/bash
COUNTER=0
WAITTIME=10
while [ $COUNTER -lt 5 ]; do
    /usr/bin/php /var/www/send.php
    sleep $WAITTIME
    #let COUNTER=COUNTER+1
done

send.php verifica se há novos registros no MySQL e os envia para o servidor remoto.

Existe um serviço semelhante, arquivo .sh e PHP para leitura de dados da LAN e gravação na tabela MySQL.

Isso funcionou bem desde junho de 2016. Em 31 de agosto, ele parou de reportar ao servidor remoto, mas permaneceu ligado e conectado à rede até agora.

Existem /var/log/sendservice.errmilhares de:

loop_send.sh: line 9:  3702 Segmentation fault      /usr/bin/php /var/www/send.php
loop_send.sh: line 9:  3708 Segmentation fault      /usr/bin/php /var/www/send.php
loop_send.sh: line 9:  3711 Segmentation fault      /usr/bin/php /var/www/send.php
loop_send.sh: line 9:  3716 Segmentation fault      /usr/bin/php /var/www/send.php
loop_send.sh: line 9:  3722 Segmentation fault      /usr/bin/php /var/www/send.php
loop_send.sh: line 9:  3725 Segmentation fault      /usr/bin/php /var/www/send.php
loop_send.sh: line 9:  3728 Segmentation fault      /usr/bin/php /var/www/send.php
loop_send.sh: line 9:  3735 Segmentation fault      /usr/bin/php /var/www/send.php

Seguido por muitos:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20131226/curl.so' - /usr/lib/php5/20131226/curl.so: symbol steerr, version GLIBC_2.4 not defined in file libc.so.6 with link time reference in Unknown on line 0
PHP Fatal error:  Call to undefined function curl_init() in /var/www/communication.php on line 71

e então:

PHP Warning:  PHP Startup: curl: Unable to initialize module
Module compiled with build ID=aPI2013q226,NTS
PHP    compiled with build ID=API20131226,NTS
These options need to match
 in Unknown on line 0
PHP Fatal error:  Call to undefined function curl_init() in /var/www/communication.php on line 71

e então:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20131226/curl.so' - /usr/lib/php5/20131226/curl.so: symbol steerr, version GLIBC_2.4 not defined in file libc.so.6 with link time reference in Unknown on line 0
PHP Fatal error:  Call to undefined function curl_init() in /var/www/communication.php on line 71
    invalid subsection length 4194340, max allowed 36

Este arquivo de log tem 45 MB, cada uma dessas mensagens se repete muito antes da próxima.

Acho que a "falha de segmentação" é a razão de todo o resto, mas não consigo encontrar a razão para isso. Não havia monitor e dispositivos de entrada no Pi antes que isso acontecesse.

Responder1

Está claro na sua saída que os dados que estão sendo carregados na memória não correspondem ao quedeveestar saindo de sua mídia. Por exemplo:

ID=aPI2013q226,NTS

Isso está mostrando vários erros de bit único. As outras entradas de log que você postou também sugerem que os programas que estão sendo carregados estão corrompidos de forma semelhante.

Verifique se o seu cartão SD ou outra mídia não está falhando.

informação relacionada