Journal Question qui me travaille ...

Posté par  (site web personnel) .
Étiquettes : aucune
0
18
juin
2008
Cher journal ...

Exemple tout bête de ce matin encore.

Je demande a grep de chercher un motif de façon récursive un motif dans mon /etc ...

[root@oberon etc]# grep -R pan11 *
grep: alternatives/java_sdk_exports/jndi-ldap-1.6.0.jar: Aucun fichier ou dossier de ce type
grep: alternatives/java_sdk_exports/sasl-1.6.0.jar: Aucun fichier ou dossier de ce type
grep: alternatives/java_sdk_exports/jdbc-stdext-1.6.0.05.jar: Aucun fichier ou dossier de ce type^C

etc ... etc ...

Comment peut il me citer le nom d'un fichier qu'il a trouvé lui même pour me rétorquer que justement il ne le trouve pas ?

Comme parfois aussi j'ai le bonheur de voir des applis se terminer violemment par le joli message d'erreur "Success" ...

J'utilise majoritairement des systèmes libres, et donc c'est souvent la que je trouve ce genre d'horreurs, mais d'autres ont ils déjà vus ce genre de débilités sur d'autres systèmes/applis ?

Fut un temps des magazines publiaient des screenshots de ce genre de choses, ca doit sûrement pulluler sous windows, mais comme je ne l'utilise pas ... je ne sais pas.
  • # Lien symbolique cassé

    Posté par  (site web personnel) . Évalué à 10.

    Il s'agit tout simplement de liens symboliques cassés. Ils existent, mais ils ne pointent vers rien, et dans ce cas l'erreur retournée par l'OS est que le fichier n'existe pas si tu tentes de l'ouvrir.

    C'est tout à fait normal, et tous les programmes se comportent comme ça depuis la nuit des temps.
    • [^] # Re: Lien symbolique cassé

      Posté par  (site web personnel) . Évalué à 5.

      Tout à fait, et si ça ne t'intéresse pas, tu peux toujours tenter :
      grep -R pan11 * 2>/dev/null
    • [^] # Re: Lien symbolique cassé

      Posté par  . Évalué à 9.

      Je crois que le but du journal était plus d'attirer l'attention sur des messages d'erreurs inadaptés que de poser la question en tant que telle :)

      C'est vrai que dans ce cas, un "link target not found" ou quelque chose dans le genre aurait été aussi bien :)
      • [^] # Re: Lien symbolique cassé

        Posté par  (site web personnel) . Évalué à 5.

        voila l'idee en effet ;)
        • [^] # Re: Lien symbolique cassé

          Posté par  . Évalué à 9.

          Sauf que dans ce cas précis, c'est le principe même du lien symbolique que tu remets en cause. L'idée, c'est que toute application (sauf à demander explicitement à ne pas déréférencer) traite les liens symboliques comme s'ils étaient des fichiers. Donc ton grep les traite comme tels. Après, il doit y avoir une option de grep pour ne pas suivre les liens du tout (mais si tu as des liens ailleurs dans le jeu de fichiers qui tu parcoures, ça peut te géner). L'idée serait éventuellement d'avoir un grep qui vérifie les liens avant de les suivre, mais ça risque de multiplier grandement les appels systèmes, et ça c'est pas forcément le bon plan. En tous cas, c'est beaucoup pour une simple "amélioration de message d'erreur".
          • [^] # Re: Lien symbolique cassé

            Posté par  . Évalué à 3.

            Ou alors faire renvoyer un autre errno à fopen.
            • [^] # Re: Lien symbolique cassé

              Posté par  (site web personnel) . Évalué à 3.

              C'est difficile de faire ça maintenant, car il faut remonter dans toute la couche (jusqu'au kernel si je ne me trompe), ajouter un nouveau code d'erreur, le faire valider par un standard quelconque (POSIX par exemple), etc.
  • # bouton démarrer

    Posté par  . Évalué à 2.

    > Comme parfois aussi j'ai le bonheur de voir des applis se terminer violemment par le joli message d'erreur "Success" ...

    >J'utilise majoritairement des systèmes libres, et donc c'est souvent la que je trouve ce genre d'horreurs, mais d'autres ont ils déjà vus ce genre de débilités sur d'autres systèmes/applis ?

    Comme le bouton démarrer pour éteindre? Ou les messages d'erreur qui disent l'inverse de ce qu'il faut? Genre windows à récupérer d'une erreur irrécupérable?

    Pour ce genre d'erreurs, le "c'est quoi ce bordel quotidien" (daily wtf) :
    http://thedailywtf.com/Series/Error_0x27_d.aspx
    • [^] # Re: bouton démarrer

      Posté par  . Évalué à 8.

      <temps réel>
      Je viens à l'instant d'éjecter ma clef USB d'un pc sous windows xp... comme pour un cd j'ai tendu la main en attendant qu'elle y vienne toute seule... ben non, j'ai du la débrancher.
      </temps réel>

      M'enfin, y'en a aussi surement qui ont du avoir peur de retrouver des morceaux d'électronique et de plastique quand il ont fait: "démonter" leur clef usb sous linux...

      0 partout, la balle au centre sur ce coup là... ;-)
      • [^] # Re: bouton démarrer

        Posté par  . Évalué à 8.

        Pas plus tard qu'hier, ma compagne m'apelle parceque "y'a un probleme de son sur l'ordi"

        Je lui demande des explications et elle me dit que "on peut pas monter le volume" mais pourtant le son marche bien.

        en effet y'avais une popup avec un message d'erreur "impossible de monter le volume", sauf que le volume c'etait sa clef USB qu'elle avait retiré a l'arrache et que linux n'arrivait pas à "mounter".
    • [^] # Re: bouton démarrer

      Posté par  (site web personnel) . Évalué à 3.

      Comme les raccourcis claviers proposés dans les menus déroulants, peuvent être totalement incohérents d'une appli à l'autre. C'est très déroutant pour des debutants, qui m'ont fait la remarque.
      Exemple pour fermer un programme : Evolution propose ctrl+Q, VLC ctrl+X (pourtant accepte ctrl+Q), Nautilus ctrl+W.
      Et dans ces 3 cas l'immonde alt+F4 fonctionne.
      • [^] # Re: bouton démarrer

        Posté par  (site web personnel) . Évalué à 7.

        Alt-F4 c'est le window manager qui envoie un signal à la fenêtre (le même qu'en cliquant dans la croix), c'est pour ça.
      • [^] # Re: bouton démarrer

        Posté par  (site web personnel) . Évalué à 1.

        ctrl+w en général c'est fermer un onglet (enfin c'est un comportement que j'ai découvert de manière empirique je ne sais pas si y a une norme derrière tout ça). Si c'est le dernier onglet ouvert, ça ferme la fenêtre.

        Sinon comme dis le commentaire ci-dessus, le alt+F4 c'est le gestionnaire de fenêtre qui le capture. Sous fluxbox par exemple moi j'ai configuré win+q pour le signal sig_quit et win+k pour sig_kill entre autre.
    • [^] # Re: bouton démarrer

      Posté par  (site web personnel) . Évalué à 8.

      Pour débrancher une clé USB sous Mac OS X il faut mettre l'icône de la clé dans la corbeille.

      (on tape souvent sous Windows mais il faut bien aussi se moquer de Mac)
      • [^] # Re: bouton démarrer

        Posté par  . Évalué à 2.

        C'était pareil du temps de System 6 (sur mon beau Mac SE 1/40), il fallait faire glisser la disquette sur la corbeille pour l'éjecter.
        J'ai toujours eu peur qu'il me l'efface ou qu'il me la sorte en petits confettis !

        On peut aussi noter que sous Rox-filer lorsqu'on fait un clic droit sur un volume il y a systématiquement éjecter et démonter, quelque soit le type de montage et même si on a pas le droit de le faire...
      • [^] # Re: bouton démarrer

        Posté par  . Évalué à 4.

        Oui, sauf que lorsqu'on commence à glisser l'icône de la clé USB, la corbeille se transforme en bouton éjecter... qui prend alors tout son sens.
    • [^] # Re: bouton démarrer

      Posté par  . Évalué à -1.

      deux t à boutton...
      (ça doit être pour ça que je me suis fait moinsser, pourtan il est fnu le site dailywtf)
    • [^] # Re: bouton démarrer

      Posté par  . Évalué à 6.

      mouais, enfin avec des 'apt-get remove', y'en a qui ne font pas mieux ;)
  • # Rationalité, quand tu nous tiens ...

    Posté par  . Évalué à 3.

    De la même façon que les ergonomes ont désormais leur place à plein temps dans la conception des interfaces homme-machine, la vérification de la cohérence de ces interactions pourrait bien devenir un métier tant les systèmes actuels deviennent complexes. Je pense que cela pourrait même être suffisamment scientifique pour former l'objet d'une thèse.

    Mais en attendant cela, je trouve encore que le meilleur compromis en matière de retour d'information reste justement le "mi-chemin", c'est-à-dire des messages surprenants hors contexte, mais qui découlent malgré tout d'une explication logique et qui, surtout, se présentent chaque fois de la même façon.
  • # perror()

    Posté par  (site web personnel) . Évalué à 9.

    > joli message d'erreur "Success"

    C'est dû au fait que le développeur a appelé une fonction qui touche à errno après celle qui avait positionné l'erreur; du coup errno est remis à 0 (success) et l'appel à perror() retourne Success.

    exemple:

    /* peut retourner ENOENT si le fichier n'existe pas, ou d'autres erreurs*/
    FILE *fp = fopen("blah.txt","r");
    if (fp == NULL) { unlink("blah.txt"); perror("fopen"); }

    comme unlink aura réussi, on aura "Success".

    FILE *fp = fopen("blah.txt","r");
    if (fp == NULL) { perror("fopen"); unlink("blah.txt"); }

    Fonctionne mieux. Souvent la logique de la fonction est plus compliquée et du coup on peut en laisser passer.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.