IPS stürzt ab

Hallo,

ich habe auch seit einigen Wochen schon das Problem das meine IPS auch nicht mehr Stabil läuft.
Der Symcon Services fliegt zu unterschiedlichen Zeiten einfach raus.
Am Wochenende habe ich jetzt ein frisches Raspian auf einem neuen Pi3 aufgesetzt und hier IPS neu installiert mit meinem backUP.
Das Problem ist aber leider das gleiche. :frowning:

IPS und Raspian sind also aktuell.
Module verwende ich diese hier:

…wollte jetzt ungern welche abschalteten sonst bekomme ich noch Streß mit der Regierung daheim… :slight_smile:
Falls man den Fehler aber so nicht findet, kann dies aber auch gerne gemacht werden.

Erster Verdacht:
In meinen Pi logfiles habe ich gestern das hier gefunden: (auth.log)


Mar  5 12:05:30 Symcon sudo:     root : TTY=unknown ; PWD=/var/lib/symcon/scripts ; USER=root ; COMMAND=/bin/date

Dort hatte ich in einem Script diesen hier verwendet:


$time = exec("date");

Habe es jetzt hier zu geändert:


$time_2 = date("D d.m.20y H:i:s");

…und diese Meldung kam nicht mehr, diese Nacht.

Diese Zeile:


Mar  5 11:54:33 Symcon sshd[10386]: Accepted password for pi from 127.0.0.1 port 48208 ssh2

…war das GPIO Modul, welches auch jetzt erstmal abgeschaltet ist.
#---------------

Zweiter verdacht:
Diese Nacht [06.03. - ca. 00:30 Uhr] ist IPS nach der Abfrage meiner Kalender hängen geblieben.
Im (daemon.log) habe ich das gefunden:


