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

C Discussion :

Probleme execution : segmentation fault in _dl_fini ()


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 34
    Points : 20
    Points
    20
    Par défaut Probleme execution : segmentation fault in _dl_fini ()
    Bonjour,

    j'ai crée un executable nommé test-toto.exe.

    Lors de l'execution de test-toto.exe, j'ai un "segmentation fault".

    Je lance donc gdb et j'obtiens comme message d'erreur après le run :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Program received signal SIGSEGV, Segmentation Fault
    [Switching to Thread 0x2b6b149442b0 (LWP 12975)]
    0x00002b6b131e7c76 in _dl_fini () from /lib64/ld-linux-x86-64.so.2
    Lorsque je fais un ldd de mon executable, j'obtiens les informations suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    libCompoolEM-Prg.so.1 => /home/lgalluccio/CompoolTest/LibsTest/libCompoolEM-Prg.so.1 (0x00002b381e61a000)
    libfaketechdata.so => /home/lgalluccio/CompoolTest/LibsTest/libfaketechdata.so (0x00002b381e71d000)
    libmisc.so.2 => /farequote/Deliverables/Middleware/libmisc.so.2 (0x00002b381e820000)
    libemmalloc.so.1 => /farequote/Deliverables/Middleware/libemmalloc.so.1 (0x00002b381e923000)
    libdbg.so.0 => /farequote/Deliverables/Middleware/libdbg.so.0 (0x00002b381ea25000)
    libBasicTools-Pw.so.1 => /farequote/Deliverables/PricingMdlw/PRW-OUCC100/BasicServices/Lib/libBasicTools-Pw.so.1 (0x00002b381eb2f000)
    libContextlessProcesses-Xt.so.1 => /farequote/Deliverables/TechnicalServices/TechnicalProcesses/Lib/libContextlessProcesses-Xt.so.1 (0x00002b381ec38000)
    libObjectsTrc-Pw.so.1 => /farequote/Deliverables/PricingMdlw/PRW-OUCC100/ObjectsServices/Lib/libObjectsTrc-Pw.so.1 (0x00002b381ed3a000)
    libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002b381ef62000)
    libm.so.6 => /lib64/libm.so.6 (0x00002b381f163000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002b381f2b8000)
    libc.so.6 => /lib64/libc.so.6 (0x00002b381f3c6000)
    libfqparams.so.1 => /farequote/Deliverables/Middleware/libfqparams.so.1 (0x00002b381f5f6000)
    libdate.so.1 => /farequote/Deliverables/Middleware/libdate.so.1 (0x00002b381f712000)
    libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00002b381f816000)
    /lib64/ld-linux-x86-64.so.2 (0x00002b381e4fd000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b381f939000)
    liblog.so.3 => /farequote/Deliverables/Middleware/liblog.so.3 (0x00002b381fa50000)
    libtpl.so.1 => /farequote/Deliverables/Middleware/libtpl.so.1 (0x00002b381fb5a000)
    Puis, via gdb, après avoir fait un run de test-toto.exe, je récupère les infos données par les commandes shared et where.

    Shared :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    (gdb) shared
    Symbols already loaded for /lib64/ld-linux-x86-64.so.2
    Symbols already loaded for /home/lgalluccio/CompoolTest/LibsTest/libCompoolEM-Prg.so.1
    Symbols already loaded for /home/lgalluccio/CompoolTest/LibsTest/libfaketechdata.so
    Symbols already loaded for /farequote/Deliverables/Middleware/libmisc.so.2
    Symbols already loaded for /farequote/Deliverables/Middleware/libemmalloc.so.1
    Symbols already loaded for /farequote/Deliverables/Middleware/libdbg.so.0
    Symbols already loaded for /farequote/Deliverables/PricingMdlw/PRW-OUCC100/BasicServices/Lib/libBasicTools-Pw.so.1
    Symbols already loaded for /farequote/Deliverables/TechnicalServices/TechnicalProcesses/Lib/libContextlessProcesses-Xt.so.1
    Symbols already loaded for /farequote/Deliverables/PricingMdlw/PRW-OUCC100/ObjectsServices/Lib/libObjectsTrc-Pw.so.1
    Symbols already loaded for /usr/lib64/libstdc++.so.6
    Symbols already loaded for /lib64/libm.so.6
    Symbols already loaded for /lib64/libgcc_s.so.1
    Symbols already loaded for /lib64/libc.so.6
    Symbols already loaded for /farequote/Deliverables/Middleware/libfqparams.so.1
    Symbols already loaded for /farequote/Deliverables/Middleware/libdate.so.1
    Symbols already loaded for /usr/lib64/libexpat.so.1
    Symbols already loaded for /lib64/libpthread.so.0
    Symbols already loaded for /farequote/Deliverables/Middleware/liblog.so.3
    Symbols already loaded for /farequote/Deliverables/Middleware/libtpl.so.1
    Where:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    (gdb) where
    #0  0x00002b6b131e7c76 in _dl_fini () from /lib64/ld-linux-x86-64.so.2
    #1  0x00002b6b140d6177 in exit () from /lib64/libc.so.6
    #2  0x00002b6b140c115b in __libc_start_main () from /lib64/libc.so.6
    #3  0x0000000000400699 in _start ()
    La derniere information que je peux donner est que la librairie "libfaketechdata.so" consiste en une dummy librairie que j'ai compilé hors du makefile principal et j'ai rattaché ensuite à la compilation principale.
    Pour générer cette librairie, j'ai effectué la commande de compilation suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc faketechdata.c -shared -fPIC -o libfaketechdata.so -D__UNIX64__ -I../Include ......
    Pour information générale, je suis sur un Opteron Suse9.1 SLES10

    Avec tout ceci, est ce que quelqu'un pourrait me dire d'où vient mon segmentation fault car je ne vois pas trop l'origine du probleme.

    Merci
    Ludovic

  2. #2
    Membre averti Avatar de cmoibal
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2007
    Messages : 361
    Points : 414
    Points
    414
    Par défaut
    salut,

    pour ton problème tous dépend de ton programme, une segmentation fault est en générale un accés a une zone mémoire non authorizé ou non alloué....

    donc, il faut suivre le code ligne par ligne ave le gdp, est limité la zone de recherche. et après ça, tu peut verifier l'utilisation des variable dans ce bout de code ...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 34
    Points : 20
    Points
    20
    Par défaut
    En fait, je me suis rendu compte que j'ai oublié d'allouer ma structure principale.



    Maintenant, mon execution s'effectue sans probleme.

    Merci de ton aide.

    Ludovic

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/12/2009, 12h02
  2. probleme d'execution :segmentation fault
    Par chochatown dans le forum C++
    Réponses: 1
    Dernier message: 11/06/2009, 19h43
  3. aide sur ce le probleme de segmentation fault
    Par selmani300 dans le forum C++
    Réponses: 3
    Dernier message: 26/03/2009, 07h48
  4. Probleme de segmentation fault avec sprintf
    Par MathG dans le forum C++
    Réponses: 5
    Dernier message: 14/12/2006, 01h12
  5. [ERREUR D'EXECUTION] Segmentation Fault
    Par CestPasMoi dans le forum C++
    Réponses: 3
    Dernier message: 26/11/2005, 17h38

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