Plantage Domoticz - received fatal Signal 6 ! - Statut Active (exited)

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
Répondre
benbidouille
Messages : 102
Inscription : 11 déc. 2017, 11:48

Plantage Domoticz - received fatal Signal 6 ! - Statut Active (exited)

Message par benbidouille »

Bonjour,

Juste pour partager avec vous quelques expériences de plantage de Domoticz inexpliquées.

Après recherche sur le forum, notamment Forum domoticz UK, nombre de nous semble subir ce genre de phénomène reporté depuis début 2017 avec un lien possible avec certaine version de domoticz, mais aucune solution ni explication ne semble se dégager des échanges que j'ai pu lire.

Version de domoticz Stable V3.8153 avec une installation réputée stable, pas de modification ni ajout de device dans domoticz récent.

3 fois de suite à quelques jours d'intervalle, plantage de domoticz, Domoticz apparait offline dans le web browser avec pour seul message dans domoticz.log le message d'erreur suivant:

Code : Tout sélectionner

2018-03-06 03:32:02.369  Error: Domoticz received fatal signal 6 !...
2018-03-06 03:32:02.370  Error:   /home/pi/domoticz/domoticz() [0x1cdc48]
2018-03-06 03:32:02.371  Error:   /home/pi/domoticz/domoticz(_Z14signal_handleri+0x58) [0x1cdd00]
2018-03-06 03:32:02.371  Error:   /lib/arm-linux-gnueabihf/libc.so.6(__default_sa_restorer+0) [0x76a806b0]
2018-03-06 03:32:02.371  Error:   /lib/arm-linux-gnueabihf/libc.so.6(gsignal+0xa0) [0x76a7f45c]
Aucun événement particulier corrélable avec l'heure de plantage, Le redémarrage de Domoticz s'opère sans aucun problème, aucune perte de donnée ni corruption de la base de donnée domoticz.db.

Lors du dernier plantage, pas d'erreur "Domoticz received fatal signal 6 !..." dans domoticz.log, en revanche le statut de domoticz est "active (exited)" et 'systemctl daemon-reload' a été nécessaire avant de pouvoir relancer domoticz.

Code : Tout sélectionner

● domoticz.service - LSB: Home Automation System
   Loaded: loaded (/etc/init.d/domoticz.sh; generated; vendor preset: enabled)
   Active: active (exited) since Tue 2018-03-06 07:42:48 CET; 11h ago
     Docs: man:systemd-sysv-generator(8)
  Process: 481 ExecStart=/etc/init.d/domoticz.sh start (code=exited, status=0/SUCCESS)
Alors que jusqu'alors mon domoticz opérait en loglevel 1, j'ai pour seule modification de l’ensemble du système configuré le log en loglevel 0 pour espérer plus d'info, mais aucun plantage subit depuis. Il est vrai seulement 3 jours d'écoulés .... A suivre donc

Une solution simple consiste à monitorer le domoticz status pour relancer automatiquement domoticz depuis un cron, mais j'aimerai agir sur la cause plutôt que d'automatiser une relance domoticz en aveugle et avec les risques que cela comporte.

Que signifie selon vous ces "Error: Domoticz received fatal signal 6 !..." et status "Active: active (exited)"

Quel enseignement tirer de ces messages d'erreurs liés au process domoticz, y a il d'autre Log système auquel il me faille aussi prêter attention ?
RPI3 + WDPiDrive + UPS Pico HV3.0B HAT + Teleinfo USB (6) + 1Wire GPIO + DS18B20 (15)+ Gateway MySensor NRF24, Sensors , Relais ... + Gateway Velux .... + Gestion Pompe à Chaleur + NRFDoctor .... tout en DIY
benbidouille
Messages : 102
Inscription : 11 déc. 2017, 11:48

Re: Plantage Domoticz - received fatal Signal 6 ! - Statut Active (exited)

Message par benbidouille »

Pas beaucoup de retour, est' ce a dire que je suis le seul à subir ce genre de plantage avec Domoticz V3.8153 ?

Bref, j'auto-alimente mon propre post avec l'historique de mes plantages, un peu plus de 1 fois par semaine à des heures multiples de minutes entières et même parfois 2 plantages dans la même journée sans aucune raison.
logHang.JPG
logHang.JPG (35.59 Kio) Consulté 8109 fois
Je dispose d'une petite dizaine de scripts bash et python exécutés depuis le crontab et susceptible d'être actifs à ces moment la.