Mar  6 00:24:52 Symcon symcon[313]: *** Error in `/usr/bin/symcon': double free or corruption (out): 0x03310630 ***

Und kurz davor lief halt die Kalenderabfrage:
Termine von Exchange und WebDav per PHP in IPS
…komisch ist das es über mehrere Stunden Problemlos lief und die Abfrage auch druch/fertig war.
Es war halt nur das letzte was IPS diesmal gemacht hatte.
Auch habe ich mal den Baikal Dienst beendet auf dem NAS und die Abfrage gestartet,
um zu sehen ob es sich aufhängt wenn der Server nicht erreichbar ist, auch hier stürtze IPS nicht ab.
…habe die automatische Abfrage alle Stunde aber jetzt mal trotzdem rausgenommen.
#---------------

Jetzt stürtze IPS sogar ab während des Verfassens dieser Nachricht. :frowning:
…ohne das die Kalenderabfrage lief.

Ein andere Absturz war z.B. am 05.03. - ca. 02:00 Uhr]
Das erweiterte loggen habe ich am 05.03. aktiviert.

Wenn es noch irgendwo ein LOG gibt welches ich erstellen oder raussuchen soll ist das kein Problem.

Das hier läuft auch gerade, nur kann es sein das mein IPS etwas länger braucht bis zum nächsten Absturz:
Debugging für Experten (Raspberry Pi, Linux)

PS: wo kann ich den am besten meine LOGs hochladen, die sind zu groß hierfür. Oder kann soll ich diese schneiden bis unmittelbar vor Absturz? …würde sie auch eher lieber einem per eMail senden, der sich meiner annimmt, als irgendwo hochzuladen.

MfG.
Daniel

Du kannst diese gerne an office@symcon.de senden - meistens helfen die Logfiles beim Abstürz weniger.

Hattest du unter Windows evtl einen Minidump Ordner? Sind da Dateien drin?
Hast du ein WebFront dauerhaft auf einem Panel offen mit Graphen?

paresy

Hattest du unter Windows evtl einen Minidump Ordner? Sind da Dateien drin?

Ich habe IPS seit jeher auf einem RasPi laufen, soll ich das mal umstellen? …nur müsste ich dann meinen PC mal durchlaufen lassen.

Hast du ein WebFront dauerhaft auf einem Panel offen mit Graphen?

Nur zu Bestimmten Zeiten. Zur Zeit von 04:30 bis 06:45 Uhr & 15:30 - 22:15 Uhr. In den anderen Zeiten ist das Android Tablet zwar an/verbunden aber es geht in den Standby, Bildschirm aus, kann also sein das vll. aber noch eine Verbindung in irgendeiner Form besteht.

Vll. sind Scripte dieser Art ja die Übeltäter:


<?

$status = exec("ssh 192.168.178.35 /etc/init.d/homebridge status");
$time = exec("date");
$time_cut = substr($time, -0,19); 

SetValue(24359 /*[Infos Symcon\Homebridge / Siri Status\Status]*/, $status); 
SetValue(53117 /*[Infos Symcon\Homebridge / Siri Status\Refresh]*/, $time_cut);
SetValue(20748 /*[Infos Symcon\Homebridge / Siri Status\Aktionen]*/, 0 );

IPS_Sleep(1000);

if ($status == "Stopped")
	{
	exec("ssh 192.168.178.35 /etc/init.d/homebridge start");
	IPS_RunScript(59051 /*[Infos Symcon\Homebridge / Siri Status\Aktionen\Refresh]*/);
	IPS_RunScript(19677 /*[EMA - Benachrichtigungen - Alamierung\Info Homebridge Restart]*/);
	}

?>

…so in der Form habe ich noch ein paar weitere für z.B. meine Squezzebox Services zu starten/stopen… könnten die mein Problem sein?

Noch was am Rande - wollte jetzt aus:


$time = exec("date");

wie oben:


$time = date("D d.m.20y H:i:s");

machen, nur bekomme ich beim exec die Antwort auf Deutsch und beim date auf English.


Tue 06.03.2018 11:25:08
Di 6. Mär 11:25:08 CET 2018

…wie bekomme ich jetzt date auch auf Deutsch? :rolleyes:

Hab den Fehler auch. Allerdings auf einem nichtproduktiven System (raspi strech und IPS 4.4).
Da ist nur das Modul GPIO drauf, derzeit hängen nicht mal irgendwelche Sensoren dran, da läuft auch kein script.
Komischerweise ist das GPIO-Modul auch nicht mehr im Verzeichnisbaum sichtbar/konfigurierbar obwohl installiert.

Was auf diesem raspi drauf ist, im Gegensatz zu zwei anderen, ist die maria-db, aber auch nur zum Test.

Laut Logfiles beendet sich IPS sehr oft um 10:06 Uhr.

Huhu - grad kam der erste Absturz:


06.03.2018 14:33:24 | 00000 | DiscoveryServer | Sende SSDP Antwort für Schnittstelle 192.168.178.37 nach 192.168.178.61:9992
06.03.2018 14:33:25 | 00000 | DiscoveryServer | Sende SSDP Antwort für Schnittstelle 192.168.178.37 nach 192.168.178.61:9992
06.03.2018 14:33:25 | 00000 | DiscoveryServer | Sende SSDP Antwort für Schnittstelle 192.168.178.37 nach 192.168.178.61:9992
[New Thread 0x3e4ff430 (LWP 3026)]
06.03.2018 14:33:25 | 00000 | ScriptEngine | Skriptausführung (Text) - Länge: 41 ~ Absender: TimerEvent
06.03.2018 14:33:25 | 00000 | ScriptEngine | Skriptausführung (Text) - Länge: 799 ~ Absender: RunScript
*** Error in `/usr/bin/symcon': corrupted double-linked list: 0x560eb910 ***

