Rechercher : dans
Par :

Probleme en fortran 90

Dernière réponse le 8 jan 2008 à 12:26:38 matthieuabristol, le 7 jan 2008 à 11:03:02 
 Signaler ce message aux modérateurs

Bonjour,
Je travaille en fortran 90, mon programme compile, mais quand je lance l'executable j'ai un message d erreur:
forrtl: severe (168): Program Exception - illegal instruction
Image PC Routine Line Source
libpthread.so.0 00002AF1F1E3D130 Unknown Unknown Unknown
a.out 00000000007958C0 Unknown Unknown Unknown
Quest ce que sa veut dire? que dois je faire ?
Merci d'avance pour vos conseils, et bonne anne a tous
Matthieu

Configuration: Linux Suse
Firefox 2.0.0.10

Meilleures réponses pour « probleme en fortran 90 » dans :
Rotation écran / Affichage inversé (90° ou 180°) VoirSi votre écran est inversé (rotation d'angle 90° voire 180°), ceci est dû : soit aux propriétés de votre carte graphique soit à une mauvaise manipulation sur le clavier Vérifier les propriétés de la carte graphique Cliquer avec le bouton...

2

juanpablo, le 7 jan 2008 à 11:22:31

Salut

ton code branche à un endroit où il n'y a pas d'instruction légale. c'est dans une lib de thread donc si tu lances un thread l'adresse est incorrecte , rajoutes un LOC peut etre (pour des appels win32 ça marche )

Répondre à juanpablo

3

matthieuabristol, le 7 jan 2008 à 11:26:31

Merci pour la reponce, mais je suis debutant en fortran donc je ne la comprend pas trop est ce que tu peu s il te plai me l'expliquer
Merci d'avance

Répondre à matthieuabristol

matthieuabristol, le 7 jan 2008 à 11:28:09

J ai mis une fonction en f77 dans mon programme en f90 est ce que c'est possible que l'erreur vienne de la?

Répondre à matthieuabristol

5

juanpablo, le 7 jan 2008 à 11:34:02

Je ne pense pas je le fais régulierement(ftn77 salford, ftn90/95 silverfrost)

Répondre à juanpablo

4

juanpablo, le 7 jan 2008 à 11:31:16

Re

c'est une hypothese n'ayant aucune idée sur ton programme, si tu peux le résumer ce serait mieux...

Répondre à juanpablo

6

matthieuabristol, le 7 jan 2008 à 11:36:04

Dans le programme en f90 je veut chercher le zero d'une fonction, donc pour sa je fait appel a la fonction ZBRENT que j'ai en f77. ZBRENT fait appel a une autre fonction (celle dont je dois trouver le zero) qui est en f90.

Répondre à matthieuabristol

7

juanpablo, le 7 jan 2008 à 11:43:29

Ok c'est pas un pb de thread mais c'est bien un pb de passage d'adresse a ta fonction ZBRENT

ce que je disais c'est d'essayer de mettre LOC(nom) au lieu de nom en argument

Répondre à juanpablo

8

matthieuabristol, le 7 jan 2008 à 11:52:36

En mettant LOC(nom) dans ZBRENT, sa compile toujours mais en faisant a.out j'ai maintenant un nouveau message d'erreur:matthieu@theo1-pc8:/work2/matthieu/DFT/prog> a.out
forrtl: severe (168): Program Exception - illegal instruction
Image PC Routine Line Source
Unknown 00007FFF5CC7BFBA Unknown Unknown Unknown

Répondre à matthieuabristol

9

juanpablo, le 7 jan 2008 à 12:09:35

Bizarre ... autre piste dans ton bloc progral où tu appelles ZBRENT as tu declaré ta fonction ?


program prg

external nomf
real nomf ! ou autre type

call ZBRENT ( ... nomf ...)

end

Répondre à juanpablo

10

matthieuabristol, le 7 jan 2008 à 12:22:52

J ai declarer les deux fonction en double precision:
double precision ::gamma11zero
double precision ::gamma11cste,gamma11trouve,depart,arrive,zero,erreur,ZBRENT­

Répondre à matthieuabristol

11

juanpablo, le 7 jan 2008 à 12:38:23

Reste juste le external à voir...

Répondre à juanpablo

12

matthieuabristol, le 7 jan 2008 à 12:41:03

J'ai essayer aussi le external mais toujour le meme probleme

Répondre à matthieuabristol

13

juanpablo, le 7 jan 2008 à 12:45:53

Le probleme est aiileurs alors, mais je ne vois plus trop

Répondre à juanpablo

14

Char Snipeur, le 7 jan 2008 à 14:12:22

Salut. J'ai pas trop d'idée, mais je te conseil d'essayer :
de supprimer l'appel à la fonction f77 voir si ça viens de là
De faire un tout autre pogramme ne f90 pour voir si ça ne viendrai pas d'une mauvaise installation du compilateur.
Essayer de voir d'où viens le problème précisement avec un debuggeur
Salutation ! Quand on sait pas, on touche pas !JBT
Char Snipeur

Répondre à Char Snipeur

15

matthieuabristol, le 7 jan 2008 à 18:01:36

C'est quoi un debugger, ou est ce que je peu en trouver?

Répondre à matthieuabristol

16

 Char Snipeur, le 8 jan 2008 à 12:26:38

Un debugueur, c'est un programme qui execute ton programme et regarde dans quel fonction, quel ligne est emise l'exeption.
si tu compile avec gcc (ou gfortran) le debug c'est "gdb" et pour l'utiliser au mieu il faut mettre l'option -g lors de la compilation.
Si tu n'as pas gcc, cherche sur le net
Salutation ! Quand on sait pas, on touche pas !JBT
Char Snipeur

Répondre à Char Snipeur