Bien qu'aucun de ces scripts ne soient en conflit les uns avec les autres et qu'aucune corrélation ne soit établie avec un script plus qu'un autre dans les log, leur seul point commun est qu'ils utilisent tous l'interface JSON pour lire et écrire sur des devices différents dans la base SQL de domoticz.

M'est alors venu l'idée de différer et d'étager leur exécution tous les 5 secondes avec un sleep 5, 10, 15 ..... et depuis, le 14 Mars dernier, plus aucun plantage.

Je n'avais eu aucun plantage de la sorte pendant plusieurs semaines auparavant, alors combien de temps avant de pouvoir crier victoire ?
RPI3 + WDPiDrive + UPS Pico HV3.0B HAT + Teleinfo USB (6) + 1Wire GPIO + DS18B20 (15)+ Gateway MySensor NRF24, Sensors , Relais ... + Gateway Velux .... + Gestion Pompe à Chaleur + NRFDoctor .... tout en DIY
totof60
Messages : 373
Inscription : 29 avr. 2016, 09:31

Re: Plantage Domoticz - received fatal Signal 6 ! - Statut Active (exited)

Message par totof60 »

Bonjour

Pour ma part j'avais aussi des plantages de Domoticz.

J'ai donc créé un device de suivi de l'utilisation mémoire.
Cela m'a permis de découvrir que les plantages étaient du à un excès d'utilisation de mémoire.
Au delà de 80% il y avait plantage.

j'ai donc mis en place un reboot au delà de 75% et plus de problème!
Domoticz V2022.2
sous Buster, Homebridge,RfLink
Raspberry pi3, Google home mini
plein de truc wifi !! de l'esp-01 jusque le nodemcu en passant par le wemos et même du DIY
benbidouille
Messages : 102
Inscription : 11 déc. 2017, 11:48

Re: Plantage Domoticz - received fatal Signal 6 ! - Statut Active (exited)

Message par benbidouille »

totof60 a écrit :J'ai donc créé un device de suivi de l'utilisation mémoire.
Que veux tu dire par surveiller la mémoire ?

Le taux d'écriture sur la carte SD ?
Le pourcentage d'usage d'un tmpfs ?
le taux d'allocation de la RAM ?

A ce jours je ne me suis pas trop préoccupé de l'usage RAM, aucun de mes filesystem incluant les tmpfs ne dépasse 50%.
RPI3 + WDPiDrive + UPS Pico HV3.0B HAT + Teleinfo USB (6) + 1Wire GPIO + DS18B20 (15)+ Gateway MySensor NRF24, Sensors , Relais ... + Gateway Velux .... + Gestion Pompe à Chaleur + NRFDoctor .... tout en DIY
totof60
Messages : 373
Inscription : 29 avr. 2016, 09:31

Re: Plantage Domoticz - received fatal Signal 6 ! - Statut Active (exited)

Message par totof60 »

Dans Domoticz tu peux ajouter un matériel .

Materiel : motherboard sensor

Cela te permet de suivre la RAM , son usage
La température de ton raspberry
Domoticz V2022.2
sous Buster, Homebridge,RfLink
Raspberry pi3, Google home mini
plein de truc wifi !! de l'esp-01 jusque le nodemcu en passant par le wemos et même du DIY
benbidouille
Messages : 102
Inscription : 11 déc. 2017, 11:48

Re: Plantage Domoticz - received fatal Signal 6 ! - Statut Active (exited)

Message par benbidouille »

Merci,

Donc c'est sur la base du taux d'usage de la RAM que tu ordonne un reboot si au delà de 75%.

Même si j'ai déjà une purge quotidienne du /tmp monté en tmpfs, je suis curieux de voir comment se comporte effectivement l'usage de la RAM, merci encore.
Est' ce a dire que des process de domoticz ne libère pas la RAM utilisée jusqu'au plantage de domoticz ?

A quelle période ton system reboot il ?
RPI3 + WDPiDrive + UPS Pico HV3.0B HAT + Teleinfo USB (6) + 1Wire GPIO + DS18B20 (15)+ Gateway MySensor NRF24, Sensors , Relais ... + Gateway Velux .... + Gestion Pompe à Chaleur + NRFDoctor .... tout en DIY
totof60
Messages : 373
Inscription : 29 avr. 2016, 09:31

Re: Plantage Domoticz - received fatal Signal 6 ! - Statut Active (exited)

Message par totof60 »

J'avais des plantages réguliers.
J'ai donc mis en place un script avec l'aide du forum, le reboot se faisait environ tous les trois jours.

Par hasard j'ai mis à jour node-red et l'usage RAM est redevenu beaucoup plus calme.
J'en parle ici : viewtopic.php?f=10&t=4575&p=49828#p49828
Le script de surveillance de la RAM et reboot

Code : Tout sélectionner

--script_device_surv_memoire.lua


memoire = 'Utilisation Mémoire'

commandArray = {}

-- vérification des conditions --
if devicechanged[memoire] then

    -- Initialisation des variables --
   valeur = tonumber(otherdevices_svalues[memoire])
   
   -- vérification des conditions --
   if valeur >= 70 then

    -- Redémmarage --
    commandArray['OpenURL'] = 'IP:PORT/json.htm?type=command&param=system_reboot'
   end
end

return commandArray
Domoticz V2022.2
sous Buster, Homebridge,RfLink
Raspberry pi3, Google home mini
plein de truc wifi !! de l'esp-01 jusque le nodemcu en passant par le wemos et même du DIY
benbidouille
Messages : 102
Inscription : 11 déc. 2017, 11:48

Re: Plantage Domoticz - received fatal Signal 6 ! - Statut Active (exited)

Message par benbidouille »

Merci @totof60,

Je suis toujours en phase d'observations depuis le 14 Mars dernier et l’échelonnement dans le temps toutes les 5 secs de mes scripts exécutés depuis le cron:

Aucun plantage depuis, cela commence a ressembler à un lien de cause a effet :D et j'ai même supprimé la purge quotidienne du /tmp et retour au level 1 des log domoticz donc config d'origine.

Au passage mon taux d'usage mémoire implémenté depuis est en moyenne de 7% et au max de 9%, je n'ai pas cru bon d’implémenter un quelconque système de reboot, juste une alerte email au delà de 50%, Merci pour les infos.
RPI3 + WDPiDrive + UPS Pico HV3.0B HAT + Teleinfo USB (6) + 1Wire GPIO + DS18B20 (15)+ Gateway MySensor NRF24, Sensors , Relais ... + Gateway Velux .... + Gestion Pompe à Chaleur + NRFDoctor .... tout en DIY
totof60
Messages : 373
Inscription : 29 avr. 2016, 09:31

Re: Plantage Domoticz - received fatal Signal 6 ! - Statut Active (exited)

Message par totof60 »

M'est alors venu l'idée de différer et d'étager leur exécution tous les 5 secondes avec un sleep 5, 10, 15 ..... et depuis, le 14 Mars dernier, plus aucun plantage
tu peux préciser la méthode svp ?
Domoticz V2022.2
sous Buster, Homebridge,RfLink
Raspberry pi3, Google home mini
plein de truc wifi !! de l'esp-01 jusque le nodemcu en passant par le wemos et même du DIY
benbidouille
Messages : 102
Inscription : 11 déc. 2017, 11:48

Re: Plantage Domoticz - received fatal Signal 6 ! - Statut Active (exited)

Message par benbidouille »

la granularité du crontab étant la minute, losrqu'il y a un nombre important de scripts dans le crontab, tous s’exécutent simultanément en même temps dans les premières secondes et millisecondes décimales de la minutes entière qu'ils soient programmés toutes les heures, toutes les 5 minutes ou toutes les minutes c'est pareil.

Si l’exécution de chaque script est bien séquentielle donc pas de conflit d'accès à la base SQL de Domoticz par API JSON, en revanche le cumul d'accès à domoticz de tous ces scripts est à mon avis susceptible de créer des cas ou les accès seront simultanés et donc potentiellement conflits ou arbitrages d'accès de domoticz douteux. ( et si c'était le fameux Domoticz received fatal signal 6 !... )

Le temps d’exécution d'un script étant négligeable, 1 à 2 seconde max, j'ai donc étagé l’exécution chaque script toutes les 5 secondes au moyen d'un simple sleep 5 dans le premier script , sleep 10 dans le second etc ......

Depuis cette seule opération, je n'ai plus aucun plantage, mais je croise les doigts, j’attends encore d'avoir un peu plus de recul avant de crier victoire.

Cette méthode favorise aussi la consommation de mémoire, l'allocation de RAM, en lissant les usages dans le temps.
Un Raspbery + rasbian + domoticz bien que puissant à des limites et n'est assurément pas un système temps réel ;-)
RPI3 + WDPiDrive + UPS Pico HV3.0B HAT + Teleinfo USB (6) + 1Wire GPIO + DS18B20 (15)+ Gateway MySensor NRF24, Sensors , Relais ... + Gateway Velux .... + Gestion Pompe à Chaleur + NRFDoctor .... tout en DIY
Répondre