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

Linux Discussion :

C++, Apache, CGi, X11


Sujet :

Linux

  1. #1
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut C++, Apache, CGi, X11
    Bonjour à tous

    J’expérimente les programmes C++ comme module CGI Apache. Pas de problème en mode texte (à coup de std::cout) et pour les communications dans les 2 sens (génération HTML/JS en C++ et envoi de données au programme C++ par Get/Post/Ajax)

    Maintenant, j'essaie de manipuler des images dans le programme C++. Malheureusement, ça plante (le error.log dit simplement que le programme cgi a quitté brusquement). Je pense que cela vient du fait que les fonctions que j'utilise nécessite X11 (me demander pas pourquoi...) et que le serveur apache (et donc les modules cgi) sont configuré pour tourner sans X11 (ce qui ne serait pas étonnant). Du coup, plusieurs questions :
    * comment avoir plus d'informations d'erreurs que apache/error.log ? (pour vérifier que mon programme ne lance pas une erreur "impossible de lancer telle lib")
    * est-il possible de lancer quand même X11 dans apache (pour tests ; la version finale devra être plus propre)
    * peut on lancer des commandes OpenGL dans un module cgi apache sans X11 ?

    Merci

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Hello,

    D'expérience, un CGI qui « quitte brusquement » sans message dans le log est en général caractéristique d'une segfault affectant ledit programme.

    Quand Apache se plaint que le programme a quitté prématurément, c'est parce qu'il l'a fait sans envoyer les headers HTTP de rigueur et que l'on est en droit d'attendre même si le document est vide. Seulement, c'est quelque chose qui peut arriver même si le programme ne plante pas. Parallèlement, la mort du processus fils n'affecte en rien Apache, qui la traite normalement dans tous les cas.

    Il me semble que les versions relativement récentes d'Apache font maintenant un usage avisé du code d'état renvoyé par wait() mais je confirme, pour avoir pas mal travaillé avec, que ça n'a pas toujours été le cas et que ça demandait parfois une bonne dose d'intuition.

  3. #3
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    J'ai pas précisé : j'ai un code fonctionnel (qui fait bien mes headers et qui m'affiche une belle page html). Quand j'ajoute une ligne pour initialiser la lib pour lire les images (juste donc construire un objet, je fais rien d'autre et je touche pas au code générant le html), ça plante. D'où l'idée que cela vient de l'initialisation des fonctions X11. Par contre, sans message d'erreurs (manifestement le programme doit planter directement lors de son appel) c'est difficile de faire un diagnostique

    Je vais m'orienter vers du non-X11, mais cette histoire de débugage d'un CGI m'embête un peu

Discussions similaires

  1. Apache + cgi + Php-fpm
    Par Tlams dans le forum Linux
    Réponses: 1
    Dernier message: 27/04/2015, 14h12
  2. Problème config Apache CGI
    Par WeDloMiS dans le forum Apache
    Réponses: 3
    Dernier message: 12/09/2007, 12h20
  3. Apache / CGI en C et upload de fichier
    Par Gédéon dans le forum Apache
    Réponses: 1
    Dernier message: 10/08/2005, 19h03
  4. [web] Apache Cgi-Bin
    Par Tommy Jean dans le forum Web
    Réponses: 8
    Dernier message: 23/08/2004, 18h46
  5. Réponses: 6
    Dernier message: 28/10/2002, 11h34

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