Stack overflow selon répertoire du programme

Fermé
remek - 28 nov. 2008 à 23:18
 remek - 1 déc. 2008 à 19:25
Bonjour,

je travaille sur un programme Fortran que je compile sans problème et sans erreur sous Windows XP. Mais lorsque je veux le faire tourner, un phénomène étrange se produit. Selon l'emplacement de mon programme, je veux dire par là selon le répertoire dans lequel il se trouve, le programme plante et me met "stack overflow". Sur un autre ordinateur, je n'ai pas ce problème. Il faut aussi que je précise que j'ai déjà eu affaire au problème de "stack overflow" que j'ai réglé en augmentant la taille du stack.

Quelqu'un a-t-il déjà eu ce genre de problème ? Pensez-vous que le problème vienne de mon programme, ou bien de Windows ? Je pencherais plutôt pour la deuxième option étant donné que je n'ai pas ce souci sur un autre ordinateur.

Merci d'avance pour votre aide !

remek
A voir également:

4 réponses

Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 329
28 nov. 2008 à 23:24
Bonsoir,
Que fait ton programme exactement? En quoi le répertoire influe-t-il sur l'exécution?
Pourquoi dis-tu que c'est la faute de windows? Sur quel OS l'as-tu testé lorsque tu dis "un autre ordinateur"?

Cordialement,
0
Bonjour,

et merci pour ta première réponse!

Il s'agit d'un programme de calcul statistique, et souvent il ne fait rien justement : il plante et m'affiche juste "Stack overflow". J'ai remarqué qu'il suffit que je le change de répertoire, et là il fonctionne. J'ai vraiment l'impression qu'il fonctionne selon le répertoire dans lequel il se trouve, ce qui n'a pas de sens pour moi mais étant un novice quelque chose m'échappe peut-être. Sur un autre ordinateur, également équipé de Windows XP, je n'ai pas ce genre de problème, le programme tourne, peu importe dans quel répertoire il se trouve....

J'espère avoir été plus clair !

Merci encore !

Cordialement,
remek
0
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 329
29 nov. 2008 à 01:24
Bonsoir,
Et s'il fait un stack overflow dans un répertoire, même si tu le relances 50fois dans ce répertoire, il fait toujours un stack overflow ?

Cordialement,
0
Droopy_ Messages postés 248 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 17 janvier 2009 25 > Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009
29 nov. 2008 à 02:05
Il se peut aussi qu'une fonction récursive passe le chemin en paramètre, et selon la taille du chemin, ça sature la pile ou pas...

(Je connais pas Fortran...)
0
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 329 > Droopy_ Messages postés 248 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 17 janvier 2009
29 nov. 2008 à 02:12
Moi je pensais à un parcours en profondeur qui plantait à cause de liens symboliques mal gérés (mais bon, j'imagine que windows n'est pas assez bête pour planter de cette manière).

M'enfin, apparemment le programme n'agit pas sur les répertoires, donc c'est assez curieux.

Cordialement,
0
Pour répondre à Marco la baraque, il me semble effectivement qu'en m'acharnant et en le relançant plusieurs fois j'ai réussi à le faire tourner. Mais pour être honnête la plupart du temps je le change juste de répertoire pour arriver à mes fins.

Le programme n'agit pas sur les répertoires non, il s'agit juste d'un programme de calcul statistique qui se contente de lire un fichier contenant les commandes (spécification de mon modèle à estimer), qui fait ses calculs et sauvegarde les résultats dans différents fichiers.

J'ai déjà augmenter la taille de la pile, et je ne pense vraiment pas que ce soit le problème car le programme planterait tout le temps sinon il me semble, et pas seulement dans certains répertoires... vraiment étrange.

Merci en tout cas pour vos réponses, si vous avez d'autres idées ou d'autres pistes je suis preneur ;)

remek
0
toujours pas resolu ce mysterieux probleme... personne dans l'assistance n'a d'idee?
0