Bienvenue sur PEBKAC.fr, le site qui recense les anecdotes où l’on se moque des utilisateurs ne maîtrisant pas l’outil informatique. PEBKAC est un acronyme signifiant « Problem Exists Between Keyboard And Chair ».
Le problème se situe entre la chaise et le clavier : soumettez vos histoires, donnez votre avis !
Ce site n'est pas le site original pebkac.fr. Je publie ici la liste des PEBKAC que j'ai pu sauvegarder avant que le site original ne soit mis hors ligne.
Dans la catégorie « message d'erreur stupide », après installation d'un jeu (pas récent, mais tout de même, Might and Magic VIII) :

« Le programme d'installation a détecté que votre système dispose de 4 GB de mémoire libre. L'exécution du jeu nécessite 32 MB. Le jeu risque d'être saccadé, instable ou de ne pas fonctionner du tout. Voulez vous quand même poursuivre l'installation ? »

Comment dire… Ils n'étaient visiblement pas très au point sur les conversions d'unité et les tests d'infériorité. En plus de cela, la mémoire disponible était bien supérieure à 4 Go (entre 7 et 8, et je parle bien de la disponible pas de la totale). PEBKAC.
PEBKAC #8870 proposé par Unknown_Error le 28/10/2013 | 34 commentaires | 👍🏽 👎🏽 -107
Pas trop d'accord, pour moi un Pebkac ne peut pas être rétroactif, la RAM et sa façon d'être adressée a bien changé par rapport à un jeu qui date de 13ans.
Je ne peux pas valider le Pebkac.
Ni totalement l'ignorer. Je ne vote rien.
Na!
Commentaire #116729 écrit par Loute le 28/10/2013 à 17h49 | 👍🏽 👎🏽
Ils devaient récupérer la taille de la RAM sous la forme d'un int (Via une fonction système qui renverrait le maximum, à défaut de pouvoir stocker la vraie valeur), qui aurait alors la valeur signée de -1, ce qui est inférieur à 32mo.
Commentaire #116732 écrit par Lynix le 28/10/2013 à 17h57 | 👍🏽 👎🏽
Ben oui, le programme va devoir choisir où placer ses données en mémoire, et avec toutes ces adresses possibles, il faut comprendre qu'il aura du mal à décider et qu'il saccadera en conséquence. À chaque allocation mémoire, il va se dire qu'il pourrait arranger sa mémoire façon feng shui vu qu'il a de la place pour le faire et à chaque fois, il va bouger les objets en mémoire dans tous les sens.
Commentaire #116733 écrit par leafty le 28/10/2013 à 17h58 | 👍🏽 👎🏽
La quantité de RAM disponible a probablement été stockée dans un UInt32 (pour l'époque ça ne semble pas déconnant je ne pense pas que les OS 64 bits y étaient très répandus). Du coup à voir comment c'est codé, mais s'il y a eu dépassement de capacité pas sûr que le résultat soit prévisible.

Edit : grillé par Lynix.
Commentaire #116735 écrit par Acorah le 28/10/2013 à 17h58 | 👍🏽 👎🏽
Et le 8ème jour, Unknown_Error découvrit la (non)rétrocompatibilité.

Visiblement tu a un système 64 bits et le jeu/l'installeur est en 32 bits.
Explication duproblème :
- L'installeur demande au système la quantité de RAM... sur 32 bits. Le système lui répond donc la valeur maximale tenant sur 32 bits : 4 Go (0xFFFFFFFF).
- Les développeurs n'ont pas pensés que l'utilisateur aurait plus de 2 Go de RAM, et font donc une comparaison signée (par défaut). Or, en signé 0xFFFFFFFF ne vaut plus 4 Go mais -1, ce qui est effectivement inférieur à 32 Mo.
- S'en suit le message d'avertissement, qui lui affiche en non-signé : "4 Go".
Commentaire #116736 écrit par Shirluban le 28/10/2013 à 18h02 | 👍🏽 👎🏽
Et de trois messages en cinq minutes venant de développeurs pour expliquer le problème ! ^^
On dit tous la même chose mais c'est toi qui a la version la plus complète :)
Commentaire #116737 écrit par Lynix le 28/10/2013 à 18h04 | 👍🏽 👎🏽
Ah ben c'est sûr que sur -1 Mo de RAM, ça risque de saccader un peu.
Commentaire #116738 écrit par Siggy le 28/10/2013 à 18h08 | 👍🏽 👎🏽
Les précédents commentaire m'ont pris de cours, inutile que j'en rajoute... à part que je confirme : CTLP !!
Commentaire #116744 écrit par Morrock le 28/10/2013 à 18h36 | 👍🏽 👎🏽
<mode type="chipoteur">
Pas -1 Mo de Ram, -1 o !!
</mode>
;)
Commentaire #116746 écrit par BugsyLansky le 28/10/2013 à 18h40 | 👍🏽 👎🏽
Les raisons énoncées sont sûrement valables. Je suis d'accord sur le fait qu'il affiche 4go alors que l'utilisateur en a beaucoup plus (car a l'époque c'était codé en 32bit) .
Mais comme il affiche 4go sur l'écran c'est cette valeur qu'il aurait du prendre en compte et donc bien détecter que l'utilisateur avait assez de mémoire.
Au pire les développeurs auraient du prendre en compte le cas limite.
A moins qu'il y ait une routine que je ne connais pas dans le système de compatibilité des nouveaux windows qui font boguer le calcul.
Commentaire #116753 écrit par ad le 28/10/2013 à 19h23 | 👍🏽 👎🏽
Et dire que dans quelques temps (3, 5 ans ?) un "jeune" lira cette archive du fond des ages, et restera bloqué sur ...32 bits... jeu nécessitant 32 Mo... 4go de RAM...

