Code Monkey home page Code Monkey logo

Comments (26)

nicolargo avatar nicolargo commented on May 8, 2024

Merci pour la remonté de bug.

Je viens de publier la version 1?4b10, peux tu tester cette nouvelle version et voir si elle corrige ton problème ?

from glances.

claneys avatar claneys commented on May 8, 2024

Cela m'en a tout l'air, ça tourne sans soucis pour l'instant. Je réouvrirai un ticket, si je vois autre chose. Merci :).

from glances.

claneys avatar claneys commented on May 8, 2024

L'erreur est revenue mais après un certain temps de fonctionnement. Le contexte peut être, un mplayer qui crash ?!
J'ai installer la version 0.4.1 de psutil.
Je vois si cela fais de même ou tu préfères que je garde la 0.3.0 pour débogage ?

from glances.

nicolargo avatar nicolargo commented on May 8, 2024

Peux tu rester en version 0.3.0 pour PsUtil et récupérer la dernière version (beta 12) de Glances ?

from glances.

claneys avatar claneys commented on May 8, 2024

Je tente déjà de reproduire le bug avec la b10 peut être, non ?

En l'occurence, je n'ai pas encore réussi :/

from glances.

nicolargo avatar nicolargo commented on May 8, 2024

J'ai corrigé pas mal de truc entre la b10 et la b12, donc il vaut mieux faire un stress test sur cette dernière version :)

from glances.

claneys avatar claneys commented on May 8, 2024

ok ok

Quelle rapidité de réponse.

from glances.

claneys avatar claneys commented on May 8, 2024

La b12 à l'air de fonctionner, j'ai reproduis au mieux le contexte et glances n'a pas bronché. Cela dit la b10 avec ce même contexte recréé par mes soins non plus... Donc je suppute qu'il manque quelque chose mais je ne sais pas quoi.

En attendant, on peut dire que c'est clos.

from glances.

claneys avatar claneys commented on May 8, 2024

Problème reproduit, je n'ai pas pu isoler le déclencheur mais voilà l'erreur :

Traceback (most recent call last):
File "/usr/local/bin/glances.py", line 1389, in
main()
File "/usr/local/bin/glances.py", line 1369, in main
stats.update()
File "/usr/local/bin/glances.py", line 528, in update
self.update()
File "/usr/local/bin/glances.py", line 493, in update
self.processcount[str(proc.status)] = 1
File "/usr/lib64/python2.7/site-packages/psutil/init.py", line 200, in status
return self._platform_impl.get_process_status()
File "/usr/lib64/python2.7/site-packages/psutil/_pslinux.py", line 251, in wrapper
raise NoSuchProcess(self.pid, self._process_name)
psutil.error.NoSuchProcess: process no longer exists (pid=27989, name='cc1')

from glances.

claneys avatar claneys commented on May 8, 2024

J'en suis au 4ème plantage depuis la dernière fois. Il semble qu'une forte charge sur le CPU ne soit pas très apprécié par glances. A chaque fois, cela se produit durant une compil, ou lorsque je fais des choses qui surchargent le CPU. Enfin trois sur quatre c'était pendant une compil.
Très embêtant sur une gentoo :)

from glances.

nicolargo avatar nicolargo commented on May 8, 2024

Merci pour la précision, je vais essayer de reproduire le problème et étudier ta trace d'erreurs dès que possible.

from glances.

laurentb avatar laurentb commented on May 8, 2024

La source du problème me paraît simple, il essaie d'avoir des infos sur un processus qui n'existe plus.

Ça parait étonnant mais en fait, pas vraiment pendant une compilation (dans la backtrace on voit qu'il s'agit de cc1) : y a un paquet de cc1 qui sont ouverts à la chaîne par make.
En fait, le cc1 a été fermé entre le temps où la liste des processus a été faite et le temps de demander plus d'info à son propos.

from glances.

laurentb avatar laurentb commented on May 8, 2024

Je viens juste de lire le code, et je pense que le if (proc.is_running()):
n'est pas une bonne méthode. En effet, même si il est plus proche que le
moment où on liste les processus, ça n'exclut pas sa disparition juste après
le if.

Donc on pourrait plutôt le remplacer par :

try: # ancien if (proc.is_running()):
    blabla
except psutil.error.NoSuchProcess: # ancien else:
    truc

Par contre il y a des except qui ne précisent pas l'exception qu'ils
attrapent, c'est assez dangereux et ça m'a empêché de bien comprendre
le code :)

Et je ne suis pas sûr que le comptage soit toujours bon avec ma méthode.

from glances.

nicolargo avatar nicolargo commented on May 8, 2024

La version 1.4b14 que je viens de commiter devrait résoudre le problème.

Claneys, peux tu tester ?

PS: Laurent, merci pour la piste :)

from glances.

claneys avatar claneys commented on May 8, 2024

