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

GTK+ avec C & C++ Discussion :

Gdk-warning Fatal IO error 11 (ressource temporairement non disponible) on X server :0.


Sujet :

GTK+ avec C & C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 114
    Par défaut Gdk-warning Fatal IO error 11 (ressource temporairement non disponible) on X server :0.
    Bonjour,
    Soit mon appli sous raspbian constitué, entre autre, d'une IHM en gtkmm (issue de glade 3.x)

    L'appli plante, souvent au clic sur un bouton, et le terminal affiche cette erreur:
    Gdk-WARNING **: dic:Fatal IO error 11 (Ressources temporairement non disponible) on X server :O.
    J'ai consulté un certain nombre de forum qui y font illusion, sans comprendre l'erreur, ni trouvé de solution.
    De quel type de ressource peut-il s'agir?
    Cela vient-il nécessairement de l'aspect graphique de mon appli?
    Quelqu'un peut-il m'éclairer svp?

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 114
    Par défaut
    à 6 endroits de mon code, j'appelle une fonction qui va mettre à jour le set-sensitive des boutons de l'interface graphique.
    certains de ces appels se faisaient dans un timer
    d'autres dans une fonction appelé par une interruption hardware (sur broche du microcontrôleur)
    Il est possible, bien que je ne trouve pas la réponse immédiatement, que ces 2 cas utilisent des threads (issus de la même bibliothèque wiringpi), ce qui pourrait engendrer des conflits ...
    et si je supprime ces appels de fonctions, tout rentre dans l'ordre, plus de plantage.

    Si qq à une expérience similaire ou un complément de précisions, je suis preneur.

    Merci

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 114
    Par défaut
    Mon second message sème la confusion je crois. Oublions le.

    Cette erreur intervient pas seulement à l'appui sur un bouton, mais visiblement sur d'autres actions qui concernent mon interface graphique

    et j'ai aussi l'erreur 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal IO eroor (aucun fichier ou dossier de ce type) on X server :0
    Bon je me penche sur ce qu'est un X server.
    Mais d'un point de vue pratique, comment il s'utilise? Quelle est la méthodologie?
    Quand est-ce que l'on ouvre une nouvelle instance de X server?
    Quelle erreur puis-je faire qui demanderai l'ouverture de 2 fois la même instance?
    Ou encore comment oublié d'ouvrir une instance avant de l'utiliser ... ou autres choses de ce genre qui sème la panique dans mon appli

    Sinon oubliez mes questions si elles sont désordonnées, et aiguillez moi sur la façon dont je dois appréhender cette situation.

    Merci

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 114
    Par défaut
    Je poursuis mes tests, et débusque un autre appel depuis un thread.
    En l'éliminant, le pb disparait.

  5. #5
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Bonjour,

    pour répondre à tes différentes questions:
    Le serveur X, c'est le serveur d'affichage. Il gère les entrées (clavier, souris) et l'affichage à l'écran. Il est progressivement remplacé par des serveurs utilisant le protocole Wayland Wayland.

    Ensuite, GTK+ (comme beaucoup de toolkits) n'est pas thread-safe : tu ne peux pas manipuler des objets GTK+ ailleurs qu'à partir du thread principal. Tu peux utiliser des threads ailleurs, mais tu dois ensuite renvoyer le résultat du calcul au thread principal via g_idle_add. Une autre solution peut être d'utiliser GTask.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 114
    Par défaut
    je vais m'atteler à g_idle_add
    en tout cas les premiers tests avec timeout sont ok
    Merci beaucoup, encore une fois

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. erreur GlassFish ressource demandée non disponible
    Par Klemsy78 dans le forum Glassfish et Payara
    Réponses: 1
    Dernier message: 01/12/2009, 00h06
  2. fatal error LNK1120: 1 externes non résolus
    Par Elessar01 dans le forum MFC
    Réponses: 10
    Dernier message: 30/04/2008, 16h25
  3. [ASE12] mess. erreur : WARNING - Fatal Error 644 occurred at Sep 21 2007 10:27PM.
    Par padraig29 dans le forum Adaptive Server Enterprise
    Réponses: 2
    Dernier message: 28/09/2007, 16h08
  4. Ressource demandée non disponible
    Par Mister Nono dans le forum Struts 1
    Réponses: 3
    Dernier message: 07/03/2007, 12h00
  5. fatal link error avec visual studio 2003
    Par zephe dans le forum MFC
    Réponses: 5
    Dernier message: 26/07/2006, 18h49

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