Aller au contenu

Nas Se Bloque, Freeze, Ne R


Messages recommandés

Salut,

Voilà le symptôme de mon DS212 : il plante, freeze, se bloque...

L'assistant Syno sur le PC ne voit plus le NAS sur le réseau, les LED en façade sont allumées comme d'habitude, l'interface web d'admin est injoignable ni même les pages web hébergées par le NAS, et les partages réseau sont innaccessible depuis un PC. La connexion en ssh est impossible et les lecteurs dlna ne voit plus le serveur multimedia. Une seule commande se comporte bien : le ping depuis mon PC.

Seule solution pour remettre le NAS dans un état normal : le débrancher/rebrancher électriquement. Moi qui voulait investir dans un onduleur suite à de récente coupure de courant, c'est un comble...

Comment j'en suis arrivé là et les pistes suivies sans succès pour l'instant.

Je me suis lancé dans l'installation d'un périphérique USB permettant de récupéré le signal de la téléinformation de mon compteur EDF.

Pour ça j'ai du compiler les drivers qui allaient bien et ça fonctionne (voir les discussions dans ce même salon de discussions). Un cat sur le fichier ttyUSB0 permet de voir les informations défiler dans le fichier.

Je me suis donc lancé dans l'étape suivante automatiser la lecture des trames et les stocker dans une base MySQL. C'est lors de la mise en place du script que le symptome est apparu et j'ai commencé à décortiquer le problème sans succès.

J'utilise un script php trouvé sur un autre forum qui permet de lire les trames dans le fichier ttyUSB0. Pour faire simple, et mettre de côté les problèmes liées à l'enregistrement en base et les problèmes à l'automatisation via la crontab, j'ai simplement utilisé une page php de test qui se contente d'appeller la librairie trouver sur le net et le résultat est affiché à l'écran dans le navigateur.

Le script fonctionne, les info apparaissent. MAIS, si je fais F5 pour recharger la page (et donc voir évoluer les chiffres affichés), que j'attends la fin du chargement et que je refait F5, ceci plusieurs fois, le NAS finit par planter. Ce n'est jamais après le même nombre de rafraichissement. Je n'ai pas trouvé de règle.

J'ai donc modifier le code trouvé sur le net pour ajouter des log avec la méthode error_log. Les messages apparaissent dans la log quand tout se passe bien, mais aucun message n'apparait quand ça plante. Pourtant le premier message a été placé au début du code.

Donc pourquoi je ne vois pas ces logs ?

Je me suis donc décidé à activer les log apache en espérant y voir plus clair. J'ai suivi le tuto de ce forum, j'ai répété ma procédure de test jusqu'au freeze, reboot violent en débranchant électriquement, contrôle des logs et là, rien d'anormal. Je précise que les log sont en modes debug et il n'y a aucune anomalie d'indiquée.

Je ne sais plus où chercher. dans /var/log/messages il n'y a rien d'anormal non plus.

Quelqu'un aurait il une idée ou une piste à suivre ?

Pour ceux que ça intéresse, le code php vient d'ici : http://www.touteladomotique.com/index.php?option=com_content&view=article&id=173:mise-en-place-dun-modem-teleinfo-sur-un-compteur-ejp&catid=5:domotique&Itemid=14

Le script est ancien, et pas mal utilisé. Quand j'avais automatisé la mesure toutes les 5min avec enregistrement en base de données, ça plantait au bout d'1,5 jours. Mais manuellement j'arrive à faire planter le NAS en quelques minutes.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Je ne vois pas pourquoi le php ne serait pas adapté à ça. Après tout c'est un langage comme un autre, surtout qu'on peut utiliser php en standalone. Si je ne trouve pas de solution je serai bien obligé de passer à autre chose de toute façon :/

J'ai refait un test ce matin. J'ai ajouté un error_log juste après la balise <body> de mon fichier "index.php". Et là, lorsque ça plante, je constate que même cette log n'apparait pas dans le fichier de log. Pourtant je pensais que le serveur php interprétais les instructions les unes après les autres, en affichant les résultats au fur et à mesure. Là rien, même une simple écriture de log ne fonctionne pas. Du coup je penche plutôt pour un problème de stabilité/configuration du serveur php.

Qu'en pensez vous ?

Lien vers le commentaire
Partager sur d’autres sites

Je suis passé sur la solution en C décrite sur un autre poste.

Je vais maintenant faire des tests en php pour essayer decomprendre pourquoi mon NAS plante avec ce script car je doute que ce soit lié au script : depuis mon dernier message j'ai surveillé la consommation de RAM qui reste normal, et j'ai fini par constater un plantage dans une simple boucle parcourant un tableau (au 3° ou 4° élément du tableau). En résumé, c'est plutôt irrationnel et je penche vers un soucis de configuration de PHP ou d'une instabilité liée à une instruction en particulier.

Lien vers le commentaire
Partager sur d’autres sites

Le problème ne vient pas tant du PHP qui n'est qu'un langage comme un autre .....

Je dis simplement que c'est implanté pour servir des page Web et que l'implantation de l'accès au buffer série n'est qu'anecdotique je n'ai pas trop regarder comment c fait mais c surement pas très propre, quantité de langage dispose de tt un tas de jolies instructions pour manipuler ce genre de chose ... sans compter que ce n'est pas très propre dans le sens ou tu est obligé d'attendre la prochaine trame valide avant de pouvoir servir ta page ce qui fait "lagger" ton serveur.

L'usage dans ce genre de solution c'est d'utiliser un daemon qui log en permanence les données du port série et publie à la demande ou sur pas de temps les données dans une BDD ...

Lien vers le commentaire
Partager sur d’autres sites

ça plante même sans l'enregistrement dans la base MySQL. J'ai épuré le script au maximum, maintenant il se contente de lire la trame, et d'afficher le contenu dans le navigateur, et le comportement n'a pas changé.

Je n'ai pas repris les tests vis à vis du serveur php car ayant mis en place une solution différente samedi matin, je la laisse tourner pour vérifier sa stabilité. La bonne nouvelle, c'est qu'elle a déjà tourné quelques heures de plus que l'ancienne solution. Dans une semaine, si c'est stable, je reprendrai les tests sur le serveur php.

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.