Thread 46 "symcon" received signal SIGABRT, Aborted.
[Switching to Thread 0x5d5ff430 (LWP 29083)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51      ../sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden.
(gdb) Quit
(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) n
Program not restarted.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x765ec824 in __GI_abort () at abort.c:89
#2  0x76625f78 in __libc_message (do_abort=do_abort@entry=2, fmt=&lt;optimized out&gt;) at ../sysdeps/posix/libc_fatal.c:175
#3  0x7662cad4 in malloc_printerr (action=&lt;optimized out&gt;, str=0x766defb4 "corrupted double-linked list", ptr=&lt;optimized out&gt;, ar_ptr=&lt;optimized out&gt;) at malloc.c:5049
#4  0x7662f564 in _int_malloc (av=av@entry=0x67100010, bytes=bytes@entry=148) at malloc.c:3765
#5  0x76631370 in __GI___libc_malloc (bytes=148) at malloc.c:2928
#6  0x00b4bf20 in __zend_malloc (len=148) at /home/php-5.6.32/Zend/zend_alloc.h:97
#7  _zend_hash_quick_add_or_update (ht=ht@entry=0x569c40e8, arKey=0x4d32b090 "tmex_getf20porttype", nKeyLength=20, h=3738047729, pData=0x560cc468, nDataSize=nDataSize@entry=148, pDest=pDest@entry=0x0, flag=flag@entry=2)
    at /home/php-5.6.32/Zend/zend_hash.c:355
#8  0x00b20b7c in do_bind_function (op_array=&lt;optimized out&gt;, opline=&lt;optimized out&gt;, function_table=0x569c40e8, compile_time=compile_time@entry=0 '\000') at /home/php-5.6.32/Zend/zend_compile.c:4605
#9  0x00b80fac in ZEND_DECLARE_FUNCTION_SPEC_HANDLER (execute_data=0x5698a370, tsrm_ls=&lt;optimized out&gt;) at /home/php-5.6.32/Zend/zend_vm_execute.h:1097
#10 0x00b73c40 in execute_ex (execute_data=0x5698a370, tsrm_ls=0x56954398) at /home/php-5.6.32/Zend/zend_vm_execute.h:363
#11 0x00b4056c in zend_execute_scripts (type=11372480, type@entry=8, tsrm_ls=tsrm_ls@entry=0x56954398, retval=0x8, file_count=3) at /home/php-5.6.32/Zend/zend.c:1341
#12 0x00add2a0 in php_execute_script (primary_file=0x5d5fedc8, tsrm_ls=0x56954398) at /home/php-5.6.32/main/main.c:2613
#13 0x0097da34 in IPSScriptEngine::RunScriptThread(IPSScriptThreadEx&) ()
#14 0x767c89dc in ?? () from /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
#15 0x76f7ffc4 in start_thread (arg=0x5d5ff430) at pthread_create.c:335
#16 0x76690c68 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76 from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)

…nochmal starten/laufen lassen? …oder die IPS aus lassen?

Am besten noch einmal laufen lassen. Das wirkt wie ein Absturz innerhalb von PHP :confused:

paresy

Hast du das im Einsatz?
Wolf SmartSet-Modul (ISM7)
Eventuell deine Ursache.
Michael

Moin,
ich habe auch seit einigen Tage das Problem mit dem Absturz.
( Ubuntu 16.04.4.LTS)
Wie kann ich das am besten einkreisen wo das Problem liegt?

Schon mal Danke für die Info.

Huhu - hier die Nummer 2.


06.03.2018 16:09:16 | 50715 | VariableManager | [Pilight\stecker_27_01 - Lampe Kugel klein Fenster\Lampe Kugel klein Fenster] = false
06.03.2018 16:09:16 | 00000 | ScriptEngine | Executed Text (Length: 0) ~ Sender: RunScript ~ Duration: 154 ms
06.03.2018 16:09:16 | 00000 | ScriptEngine | Skriptausführung (Text) - Länge: 799 ~ Absender: RunScript
*** Error in `/usr/bin/symcon': malloc(): smallbin double linked list corrupted: 0x44ccd380 ***

Thread 24 "symcon" received signal SIGABRT, Aborted.
[Switching to Thread 0x68bff430 (LWP 3379)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51      ../sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x765ec824 in __GI_abort () at abort.c:89
#2  0x76625f78 in __libc_message (do_abort=do_abort@entry=2, fmt=&lt;optimized out&gt;) at ../sysdeps/posix/libc_fatal.c:175
#3  0x7662cad4 in malloc_printerr (action=&lt;optimized out&gt;, str=0x766df444 "malloc(): smallbin double linked list corrupted", ptr=&lt;optimized out&gt;, ar_ptr=&lt;optimized out&gt;) at malloc.c:5049
#4  0x7662f308 in _int_malloc (av=av@entry=0x72600010, bytes=bytes@entry=32) at malloc.c:3424
#5  0x76631370 in __GI___libc_malloc (bytes=32) at malloc.c:2928
#6  0x00b4bf20 in __zend_malloc (len=32) at /home/php-5.6.32/Zend/zend_alloc.h:97
#7  _zend_hash_quick_add_or_update (ht=0x57aea3f8, arKey=arKey@entry=0x44e4e478 "__ROOT__", nKeyLength=9, h=h@entry=1055701253, pData=pData@entry=0x68bfbe18, nDataSize=nDataSize@entry=32, pDest=pDest@entry=0x0, flag=flag@entry=2)
    at /home/php-5.6.32/Zend/zend_hash.c:355
#8  0x00b2de80 in zend_register_constant (c=c@entry=0x68bfbe18, tsrm_ls=0x57a0f0c0, tsrm_ls@entry=0xbec7c0 &lt;zend_do_fcall_common_helper_SPEC+3252&gt;) at /home/php-5.6.32/Zend/zend_constants.c:503
#9  0x00b52560 in zif_define (ht=ht@entry=11850232, return_value=0x3f219ee0, return_value_ptr=&lt;optimized out&gt;, this_ptr=&lt;optimized out&gt;, return_value_used=0, tsrm_ls=tsrm_ls@entry=0x57a0f0c0)
    at /home/php-5.6.32/Zend/zend_builtin_functions.c:718
#10 0x00bec7c0 in zend_do_fcall_common_helper_SPEC (execute_data=&lt;optimized out&gt;, tsrm_ls=0x57a0f0c0) at /home/php-5.6.32/Zend/zend_vm_execute.h:558
#11 0x00b73c40 in execute_ex (execute_data=0x57a3fd90, tsrm_ls=0x57a0f0c0) at /home/php-5.6.32/Zend/zend_vm_execute.h:363
#12 0x00b4056c in zend_execute_scripts (type=11372480, type@entry=8, tsrm_ls=tsrm_ls@entry=0x57a0f0c0, retval=0x8, file_count=3) at /home/php-5.6.32/Zend/zend.c:1341
#13 0x00add2a0 in php_execute_script (primary_file=0x68bfedc8, tsrm_ls=0x57a0f0c0) at /home/php-5.6.32/main/main.c:2613
#14 0x0097da34 in IPSScriptEngine::RunScriptThread(IPSScriptThreadEx&) ()
#15 0x767c89dc in ?? () from /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
#16 0x76f7ffc4 in start_thread (arg=0x68bff430) at pthread_create.c:335
#17 0x76690c68 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76 from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)

…nein das habe ich nicht im Einsatz. :frowning:

…was ich vergaß zu sagen, eine Teamviewer Sitzung wäre kein Problem.

Hast du irgendwas an SOAP Requests am laufen? Oder SNMP?

paresy

…bei SOAP bin ich mir nicht ganz sicher, ich glaube aber nicht. SNMP habe ich das „neue“ Modul laufen was vor kurzem erst geschrieben wurde. Die Abstürze hatte ich aber schon vorher, auch ohne Modul.

Hab es mal abgeschaltet.

Ursache scheint ja irgendwie ein Modul zu sein, was beim TimerEvent das ganze PHP zum Absturz bringt.
Eventuell diese Timer einzeln deaktivieren bis es nicht mehr abstürzt.
@Paresy
Kannst du in Zukunft im Log nicht beim Absender: TimerEvent nicht etwas mehr Infos ausgeben? Also Name vom Timer und InstanzId.
Michael

Hat das hier was mit SOAP am Hut? :confused::rolleyes:
https://github.com/qwikser/SymconFritzbox
…das hatte ich mal via Google gefunden und etwas angepasst für 3 WLAN Netze zu schalten.

…das bekomme ich nur leider nicht abgeschaltet - ich müsste es gänzlich löschen. :frowning: - Genauso wie das SNMP Modul :frowning:

EDIT: Habe ein backUP gemacht und nur das Modul gelöscht, nach Info von Nall-Chan. :wink:

Hallo - jetzt ist es wieder hängen geblieben. Kann es sein das das Logging immer nur eine gewisse Zeit laufen kann und das jetzt in Wirklichkeit gar nicht abgestürzt ist?


06.03.2018 23:00:31 | 35738 | VariableManager | [Wago\MKs\MW17_linie_bad_status\Value] = 2
06.03.2018 23:00:31 | 21129 | ScriptEngine | Executed Event 39058 ~ Sender: TimerEvent ~ Duration: 1362 ms
06.03.2018 23:00:32 | 00000 | ScriptEngine | Skriptausführung (Text) - Länge: 51 ~ Absender: TimerEvent
06.03.2018 23:00:32 | 20655 | VariableManager | [kodi\Wohnen\Kodi Video Player\Spielzeit] = 1:16:25
06.03.2018 23:00:32 | 00000 | ScriptEngine | Executed Text (Length: 0) ~ Sender: TimerEvent ~ Duration: 212 ms
06.03.2018 23:00:32 | 00000 | ScriptEngine | Skriptausführung (Text) - Länge: 277 ~ Absender: RunScript
06.03.2018 23:00:32 | 28720 | VariableManager | [IPS2GPIO_IO Splitter\Letztes Keep Alive] = 1520373632
06.03.2018 23:00:32 | 00000 | ScriptEngine | Executed Text (Length: 0) ~ Sender: RunScript ~ Duration: 192 ms
06.03.2018 23:00:34 | 00000 | ScriptEngine | Skriptausführung (Text) - Länge: 51 ~ Absender: TimerEvent
Speicherzugriffsfehler
pi@Symcon:~ $

EDIT: Habe IPS jetzt nochmal normal gestartet.

Huhu - Über Nacht ist IPS wieder hängen geblieben. Anhand der Temp. Kurve so ggn halb 2.


So war es dann heute morgen:

Hab Ihn jetzt mal Stromlos gemacht und wieder im debugging laufen. :frowning:

Module sind jetzt noch diese drin:

EDIT: Das Display beim Eingang ist jetzt auch aus.

Hallo - ich mal wieder…


07.03.2018 12:00:33 | 00000 | ScriptEngine | Executed Text (Length: 0) ~ Sender: RunScript ~ Duration: 225 ms
07.03.2018 12:00:33 | 00000 | ScriptEngine | Skriptausführung (Text) - Länge: 1429 ~ Absender: RunScript
*** Error in `/usr/bin/symcon': malloc(): smallbin double linked list corrupted: 0x560a1548 ***

Thread 4 "symcon" received signal SIGABRT, Aborted.
[Switching to Thread 0x72f35430 (LWP 1623)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51      ../sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x765ec824 in __GI_abort () at abort.c:89
#2  0x76625f78 in __libc_message (do_abort=do_abort@entry=2, fmt=&lt;optimized out&gt;)
    at ../sysdeps/posix/libc_fatal.c:175
#3  0x7662cad4 in malloc_printerr (action=&lt;optimized out&gt;,
    str=0x766df444 "malloc(): smallbin double linked list corrupted", ptr=&lt;optimized out&gt;, ar_ptr=&lt;optimized out&gt;)
    at malloc.c:5049
#4  0x7662f308 in _int_malloc (av=av@entry=0x72600010, bytes=bytes@entry=12) at malloc.c:3424
#5  0x76631370 in __GI___libc_malloc (bytes=12) at malloc.c:2928
#6  0x00b180bc in zend_strndup (s=0x7261c440 "OM_REGISTER", length=11) at /home/php-5.6.32/Zend/zend_alloc.c:2680
#7  0x00b52534 in zif_define (ht=ht@entry=11850232, return_value=0x3ff29fb8, return_value_ptr=&lt;optimized out&gt;,
    this_ptr=&lt;optimized out&gt;, return_value_used=0, tsrm_ls=tsrm_ls@entry=0x72600470)
    at /home/php-5.6.32/Zend/zend_builtin_functions.c:712
#8  0x00bec7c0 in zend_do_fcall_common_helper_SPEC (execute_data=&lt;optimized out&gt;, tsrm_ls=0x72600470)
    at /home/php-5.6.32/Zend/zend_vm_execute.h:558
#9  0x00b73c40 in execute_ex (execute_data=0x726044e0, tsrm_ls=0x72600470)
    at /home/php-5.6.32/Zend/zend_vm_execute.h:363
#10 0x00b4056c in zend_execute_scripts (type=11372480, type@entry=8, tsrm_ls=tsrm_ls@entry=0x72600470, retval=0x8,
    file_count=3) at /home/php-5.6.32/Zend/zend.c:1341
#11 0x00add2a0 in php_execute_script (primary_file=0x72f34dc8, tsrm_ls=0x72600470)
    at /home/php-5.6.32/main/main.c:2613
#12 0x0097da34 in IPSScriptEngine::RunScriptThread(IPSScriptThreadEx&) ()
#13 0x767c89dc in ?? () from /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
#14 0x76f7ffc4 in start_thread (arg=0x72f35430) at pthread_create.c:335
#15 0x76690c68 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76 from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)

Hatte sogar zufällig die Konsole offen:


…ich schalte jetzt mal noch das Squezzebox Modul aus.

EDIT: Habe grade das Modul aus der Control gelöscht. Warum steht unter I/O Instanzen der Logitech Media Server nicht in rot wie bei den restlichen Squezzebox Elementen? …anbei auch im Bild der „modules“ Ordner.

Weil der IO von IPS ist :slight_smile:
Die Fehlermeldung vom meinem Modul interessiert mich schon, was würde in der Playlist angeklickt, dass Index 0 mit found kommt? Hast du von dem Modul die Beta genutzt?
Wobei ich ja eher den letzten Eintrag mit dem GPIO2IPS als Ursache vermute.
Michael