Raspbian «Ошибка сегментации» после нескольких месяцев работы

Raspbian «Ошибка сегментации» после нескольких месяцев работы

У меня Raspberry Pi 3 под управлением 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) )

Работают Apache, PHP и MySQL. Он считывает данные с другого устройства локальной сети, регистрирует их в базе данных MySQL и отправляет на удаленный сервер. Строки в таблице MySQL удаляются через 7 дней после записи, но только если они успешно отправлены на сервер.

При загрузке служба запускает файл loop_send.sh, который вызывает PHP-скрипт каждые 10 секунд:

#!/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 проверяет наличие новых записей в MySQL и отправляет их на удаленный сервер.

Существует аналогичный сервис, .sh и PHP-файл для чтения данных из локальной сети и записи в таблицу MySQL.

Все работало нормально с июня 2016 года. 31 августа устройство перестало отправлять отчеты на удаленный сервер, но оставалось включенным и подключенным к сети до сих пор.

В /var/log/sendservice.errних тысячи:

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

Далее следует множество:

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

а потом:

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

а потом:

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

Размер этого файла журнала составляет 45 МБ, каждое из этих сообщений многократно повторяется перед следующим.

Я думаю, что "Segmentation fault" является причиной всего остального, но я не могу найти причину. До того, как это произошло, на Pi не было монитора и устройств ввода.

решение1

Из вашего вывода ясно, что данные, загружаемые в память, не соответствуют тому, что есть.долженвыходить из ваших СМИ. Например:

ID=aPI2013q226,NTS

Это показывает множественные однобитовые ошибки. Другие записи журнала, которые вы опубликовали, также предполагают, что загружаемые программы также повреждены.

Проверьте исправность SD-карты или другого носителя.

Связанный контент