bob_razowski a écrit 9 commentaires

  • [^] # Re: Re : Perdu dans la mémoire (malloc, stack, heap et système)

    Posté par  . En réponse au message Perdu dans la mémoire (malloc, stack, heap et système). Évalué à 1.

    Merci. Je vais cogiter la dessus. Je vais tester. Et peut-être que la solution que je recherche serait alors de faire le cast de manière à avoir des adresses qui "collent" ?

    Derrière ce problème anodin, il y a un gros code industriel (oui oui, mais pas connu du public).
  • [^] # Re: ??! \_O< ...

    Posté par  . En réponse au message Perdu dans la mémoire (malloc, stack, heap et système). Évalué à 1.

    D'accord. J'admet que cela est normal.
    Mais pourquoi la délimitation sur la stacksize change t-elle autant les valeurs ?
    Surtout que pour la Mandrake 10.1, limité ou pas c'est les mêmes résultats.

    Je ne suis pas hyper calé en mémoire, mais il me semble que la stack et le malloc c'est pas au même endroit...
  • [^] # Re: comprends rien ...

    Posté par  . En réponse au message Perdu dans la mémoire (malloc, stack, heap et système). Évalué à 1.

    Effectivement, je me suis trompé.
    C'est signé que je voulais dire. C'est le fait qu'en étant int, mon adresse puisse être négative, et que retraitée ensuite dans le fortran en valeur absolue on pointe alors sur la mauvaise zone allouée.

    En fait "base" est une adresse donnée par la routine fortran, et "decalage" sert ensuite dans le fortran à manipuler la mémoire à partir de "base".
  • [^] # Re: Hum

    Posté par  . En réponse au message Perdu dans la mémoire (malloc, stack, heap et système). Évalué à 0.

    J'ai essayé avec ma Ubuntu.
    Le test lancé plusieurs fois de suite me donne les mêmes adresses.

    Et pareil, ma Ubuntu est limitée en stacksize à 8 Mo. Si j'enlève cette limite, le test donne des adresses différentes de celles qu'elles étaient avec la limitation. Et de nouveau, plusieurs tests à la suite donnent des adresses identiques.

    Je suis d'accord sur le fait que les valeurs peuvent être différentes d'une distrib à une autre. D'ailleur je ne le remettait pas en cause. La chose qui me gène c'est une telle disparité dans les adresses : d'un coté j'ai : 0x40015008 (1), 0x40137008 (2), 0x40157008 (Ubuntu unlimited), 0x40150008 (3 unlimited) et de l'autre j'ai : 0xb7e82008 (Ubuntu limited) et 0xb7487008 (3 limited).

    Je n'arrive pas à avoir une explication de ce phénomène (surtout entre limited et unlimited).
  • [^] # Re: Re : Perdu dans la mémoire (malloc, stack, heap et système)

    Posté par  . En réponse au message Perdu dans la mémoire (malloc, stack, heap et système). Évalué à 1.

    Je suis d'accord.
    Mais mon programme est appelé par un programme fortran, qui passe des adresses à ma routine C. Et si je ne me trompe pas, ces adresses sont des integer. J'aurai pour ma part préféré des unsigned int.

    Donc comme j'ai des int, ma variable "decalage" est donc prise, en retour de ma routine C, dans le fortran comme un integer. Et peut donc être négative. Aucun problème si ce n'est que le traitement mémoire se fait derrière sur sa valeur absolue : on tape donc dans des zones mémoires aléatoires.

    Le mec qui a codé le fortran ne s'y attendait surement pas.
  • [^] # Re: Faut il se mefier des questions dans les forums linuxfr ?

    Posté par  . En réponse au message Faut-il se mefiez des distribs Linux !. Évalué à 1.

    D'abord je vous prie d'accepter toutes mes excuses pour les fautes d'orthographes. Mais malheureusement il est un peu tard pour que je puisse y remédier définitivement (surtout pour les accents). Je vais toutefois essayer de m'appliquer.

    Ensuite, ce que j'attends quand même de Linux (en général) c'est une certaine stabilité dans la continuité. Si les développeurs décident de changer le comportement des libs, alors pourquoi ne pas en créer une nouvelle ? Si j'ai 10 distribs différentes, je n'ai pas forcement envie ni de recompiler pour chaque distrib, ni d'avoir des binaires de plus de 40 Mo en static (surtout que j'ai pas que des Linux à gérer). Je sais très bien que la solution quasi-idéale serait le static. Mais si on pouvait s'en passer ce serait encore mieux.

    Ce que je voulais surtout dire, c'est que je regrette quand même l'absence de compatibilité. Et non ! Je ne remets pas en doute la qualité des distribs.

    Par contre je suis d'accord avec toi lorsque tu parles d'une évolution du système central. Et peut-être suis-je justement dans ce cas. Car je n'impute pas mes problèmes aux libs. C'est pour ça que je parlais de manipulations sur la mémoire.

    Ce que j'attendais surtout comme réponses c'était un retour d'expériences sur la portabilité entre différentes distribs Linux.

    Merci quand même.
  • [^] # Re: les Wiki Ubuntu

    Posté par  . En réponse au message Installation Ubuntu : où est le mot de passe root ?. Évalué à 1.

    OK, merci à tous pour vos réponses.
    Mais j'pouvais pas trop deviner ça, car, venant de Mandrake, admetez que "sudo" est quand même une commande à part ! Et personnelement je ne l'apprecie pas beaucoup. Elle peut certainement avec de l'habitude se réveler pratique, mais selon moi rien ne vaut un "su -" pour administrer.
    Ou alors j'ai pas très bien compris le truc : en faisant un "sudo application", je la lance avec des droits root, mais sans être root pour autant, à savoir sans l'environnement qui pourrait éventuellement y être rattaché.

    En tout cas c'est surprenant. Il y a d'autres trucs comme ça dans cette distrib que je pourrait trouver bizarre venant d'un autre monde ?

    Sinon, tout cela ne répond pas à une de mes questions : pourquoi en tant que simple user, le système refuse sytématiquement le password de root quand je lance une application demandant les droits root (system->administration->reseaux par exemple ) ?

    Et puis tant que j'y suis, je voudrais aussi me plaindre auprès de Mr Ubuntu : pourquoi t-il donc que le fichier sudoer n'est pas configuré pour permettre au seul user principal d'utiliser sudo ? Curieux ! Être obligé de configurer à la main un fichier de conf quand on débute aurait de quoi rébuter beaucoup d'utilisateurs voulant se mettre à Linux avec une distrib sympa .....
  • [^] # Re: Déjà...

    Posté par  . En réponse au message LVM + mauvaise manip = ... Kernel Panic :-(. Évalué à 1.

    Merci pour toutes les réponses. Mais ce qui devait arriver arrivera probablement finalement ce we.

    J'ai retesté avec mon CD rescue. Toujours segfault. Pas de log . A oublier !
    J'ai ensuite testé avec une knoppix. Rien d'interessant, les outils lvm n"amène rien. Je peux juste, comme d'hab, monter ma partition /boot mais pas les autres.

    Donc j'ai décidé de me lancer dans un format complet du disque et une installation d'une nouvelle distrib. Fidèle à Mandrake depuis les version 7, je vais aller faire un tour du coté d'Ubuntu. Que j'ai installé soit dit en passant sur l'espace libre qui me restait. Et là, dans une dernière j'execute une lvscan. Et je me vois retourner ceci :

    Reading all physical volumes. This may take a while...
    Huge memory allocation (size 57671716) rejected - metadata corruption?
    Out of memory. Requested 57671716 bytes.
    Couldn't allocate logical volume maps.
    Volume group "william" not found

    Il faut dire que mon vg initial se nommait william. Où est ce que cette information a t-elle pu être retrouvée ?
    Curieux comme truc. Enfin, je dis ça, mais en même temps je n'y comprends pas grand chose. Je pense que ce doit être codé sur chaque volume physique.

    Bref, finalement je crois que ceci ne me mène quand même à rien, si ce n'est à un format complet.
  • [^] # Re: Déjà...

    Posté par  . En réponse au message LVM + mauvaise manip = ... Kernel Panic :-(. Évalué à 1.

    Merci pour les conseils. Malheureusement, c'est toujours quand on a tout cassé que viennent les regrets !

    les commandes lvscan/pvscan plantent avec une segmentation fault ! Probablement parce que la couche LVM n'est pas définie...

    Voici les messages au boot (recopier à la main :-( ):

    Makking device-mapper control node
    Scanning logical volumes
    Partial mode. Incomplete volume groups will be activated read only.
    reading all physical volumes.
    ERROR : /bin/vgscan exited abnormally !
    Activating logical volumes
    Partial mode. Incomplete volume groups will be activated read only.
    ERROR : /bin/vgchange exited abnormally !
    Making device nodes
    locking type 1 initialisation failed
    ERROR : /bin/mknodes exited abnormally !
    Mounting root filesystem with flags notail
    mount : error 2 mounting reiserfs flags notail
    well, retrying without the flags
    mount : error 2 mounting reiserfs
    well, retrying without any flags
    mount : error 2 mounting reiserfs
    pivotroot : pivot_root (/sys/root, /sysroot/initrd) failed : 2
    umount /initrd/sys failed : 2
    umount /initrd/proc failed : 2
    Initrd finished
    Freeing unused kernel memory : 260K freed
    kernel panic - not syncing : No init found
    Try passing init = option to kernel.

    Voilà, c'est un peu compréhensible pour moi. Maintenant place aux questions :
    1) quelles peuvent être les options interessantes à passer aux kernel ? A part init=3, je ne connais rien d'autre. Dommage qu'au moment du boot il n'y ai pas d'aide proposée

    2) est ce que avec un autre disque dur, la manip suivante pourrait être utile (pas sûr de la syntaxe) :
    - dd if=/dev/hdb1of=(l'autre disque)
    - réparation de ce qui va pas
    - dd if=(l'autre disque) of=/dev/hdb1.
    Je ne sais pas si avec un dd j'ai accés au FS....

    3) je ne comprends toujours pas comment un mauvais système peut empêcher un CD d'instal de faire son travail ?

    En tout cas je comprends mieux pourquoi les disques physiques ne peuvent se monter, s'ils ne contiennent aucun FS ...

    J'avais pourtant lu le LVM HOWTO + une doc SUSE dédiée au LVM, mais il manque un LVM-RESCUE HOWTO ...

    Enfin, si je dois tout effzcer, j'en profiterai pour tester une autre distrib (Ubuntu sûrement)

    En tout cas, merci pour l'aide.