/me retourne jouer à pong sur son cpc6128
Commentaire #116754 écrit par vieux le 28/10/2013 à 19h30 | 👍🏽 👎🏽
D'un autre côté c'est peut-être un os spécial ou il ne prend en compte que les unités et que 32 > 4
Commentaire #116758 écrit par slan le 28/10/2013 à 20h13 | 👍🏽 👎🏽
Bon bon que dire ...
pour commencer je suis moi même développeur, mais bon j'avoue qu'a ce moment porté par mon élan et étant totalement en mode joueur à ce moment là je n'ai pas trop fait le rapprochement entre les 4Go et le 64 bits (c'est un classique pourtant)

il n'en reste pas moins que si ils avaient été un peu plus visionnaire et/ou rigoureux, ca aurait pu être plus juste (le coup de comparer un signed avec un unsigned comme l'évoque Shirluban), mais bon c'est effectivement minime au regard de l'époque et du fait que ca n'est pas bloquant pour l'install.

bref, CMLP pour moi, pour n'avoir pas assez réfléchi avant de poster, mais ca reste quand même un pebkac (pas bien gros certes) si ils étaient cohérent avec eux même le message n'aurait pas du s'afficher, ou il auraient du afficher que je dispose d'une mémoire de -1 octets.
Commentaire #116759 écrit par Unknown_Error le 28/10/2013 à 20h25 | 👍🏽 👎🏽
Tu es tout pardonné pour avoir un intérêt pour cette série mythique !
Même si le fait de jouer au 8 plutôt qu'au 7 est tout de même un affront. è_é
Commentaire #116763 écrit par xTG le 28/10/2013 à 21h07 | 👍🏽 👎🏽
J'ai eu le même problème pour un programme qui vérifiait l'espace disque disponible et refusait de tenter l'installation. J'ai du remplir mon disque dur pour baisser la valeur de l'espace disponible et pouvoir installer. ^^
Commentaire #116767 écrit par Jema le 28/10/2013 à 21h14 | 👍🏽 👎🏽
ah mais non mais non pas du tout
c'est pas le 8 plutot que le 7, c'est le 6 puis le 7 puis le 8 (et prochainement le 9 même si il est réputé pas terrible, pour la continuité, puis le 10, tout récent)
sinon le 7 est très bien oui, mais un peu en deçà du 6 quand même :)
Commentaire #116768 écrit par Unknown_Error le 28/10/2013 à 21h15 | 👍🏽 👎🏽
Ta réponse fait de ce PEBKAC un réel PEBKAC, tu es donc d'accord pour dire qu'ils ne savaient pas gérer les gros entiers et qu'un dev a fait de travers son job, on peut supposer que si le logiciel arrive à convertir la quantité de RAM en GB, c'est que c'était possible (de manipuler de si grands nombres).
Commentaire #116772 écrit par Cartman34 le 28/10/2013 à 22h41 | 👍🏽 👎🏽
La seule erreur des développeurs (qui n'en est pas moins grosse) est de récupérer la quantité de ram sous la forme d'un entier signé plutôt que d'un entier non-signé comme la fonction devait le renvoyer.

J'ai eu le coup aussi quand j'ai voulu réinstaller Evil Genius, encore heureux qu'ils ne bloquent pas l'installation pour autant.
Commentaire #116773 écrit par Lynix le 28/10/2013 à 22h52 | 👍🏽 👎🏽
Je suis désolé, mais 0xffffffff c'est 4 Go moins un octet, ton explication n'est pas bonne. D'ailleurs, une recherche rapide donne ceci : http://msdn.microsoft.com/en-us/library/cc300158%28v=VS.85%29.aspx et http://msdn.microsoft.com/en-us/library/aa366770%28v=vs.85%29.aspx

Dans les deux cas, la taille de la RAM est donnée sur un entier non signé de 64 bits. À l'époque, ils ont dû se dire que 32 bits suffiraient largement pour la comparaison. Pour 4 Go, on obtient sur 64 bits : 0x00000001 00000000. Les 32 derniers bits valent 0, et 0 octets est inférieur à 32 Mo, voilà l'explication la plus plausible.
Commentaire #116774 écrit par FBM le 28/10/2013 à 23h03 | 👍🏽 👎🏽
| À l'époque, ils ont dû se dire que 32 bits suffiraient
Je dirais qu'à l'époque, il n'y avait pas de 64 bits dans ordinateurs grand public.
Commentaire #116778 écrit par juu le 29/10/2013 à 00h08 | 👍🏽 👎🏽
Cela dit, je ne pense pas qu'à l'époque, les machines de plus d'1Go de RAM couraient les rues. Et s'il faut passer du temps à bien coder, autant que ce soit dans le produit en lui même plutôt que dans l'installeur.
Commentaire #116780 écrit par Skefrep le 29/10/2013 à 00h32 | 👍🏽 👎🏽
Tu devrais en faire un PEBKAC, car là c'est bien plus grave comme souci !
Commentaire #116781 écrit par Lynix le 29/10/2013 à 01h31 | 👍🏽 👎🏽
Le 9 est mauvais. Vraiment mauvais. Le X a du potentiel !
Commentaire #116782 écrit par Paulli le 29/10/2013 à 01h57 | 👍🏽 👎🏽
@juu: PAE est assez vieux tout de même.
Commentaire #116793 écrit par FBM le 29/10/2013 à 09h24 | 👍🏽 👎🏽
@FBM parler de PAE et de windows, CTLP
Commentaire #116832 écrit par ygnobl le 29/10/2013 à 12h14 | 👍🏽 👎🏽
Pour moi c'est pas un pebkac. Tu as une quantité de ram totalement inimaginable à l'époque.
Ça revient a dire que nos inventeurs du 16éme siècle sont des cons car ils ont pas pensé à l'utilisation de leur invention dans des conditions marsienne ou autre.
Je pense au contraire que le mec qui programme en 1985 un logiciel qui prévoit des zotaoctet de ram est un pebkac.
Commentaire #116833 écrit par Thcana le 29/10/2013 à 12h16 | 👍🏽 👎🏽
Je peu pas éditer :(
Au fait qui parle de ram ? Pour moi un jeu qui nécessite 32mo de mémoire ne veut pas dire mémoire vive.
D'ailleurs le message d'erreur en lui même est bizars ou bizarement recopié.
Commentaire #116836 écrit par Thcana le 29/10/2013 à 12h21 | 👍🏽 👎🏽
4GiB = 0x0...
Commentaire #116840 écrit par Matthieu le 29/10/2013 à 13h04 | 👍🏽 👎🏽
@FBM : ça, c'est pour des entiers non signés. Le deuxième point de @Shirluban explique que ce sont des entiers signés.... et ça fait bien -1.
Commentaire #116862 écrit par Limeila le 29/10/2013 à 16h53 | 👍🏽 👎🏽
À tous : je me suis mal exprimé.

Je voulais dire que le système ne retournera jamais le nombre maximum tenant sur 32 bits (à savoir -1, ou encore 2^32 - 1, soit 4 Go moins 1 octet). S'il y a 4 Go de RAM, il retourera 0, pas 0xffffffff. Donc l'explication de Shirluban est incorrecte.

Et je donne donc l'explication de ce qui s'est réellement produit.

Enfin, ygnobl, renseigne-toi au lieu de troller : PAE est inclus dans windows depuis windows 2000 (avec plus ou moins de limitations selon l'édition) : http://en.wikipedia.org/wiki/Physical_Address_Extension#Microsoft_Wind[...]
Commentaire #116887 écrit par FBM le 29/10/2013 à 19h12 | 👍🏽 👎🏽
J'ai commencé avec le 7 pour ma part, je l'ai dévoré...
Ensuite j'ai tenté le 6 qui j'ai trouvé était une bouse...
Me suis alors dis que le 8 devait etre super et... J'ai détesté tout autant...

Bon après j'ai pas trop persévéré pour le 6 et le 8. Mais déjà quand les premières maps ne ressemblent à rien...
On voyait l'effort graphique dans le 7 au moins...
Le 6 et le 8 sont tout bonnement dégueulasse je trouve. :(
Commentaire #116888 écrit par xTG le 29/10/2013 à 19h20 | 👍🏽 👎🏽
Je crois que tout a déjà été dit, a pars qu'effectivement on retrouvait des programmes Windows 9x avec des installateurs win3x, du coup, fallait surtout pas utiliser les noms longs mais les noms cours 8.3 sinon le prof ne se lançait pas !
donc taper a la main l'arbo depuis c:/progra~1/...
que du bonheur :p

sans oublier des problèmes d'install avec un ultima (le 7 je crois...)
bref, pas mal de problème. Curieusement résolu aujourd'hui par l'émulation.

et oui, CDTLP de ne pas avoir utilisé un dosbox ou autre émulateur...
(mais je ne te veux pas ;) )
Commentaire #116903 écrit par ben_kenobi le 29/10/2013 à 21h45 | 👍🏽 👎🏽
Bizarre oui, certainement.
pour ce qui est de la recopie je l'ai pas faite a l'arrache, elle est fidèle.

et les 32mo ne sont assurément pas la place occuppée sur le disque dur :)
Commentaire #116924 écrit par Unknown_Error le 29/10/2013 à 23h19 | 👍🏽 👎🏽
@juu
qu'un ordinateur ne fonctionne pas en 64 bits ne veut pas dire qu'il ne puisse pas stocker et manipuler des valeurs stockée sur 64 bits (voire plus), il les manipules juste moins efficacement.
jamais entendu parler du type long long ? (type de donnée du langage C, qui date bien plus que Might and Magic 8, pour stocker des valeurs sur 64 bits)
et sinon plus proche de nous, certains langages permettent la manipulation de nombres supérieurs à 64 bits d'autres non, et quand c'est pas pris en charge par le langage il existe très souvent des bibliothèque pour combler ces lacunes afin de pouvoir faire des calculs sur les grands nombres
Commentaire #117285 écrit par Unknown_Error le 31/10/2013 à 23h21 | 👍🏽 👎🏽