Raspbian „Segmentation fault“ nach monatelangem Betrieb

Raspbian „Segmentation fault“ nach monatelangem Betrieb

Ich habe Raspberry Pi 3 mit 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) )

Es laufen Apache, PHP und MySQL. Es liest Daten von einem anderen LAN-Gerät, protokolliert sie in der MySQL-Datenbank und sendet sie an den Remote-Server. Zeilen in der MySQL-Tabelle werden 7 Tage nach dem Schreiben gelöscht, aber nur, wenn sie erfolgreich an den Server gesendet wurden.

Beim Booten startet eine Dienstdatei loop_send.sh, die alle 10 Sekunden ein PHP-Skript aufruft:

#!/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 prüft, ob neue Datensätze in MySQL vorhanden sind und sendet sie an den Remote-Server.

Es gibt einen ähnlichen Dienst sowie eine .sh- und PHP-Datei zum Lesen von Daten aus dem LAN und Schreiben in eine MySQL-Tabelle.

Dies hat seit Juni 2016 problemlos funktioniert. Am 31. August hat es die Meldung an den Remote-Server eingestellt, blieb aber bis jetzt eingeschaltet und mit dem Netzwerk verbunden.

Darin /var/log/sendservice.errbefinden sich Tausende von:

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

Gefolgt von vielen:

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

und dann:

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

und dann:

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

Diese Protokolldatei ist 45 MB groß und jede dieser Nachrichten wiederholt sich häufig, bevor die nächste erscheint.

Ich vermute, dass der „Segmentierungsfehler“ der Grund für alles andere ist, aber ich kann den Grund dafür nicht finden. Bevor dies passierte, gab es auf dem Pi keinen Monitor und keine Eingabegeräte.

Antwort1

Aus Ihrer Ausgabe geht klar hervor, dass die in den Speicher geladenen Daten nicht mit dem übereinstimmen,sollenvon Ihrem Medium kommen. Zum Beispiel:

ID=aPI2013q226,NTS

Dies zeigt mehrere Einzelbitfehler. Die anderen von Ihnen geposteten Protokolleinträge deuten ebenfalls darauf hin, dass die geladenen Programme auf ähnliche Weise beschädigt sind.

Überprüfen Sie, ob Ihre SD-Karte oder andere Medien defekt sind.

verwandte Informationen