
私は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 が動作しています。別の LAN デバイスからデータを読み取り、MySQL DB に記録して、リモート サーバーに送信します。MySQL テーブル内の行は、サーバーに正常に送信された場合のみ、書き込まれてから 7 日後に削除されます。
起動時に、サービスはloop_send.sh
10 秒ごとに PHP スクリプトを呼び出すファイルを開始します。
#!/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 に新しいレコードがあるかどうかを確認し、それらをリモート サーバーに送信します。
同様のサービスとして、LAN からデータを読み取り、MySQL テーブルに書き込むための .sh ファイルと PHP ファイルがあります。
これは 2016 年 6 月から正常に動作していました。8 月 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 MB で、これらのメッセージはすべて次のメッセージの前に何度も繰り返されます。
「セグメンテーション違反」が他のすべての原因であると思われますが、その理由がわかりません。この問題が発生する前は、Pi にモニターと入力デバイスはありませんでした。
答え1
出力から、メモリにロードされているデータが、すべきメディアから消え去ることがあります。例えば:
ID=aPI2013q226,NTS
これは複数のシングルビット エラーを示しています。投稿した他のログ エントリからも、ロードされているプログラムも同様に破損していることが示唆されています。
SD カードまたはその他のメディアに障害がないことを確認してください。