IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Déploiement/Installation Python Discussion :

core dump sur pg Hello world en 64 bits


Sujet :

Déploiement/Installation Python

  1. #1
    Membre averti Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Points : 407
    Points
    407
    Par défaut core dump sur pg Hello world en 64 bits
    Bonjour,
    J'ai installé python, gtk et les dépendances sur une machine RHEL6.3 en 64 bits, j'ai a priori toutes les librairies (je compare avec une machine 32 bits où j'avais la même configuration).
    En lançant le pg "Hello word" du http://python.developpez.com/cours/p...ingStarted.php, la petite fenêtre s'ouvre et puis se referme immédiatement : j'ai un core dump dont voici le contexte obtenu avec strace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    strace python helloworld.py
    ...
    brk(0x18cf000)                          = 0x18cf000
    uname({sys="Linux", node="tarkin", ...}) = 0
    pipe([3, 7])                            = 0
    fcntl(7, F_GETFL)                       = 0x1 (flags O_WRONLY)
    fcntl(7, F_SETFL, O_WRONLY|O_NONBLOCK)  = 0
    poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=3, events=POLLIN}], 3, 0) = 0 (Timeout)
    poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=3, events=POLLIN}], 3, 0) = 0 (Timeout)
    poll([{fd=4, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=4, revents=POLLOUT}])
    writev(4, [{"\1\30\r\0\3\0\200\1F\0\0\0\0\0\0\0?\0/\0\0\0\1\0$\0\0\0\32(\0\0"..., 1532}, {NULL, 0}, {"", 0}], 3) = 1532
    read(4, 0x1147ed4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
    read(4, 0x1147ed4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
    poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=3, events=POLLIN}], 3, 0) = 0 (Timeout)
    --- SIGSEGV (Segmentation fault) @ 0 (0) ---
    +++ killed by SIGSEGV (core dumped) +++
    Segmentation fault (core dumped)
    Je ne sais pas comment exploiter les core dumps, avez vous des pistes pour cerner le pb ?
    Merci

  2. #2
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    Et avec base.py ?

    @+
    Merci d'utiliser le forum pour les questions techniques.

  3. #3
    Membre averti Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Points : 407
    Points
    407
    Par défaut
    Avec base.py, la fenêtre s'ouvre et reste ouverte.
    Cela aide t'il à cerner la cause ?
    Merci

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 298
    Points : 6 778
    Points
    6 778
    Par défaut
    Et si tu plaçais quelques print dans le code pour situer à quel moment il se plante.

  5. #5
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    De préférence un print avant et après le self.fenetre.connect("delete_event", self.evnmt_delete)
    Merci d'utiliser le forum pour les questions techniques.

  6. #6
    Membre averti Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Points : 407
    Points
    407
    Par défaut
    Alors j'ai mis des print, en fait c'est bon jusqu'au gtk.main()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
                 ...
    	self.fenetre.show()
     
    	def boucle(self):
    		print "avant gtk main"
    		gtk.main()
    		print "apres gtk main"
     
    if __name__ == "__main__":
    	salut=SalutMonde()
    	salut.boucle()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    tarkin(awalter) 633 > python helloworld.py
    avant gtk main
    Segmentation fault (core dumped)
    tarkin(awalter) 634 >

  7. #7
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Pas le temps de regarder donc une idée rapide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if __name__ == "__main__":
        salut = SalutMonde()
        gtk.main()
    Merci d'utiliser le forum pour les questions techniques.

  8. #8
    Membre averti Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Points : 407
    Points
    407
    Par défaut
    C'est pareil.

    Le sujet est compliqué, étant donné que je n'ai pas les bons rpm pour ma version linux, je dois installer à la main les produits python, gtk+,pygtk et pas mal de dépendances en cascade (dont je pense que certaines dépendances ne sont pas nécessaires, mais comment savoir ?). J'avais mis au point un script d'installation qui marchait bien en 32 bits, et qui n'a pas marché du premier coup en 64 bits. J'ai du l'adapter pour statisfaire des compilations qui ne marchait plus. Difficile de savoir si l'installation totale est bonne, sans doute que non, c'est pourquoi la cause du core dump pourrait pointer un défaut sur une librairie.

    Merci

Discussions similaires

  1. Eclipse/Tomcat : rien ne va plus sur un "hello world"
    Par ®om dans le forum Tomcat et TomEE
    Réponses: 11
    Dernier message: 24/11/2010, 11h46
  2. Affichage d'un Hello world sur la console
    Par ziad.shady dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 21/04/2009, 18h08
  3. Générer des core dump sur serveur linux
    Par Joyus dans le forum Linux
    Réponses: 1
    Dernier message: 14/10/2007, 13h19
  4. Je bloque sur mon HELLO WORLD
    Par coolawa dans le forum C++
    Réponses: 19
    Dernier message: 17/05/2007, 02h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo