Linux

Segmentation fault (core dumped)

Violation de segmentation — accès mémoire interdit

Ce qui se passe réellement

Le processus a tenté d'accéder à une adresse mémoire en dehors de son espace d'adressage (déréférencement de pointeur nul, buffer overflow, stack overflow, use-after-free). Le noyau envoie SIGSEGV au processus et génère un fichier core dump si ulimit le permet. Le message dans dmesg inclut l'adresse fautive, le registre RIP (instruction pointer), et le mapping mémoire du processus.

Solutions

  1. 1Examiner le core dump avec GDB : gdb /chemin/binaire core puis bt (backtrace) pour voir la pile d'appels.
  2. 2Si c'est un binaire système : vérifier les mises à jour du paquet (apt update && apt upgrade ou équivalent).
  3. 3Vérifier la RAM avec memtest86+ — des segfaults aléatoires sur différents programmes indiquent souvent une RAM défectueuse.
  4. 4Si c'est une application compilée localement : recompiler avec -fsanitize=address pour identifier la source du bug.
  5. 5Vérifier que les bibliothèques partagées sont à jour : ldd /chemin/binaire pour lister les dépendances.
Explorer tous les codes Linux
← Retour à Error Decoder