Ok, test en cours.Cependant, j'ai noté que l'installation de glances avec le setup.py a eu pour effet d'installer la dernière version de psutil. Du coup je ne suis plus en accord avec mon gestionnaire de paquet qui croit toujours être en 0.3.0. Bon ça c'est pas trop grave, mais est-ce évitable?
Essayer de l'installer par le gestionnaire de paquet de la distri serait un plus. Après j'imagine que c'est pas évident avec toutes les distrib et mais est ce possible de poser la question ? ou tenter un détection de la distro et install par son gestionnaire de paquets. Au moins pour les principales peut être?

from glances.

claneys avatar claneys commented on May 8, 2024

Toujours pareil :
Traceback (most recent call last):
File "/usr/bin/glances", line 9, in
load_entry_point('Glances==1.4b', 'console_scripts', 'glances')()
File "/usr/lib64/python2.7/site-packages/Glances-1.4b-py2.7.egg/glances/glances.py", line 1537, in main stats.update()
File "/usr/lib64/python2.7/site-packages/Glances-1.4b-py2.7.egg/glances/glances.py", line 542, in update
self.update()
File "/usr/lib64/python2.7/site-packages/Glances-1.4b-py2.7.egg/glances/glances.py", line 512, in update self.processcount[str(proc.status)] = 1
File "/usr/lib64/python2.7/site-packages/psutil-0.4.1-py2.7-linux-x86_64.egg/psutil/init.py", line 193, in status
return self._platform_impl.get_process_status()
File "/usr/lib64/python2.7/site-packages/psutil-0.4.1-py2.7-linux-x86_64.egg/psutil/_pslinux.py", line 327, in wrapper
raise NoSuchProcess(self.pid, self._process_name)
psutil.error.NoSuchProcess: process no longer exists (pid=3573, name='sudo')

Là, un simple sudo et j'arrive à reproduire l'erreur très simplement :

  • Lancement d'une commande préfixée avec sudo -> erreur

Peu importe, que la commande soit lourde ou non. Il me fait la même erreur avec le process "(pid=4097, name='btrfs-endio-met')" ou flush-btrfs-6. Enfin il tombe régulièrement lorsqu'un process disparaît. Un simple arrêt 'watch ls' provoque l'erreur.

Je vois pas que sortir d'autre si tu as besoin de quelques chose, je suis à dispo.

from glances.

laurentb avatar laurentb commented on May 8, 2024

Il me semble que le setup.py installe dans /usr/local par défaut, du coup je pense pas que tu aie la bonne version de glances lancée (surtout si il arrive pas à attraper psutil.error.NoSuchProcess, c'est doublement louche).

Mon conseil : nettoyer tout ça et utiliser mon package gentoo git ;-)

Ajouter dans /etc/portage/package.accept_keywords:

=sys-process/glances-9999 **
dev-python/psutil

Ensuite :

layman -a laurentb
emerge -av glances

from glances.

nicolargo avatar nicolargo commented on May 8, 2024

D'accord avec Laurent, je pense que tu ne testes pas la bonne version de Glances:

File "/usr/bin/glances", line 9, in

Pour tester cette version, je ne conseille pas de passer par l'installeur mais en suivante la procédure que j'avais données dans ce billet: http://blog.nicolargo.com/2012/02/cherche-beta-testeurs-pour-glances-1-4.html

A+

from glances.

claneys avatar claneys commented on May 8, 2024

La version qui s'affiche est bien la 1.4b14. Je viens de re-re-vérifier

from glances.

laurentb avatar laurentb commented on May 8, 2024

Ah mais en fait, self.processcount[str(proc.status)] += 1 est en dehors du try/except NoSuchProcess

Donc normal, le problème est toujours là

from glances.

nicolargo avatar nicolargo commented on May 8, 2024

J'ai modifié la boucle pour prendre en compte ce cas => Dispo dans la release 1.4b15

from glances.

nicolargo avatar nicolargo commented on May 8, 2024

Le test est il concluant ?

from glances.

claneys avatar claneys commented on May 8, 2024

Pour l'instant, oui. J'attendais un peu plus longtemps avant de me prononcer pour éviter de rouvrir le ticket. J'ai fait peu de mise à jour ces derniers jours.

from glances.

nicolargo avatar nicolargo commented on May 8, 2024

Ok, je laisse le ticket ouvert encore un peu :)

from glances.

claneys avatar claneys commented on May 8, 2024

Bon après quelques mise à jour et jours d'utilisation, la b15 a résisté.
C'est la bonne!
Une petite remarque, je trouve que glances consomme tout de même pas mal de ressources :/ 6-7% sur un dual core. Rédhibitoire pour une utilisation en prod en l'état. Sinon, niquel pour avoir l'état global d'une machine.

from glances.

nicolargo avatar nicolargo commented on May 8, 2024

En fait la version bêta à un taux de rafraîchissement deux fois plus important que la version stable. Si tu passes le paramètre -t 2 (ou plus), tu devrais avoir une baisse de la conso CPU. Dans la bêta 16, la valeur du time out passe à 2 secondes.

from glances.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.