Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2852 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Erreur de segmentation sur script bash

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur de segmentation sur script bash

n°1067099
redvivi
Posté le 15-08-2008 à 15:31:45  profilanswer
 

Bonjour à tous !
 
     Je rencontre un problème sur un script Bash (il s'agit d'un script qui récupère une URL et qui analyse la page, à des intervalles réguliers). Après quelques heures d'exécution, je commence à aperçevoir des erreurs comme des options non reconnues par cURL, et à la fin, le programme se termine par "Erreur de segmentation". Quand je relance le programme,  partir du même terminal, le problème recommence, mais cette fois-ci seulement après 1 heure environ.
 
    C'est un programme qui comporte des boucles et des variables, rien de plus.
 
D'ou peut provenir cette erreur ? dépassement du buffer ? dois-je libérer mes variables à chaque tour de boucle ?
 
Merci à tous !
RedVivi
 
PS: S'agissant d'un projet professionnel, je ne peux poster le code source.

mood
Publicité
Posté le 15-08-2008 à 15:31:45  profilanswer
 

n°1067107
twocats
Posté le 15-08-2008 à 17:02:11  profilanswer
 

Citation :

PS: S'agissant d'un projet professionnel, je ne peux poster le code source.


Trop fort !
Et donc en bon professionnel tu nous verse ton salaire si on débogue ton code...?


---------------
La réponse est 42
n°1067108
Fork Bomb
Obsédé textuel
Posté le 15-08-2008 à 17:02:50  profilanswer
 

redvivi a écrit :

(...)

 

PS: S'agissant d'un projet professionnel, je ne peux poster le code source.


Ca va être impossible de t'aider, désolé.

Message cité 1 fois
Message édité par Fork Bomb le 15-08-2008 à 17:03:46

---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°1067112
zeblods
Posté le 15-08-2008 à 17:16:39  profilanswer
 

redvivi a écrit :

Bonjour à tous !
 
     Je rencontre un problème sur un script Bash (il s'agit d'un script qui récupère une URL et qui analyse la page, à des intervalles réguliers). Après quelques heures d'exécution, je commence à aperçevoir des erreurs comme des options non reconnues par cURL, et à la fin, le programme se termine par "Erreur de segmentation". Quand je relance le programme,  partir du même terminal, le problème recommence, mais cette fois-ci seulement après 1 heure environ.
 
    C'est un programme qui comporte des boucles et des variables, rien de plus.
 
D'ou peut provenir cette erreur ? dépassement du buffer ? dois-je libérer mes variables à chaque tour de boucle ?
 
Merci à tous !
RedVivi
 
PS: S'agissant d'un projet professionnel, je ne peux poster le code source.


Essaye avec un langage que tu maîtrise, car visiblement le bash et les expressions régulières c'est pas du tout ton fort... (cf un autre post où tu posais des questions sur le même programme...)
Surtout si c'est pour du pro.

n°1067113
o'gure
Modérateur
Multi grognon de B_L
Posté le 15-08-2008 à 17:26:51  profilanswer
 

Fork Bomb a écrit :

Ca va être impossible de t'aider, désolé.


Je vois pas pourquoi il faut absolument voir le code pour aider quelqu'un à le débugguer.
Simplement en posant des questions et en le guidant y a moyen de faire beaucoup de chose.
 
Par exemple, monitorer l'état du système avant le crash.
Si c'est un problème de boucle foireuse qui consomme toute la mémoire, ca devrait être indiqué dans les logs du système que le kernel kill certain process...


---------------
Relax. Take a deep breath !
n°1067118
redvivi
Posté le 15-08-2008 à 17:51:22  profilanswer
 

zeblods a écrit :


Essaye avec un langage que tu maîtrise, car visiblement le bash et les expressions régulières c'est pas du tout ton fort... (cf un autre post où tu posais des questions sur le même programme...)
Surtout si c'est pour du pro.


 
Il arrive parfois que l'on te demande des choses en dehors de tes compétences...tout le monde n'a pas dans son entreprise un développeur qui attend gentiment que l'on lui pose des questions ou de developper un script. En tout cas je vais regarder dans les logs pour voir si il y a quelquechose.
 
Cependant, quelles sont les erreurs les plus courantes menant à une erreur de segmentation ? Une boucle qui tourne indéfiniment et qui assigne une nouvelle variable à chaque fois par exemple?

n°1067127
esox_ch
Posté le 15-08-2008 à 18:32:21  profilanswer
 

Heu ça peut pas être un segfault retourné par un des programmes que tu utilises dans tes boucles ? (style curl) ?
A la limite tu print tous les output de touts les programmes utilisés dans des fichiers à part comme ça tu sauras qui est le coupable


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1067136
redvivi
Posté le 15-08-2008 à 19:26:01  profilanswer
 

Tu veux dire rediriger le stderr ? Comment faire ?

n°1067167
zecrazytux
Posté le 15-08-2008 à 23:14:16  profilanswer
 

au hasard, 2>


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1067213
redvivi
Posté le 16-08-2008 à 09:38:23  profilanswer
 

Je pense que j'ai compris la source de tous mes maux...Par contre cette fois-ci je bute sur un problème. Je cherche à vérifier qu'une variable a la forme d'une adresse IP, je sens que ça va pas etre gagné ça...

mood
Publicité
Posté le 16-08-2008 à 09:38:23  profilanswer
 

n°1067215
o'gure
Modérateur
Multi grognon de B_L
Posté le 16-08-2008 à 09:44:44  profilanswer
 

http://imgs.xkcd.com/comics/regular_expressions.png
http://oreilly.com/catalog/regex/chapter/ch04.html
 


---------------
Relax. Take a deep breath !
n°1067219
redvivi
Posté le 16-08-2008 à 10:26:33  profilanswer
 

Roger ! Je m'y mets de suite !
 
Merci @ tous !

n°1067226
ogaby
Posté le 16-08-2008 à 11:56:38  profilanswer
 

Pour moi en bash, le seul problème qui peut se poser est d'ouvrir un fichier et de ne pas le fermer. Avec des variables je ne vois pas.
 
Pour ma culture perso, le problème venait d'où?

n°1067359
redvivi
Posté le 17-08-2008 à 12:29:01  profilanswer
 

Il semblerait que j'avais une variable (qui devait être de type ip), qui parfois contenait le code HTML d'une page web, et le fait de passer une page web en argument dans cURL provoquait une erreur de segmentation après quelques tours de boucle (avec cet argument).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Erreur de segmentation sur script bash

 

Sujets relatifs
Erreur lors de tests ifArgument dans un script
Un petit script de synchronisation de repertoires sur 2 serveursScript BAT, reprise après démarrage ?
[Script] Uploader une image sur imagup.comScript d'arret du PC si disque trop chaud
Samba+LDAP>Erreur de connection... a 127.0.01[bash] Tester la taille d'un fichier
fatale erreur : urpmi verrouillé (fait ch***)DEmande d'avis pour un script mac os X
Plus de sujets relatifs à : Erreur de segmentation sur script bash


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR