Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
nombre réponses : 25

#0 -1 »  [RéSOLU] Trois ou Dix-Neuf ? » Le 23/07/2015, à 08:36

dva2tlse
Réponses : 11

Bonjour le forum; j'ai déjà posé sur ce forum des questions relatives au développement que j'ai à faire à mon boulot, et vos réponses m'ont bien aidé donc je reviens. C'est un gros programme en fortran, enfin gros pour moi en tous cas, qui ne suis pas du tout développeur mais ingénieur mécanicien, et le problème qui se pose à moi est, alors que ça marche pas mal sur un processeur, de pouvoir le faire tourner sur plusieurs proc's en même temps pour que ça aille plus vite, tout en contrôlant un peu ce qui se passe.

    [lecture optionnelle]
    Le programme lit ses données d'entrée, entiers et réels, dans six fichiers.
    Le premier ne contient principalement qu'une liste d'entités à traiter de façon répétitive. (jusqu’à onze mille entités environ)
    À l'aide de trois autres des fichiers d'entrée, chaque entité est transformée en une série d'une centaine de couples entier-réel.
    À l'aide de ces couples, les deux autres fichiers servent à fabriquer une gigantesque matrice de 31640 lignes par 326 colonnes, dans le sous programme le plus gourmand en ressources-machine.
    Puis chaque colonne est traitée pour donner un simple nombre de sortie, qui est donc une fonction de l'entité sélectionnée. (et des contenus des divers fichiers)
    Ça fait un paquet d'opérations semblables que je voudrais partager entre les processeurs de la machine que j'ai pour ce boulot. (une linux red-hat)

C'est une machine à trois processeurs x86_64 alors que je croyais jusqu'à hier qu'elle en avait dix-neuf. (d'après un collègue)
Donc j'avais un script en bash qui partageait le fichier d'entrèe en NP parts avec "awk" (NP=Nombre de Proc's voulus) et le script lancait $NP instances du programme dans $NP sous répertoires temporaires; et les résultats venaient s'accumuler à la suite les uns des autres dans un unique fichier de sortie.
J'avais imaginé pendant un temps de spécifier préalablement un N° de proc' pour faire chaque portion du boulot, mais on m'a dit sur ce forum que le système s'en chargerait seul. http://forum.ubuntu-fr.org/viewtopic.php?id=1526241
En effet, la vingtaine de relevés de temps que j'ai effectués me confirme un temps de calcul dépendant linéairement du nombre d’éléments, et inversement proportionnellement à $NP, le Nombre de Proc's que je croyais utiliser.

Et hier, PATATRAS... tout ce bel agencement s'effondre, il n'y a plus qu'une seule instance qui tourne. (et c'est en essayant de comprendre pourquoi que j'apprends que la machine n'a que trois proc's)

    [question]
Comment les relevés de temps que j'ai faits ont ils pu me mystifier au point que je croyais, chiffres à l'appui, que la machine avait 19 ou 20 proc's alors qu'elle n'en a que trois, par le simple jeu d'un programme lancé en plusieurs instances.

Et surtout, comment faire pour que ça remarche; il me faut récupérer la possibilité de faire s'exécuter à la fois plusieurs instances de mon programme.
    Merci,
David

#1 Re : -1 »  [RéSOLU] Trois ou Dix-Neuf ? » Le 23/07/2015, à 13:09

dva2tlse
Réponses : 11

@jplemoine : ça m'a fait tiquer aussi, mais comme c'est une instruction que "quelqu'un" à donnée à mon colègue, je me suis dit qu'il y aurait peut-être eu 20 proc's et qu'"on" lui recommandait de n'en utiliser que 19 pour en laisser un à la machine. (et moi je n'en utilisais que 18 en empilant le même genre de "sécurité" peut-être inutile)

@claudius01: je fais ça et reviens copier le résultat dès que c'est fait.

EDIT: ça y est; on a l'air d'avoir affaire à un client assez sérieux, mais qu'est-ce que ça veut dire exactement; et quel rapport avec les trois x86_64 de la commande "uname -a" qui est la seule que je connaisse ?
"uname -a" -> Linux frasweapp510 2.6.18-404.el5 #1 SMP Sat Mar 7 04:14:13 EST 2015 x86_64 x86_64 x86_64 GNU/Linux


$ grep "physical id" /proc/cpuinfo |sort -u |wc -l
2
$ grep -c "processor" /proc/cpuinfo
32
$ echo "$(grep -c "processor" /proc/cpuinfo) / $(grep "physical id" /proc/cpuinfo |sort -u |wc -l)" | bc
16

David

#2 Re : -1 »  [RéSOLU] Trois ou Dix-Neuf ? » Hier à 17:39

dva2tlse
Réponses : 11

Bonjour,
oui merci, j'ai une machine à 32 coeurs. Je n'ai pas encore tout utilisé, mais j'ai déjà tourné un calcul à 18, qui est supérieur à seize, donc le compte doit y être.
David

#3 Re : -1 »  [RéSOLU] Trois ou Dix-Neuf ? » Hier à 17:59

dva2tlse
Réponses : 11

Oui en effet il se passe des choses bizarres. Alors si tu veux bien t'y intéresser, je vais essayer de décrire la situation, mais ça va prendre un peu de temps.
David

#4 Re : -1 »  [RéSOLU] Trois ou Dix-Neuf ? » Le 23/07/2015, à 14:49

dva2tlse
Réponses : 11

Ok merci, donc je sais que la bécane à 32 cœurs.

Maintenant dans mon script j'ai une boucle sur les instances :

for I in $(seq 1 $NP) # I est l'indice des instances 
do
    cd /S/SCRATCH/DVAtmp/TMP$I
    echo MTUV: Demarrage du TUV dans TMP$I par \"\(../TUV $I $FICRES $FICINP\) \&\" dans \$PWD=$PWD.
    (../TUV $I $FICRES $FICINP) &
done

Ceci est une partie d'un script MTUV (Multi TUV) que je lance comme suit :

./MTUV 3 p2srfd016Ti_3 el016Ti.inp > tmp016Ti_3 2>&1

Et qui fait dans chacun des sous répertoires temporaires :

(../TUV $I $FICRES $FICINP) &

Et jusqu'à hier, j'avais les résultats de chacune des instances qui se succédaient avec quelques entrecroisements dans le fichier se sortie tmp016Ti_3; et maintenant, deux des trois instances n'écrivent plus jusqu'à leur fin.
Pourquoi ?
David, perdu ???

#5 Re : -1 »  [RéSOLU] Trois ou Dix-Neuf ? » Hier à 18:57

dva2tlse
Réponses : 11

Bonsoir Tiramiseb,
J'ai un programme en fortran qui s'appelle TUV, que je développe à mon boulot, sur une machine red-hat à 32 cœurs, et qui fait une grosse opération gourmande en ressources en deux secondes environ.
Comme c'est un travail qui est une spécialité de ma boite, et il est important que ça se fasse vite, sur un mât-réacteur d'avion, qui nécessite qu'on le fasse onze mille fois environ.
Donc j'ai fait un script MTUV, comme Multi-TUV, qui partage le travail à faire sur NP cœurs pour aller plus vite.
Une première partie du script partage les données d'entrée entre NP répertoires temporaires, où tourne TUV sur chaque part de travail à faire, et cela se passe parfaitement bien.
Puis je voudrais qu'une boucle comme celle qui suit, me fasse tous les calculs :
Je lance

 ./MTUV 4 sortie.txt entrée.txt >>../MTUV.txt 2>&1

Le script MTUV est comme suit :

NP=$1
FICRES=$2
FICINP=$3
#
# Partage des données d'entrée en NP parts, qui vont chacune dans un des sous répertoires TMP$I.
#
for I in $(seq $NP)
do
    (echo
    cd /S/SCRATCH/DVAtmp/TMP$I
    echo MTUV: Ici, \$I=$I\; Demarrage du TUV par \(../TUV $I $FICRES $FICINP \>\> ../MTUV.txt \2\>\&\1\) dans \$PWD=$PWD.
    ../TUV $I $FICRES $FICINP >>../MTUV.txt 2>&1 # comment bien faire les redirections ?
    echo
    ps -fu david|grep TUV|grep -v grep # pour contrôler.
    echo) & # chaque valeur de $I est un subprocess
done
echo MTUV: Fin. more ./MTUV.txt

Chaque instance du programme tourne dans son propre subprocess, mais j'ai un problème avec les sorties :
Le programme est en cours de développement donc toutes les sorties intermédiaires m'intéressent pour vérifier que tout se passe bien. Il fût un temps, malheureusement révolu, où chaque instance écrivait ses sorties quelque part dans le /tmp, et au fur et à mesure que les différentes instances se terminaient, cette sortie partielle venait à la suite des précédentes. Et en fin de compte tout se retrouvait bien ordonné dans le fichier où j'avais redirigé la sortie du script principal.
  David

#6 Re : -1 »  [RéSOLU] Pourquoi ne vois-je pas les stdout des subprocess' enfants ? » Le 29/07/2015, à 14:33

dva2tlse
Réponses : 6

Le "gdb" me dit exactement quelle instruction de mon fortran fait planter le programme, [.../...] et je viens de comprendre pourquoi; c'est un test que j'avais prévu pour les deux faces d'une plaque, et quand on travaille sur une barre qui n'a pas de face, le test pédale et sort un status non nul, et le sous programme qui est censé afficher le "status" résultant du test fait une segfault pour je-ne-sais quelle raison; mais ce n'est plus ce qui m'importe maintenant que j'ai trouvé la cause initiale.
Bonne continuation et merci de m'avoir aidé en suivant l'affaire,
David

#7 -1 »  [RéSOLU] Pourquoi ne vois-je pas les stdout des subprocess' enfants ? » Le 27/07/2015, à 11:52

dva2tlse
Réponses : 6

Bonjour le forum,
Tout est dans la question; j'ai un problème autour duquel je tourne depuis quelques jours sans trouver d'issue.
J'ai un script qui lance NP instances d'un même programme TUV, dans $NP sous répertoires temporaires différents, avec des entrées différentes et dans des subprocess' différents.
Je voudrais pouvoir analyser après coup les stdout des différents subprocess.

Le script MTUV qui devrait faire cela, fait une boucle sur $NP. NP est une entrée en ligne de commande, le nombre de parts; FICRES est le nom du fichier de résultats, et FICINP sont les noms des fichiers d'entrée. (tout est déjà bien présent dans les répertoires TMP$I.

for I in seq(1 $NP)
do
    cd /S/SCRATCH/DVAtmp/TMP$I
    echo MTUV: Demarrage du TUV dans TMP$I par \"../TUV $I $FICRES $FICINP \&\" dans \$PWD=$PWD.
    echo "../TUV $I $FICRES $FICINP & :"
    2>&1 ../TUV $I $FICRES $FICINP & 
    echo
done

Je lance le script par "./MTUV NP FICRES FICINP" et je voudrais que les résultats de chacune des instances du programme qui tourne dans les différents subprocess' se voient en sortie pour pouvoir rediriger celle ci vers un fichier que j'analyserais plus tard.
Merci,
David

#8 Re : -1 »  [RéSOLU] Pourquoi ne vois-je pas les stdout des subprocess' enfants ? » Le 27/07/2015, à 14:22

dva2tlse
Réponses : 6

Bonjour claudius01,
je voudrais simplement que les stdout et stderr de TUV aillent dans un autre fichier qui s’appelle tmp016Ti_3, à la suite des stdout et stderr de MTUV  qui est le père, et dont les TUV sont des enfants.

Je voudrais avoir : dans le répertoire supérieur :
-le script MTUV qui crée des subprocess où tournent les TUV, dans les sous répertoires TMPi.
-le fichier de contrôle, tmp016Ti_3, qui commence par les stdout et stderr de MTUV.

Puis après ses premières lignes qui fabriquent les données d'entrée pour les TUV dans les sous répertoires TMPi, MTUV forke les TUV chacun dans son propre sous répertoire TMPi, et je voudrais que les stdout et stderr des TUV aillent à la suite les uns des autres, dans le fichier de contrôle, tmp016Ti_3.

#9 Re : -1 »  [RéSOLU] Pourquoi ne vois-je pas les stdout des subprocess' enfants ? » Le 29/07/2015, à 12:06

dva2tlse
Réponses : 6

Oui Claudius01, tu as bien pigé ce que je voulais; et à un moment je l'avais eu déjà, mais chaipukoman, et ça s'empilait bien dans le fichier de contrôle, que je n'avais qu'à mettre à jour sans attendre la fin des process...
Mais pour l'instant ce qui me pose problème est une segfault que j'ai déjà mentionnée dans un des nombreux fils que j'ai ouverts pour essayer de tout bien comprendre.

Voici comment elle se produit :

MTUV: Lancements
MTUV: $NP=4 (Nb de Proc's voulu)
MTUV: Demarrage du TUV dans TMP1 par "(2>&1 ../TUV 1 p2srfdTiAB_4 elements-TiAB.inp)" dans $PWD=/S/SCRATCH/DVAtmp/TMP1.
10014    10712 10610  0 11:37 pts/6    00:00:00 ../TUV 1 p2srfdTiAB_4 elements-TiAB.inp
MTUV: Demarrage du TUV dans TMP2 par "(2>&1 ../TUV 2 p2srfdTiAB_4 elements-TiAB.inp)" dans $PWD=/S/SCRATCH/DVAtmp/TMP2.
10014    10712 10610  3 11:37 pts/6    00:00:00 ../TUV 1 p2srfdTiAB_4 elements-TiAB.inp
10014    10725 10610  0 11:37 pts/6    00:00:00 ../TUV 2 p2srfdTiAB_4 elements-TiAB.inp
MTUV: Demarrage du TUV dans TMP3 par "(2>&1 ../TUV 3 p2srfdTiAB_4 elements-TiAB.inp)" dans $PWD=/S/SCRATCH/DVAtmp/TMP3.
10014    10712 10610  5 11:37 pts/6    00:00:00 ../TUV 1 p2srfdTiAB_4 elements-TiAB.inp
10014    10725 10610  0 11:37 pts/6    00:00:00 ../TUV 2 p2srfdTiAB_4 elements-TiAB.inp
10014    10729 10610  0 11:37 pts/6    00:00:00 ../TUV 3 p2srfdTiAB_4 elements-TiAB.inp
MTUV: Demarrage du TUV dans TMP4 par "(2>&1 ../TUV 4 p2srfdTiAB_4 elements-TiAB.inp)" dans $PWD=/S/SCRATCH/DVAtmp/TMP4.
10014    10712 10610  6 11:37 pts/6    00:00:00 ../TUV 1 p2srfdTiAB_4 elements-TiAB.inp
10014    10725 10610  0 11:37 pts/6    00:00:00 ../TUV 2 p2srfdTiAB_4 elements-TiAB.inp
10014    10729 10610  0 11:37 pts/6    00:00:00 ../TUV 3 p2srfdTiAB_4 elements-TiAB.inp
10014    10733 10610  0 11:37 pts/6    00:00:00 ../TUV 4 p2srfdTiAB_4 elements-TiAB.inp
MTUV: ici fin Ok.
10014    10712 10610 10 11:37 pts/6    00:00:00 ../TUV 1 p2srfdTiAB_4 elements-TiAB.inp
10014    10725 10610  0 11:37 pts/6    00:00:00 ../TUV 2 p2srfdTiAB_4 elements-TiAB.inp
10014    10729 10610  0 11:37 pts/6    00:00:00 ../TUV 3 p2srfdTiAB_4 elements-TiAB.inp
10014    10733 10610  0 11:37 pts/6    00:00:00 ../TUV 4 p2srfdTiAB_4 elements-TiAB.inp
./MTUV: line 205: 10725 Segmentation fault      ../TUV $I $FICRES $FICINP 2>&1  (wd: /S/SCRATCH/DVAtmp/TMP2)
./MTUV: line 205: 10729 Segmentation fault      ../TUV $I $FICRES $FICINP 2>&1  (wd: /S/SCRATCH/DVAtmp/TMP3)
./MTUV: line 205: 10733 Segmentation fault      ../TUV $I $FICRES $FICINP 2>&1  (wd: /S/SCRATCH/DVAtmp/TMP4)
10014    10712 10610 78 11:37 pts/6    00:00:03 ../TUV 1 p2srfdTiAB_4 elements-TiAB.inp
10014    10712 10610 88 11:37 pts/6    00:00:06 ../TUV 1 p2srfdTiAB_4 elements-TiAB.inp
10014    10712 10610 92 11:37 pts/6    00:00:09 ../TUV 1 p2srfdTiAB_4 elements-TiAB.inp
10014    10712 10610 94 11:37 pts/6    00:00:12 ../TUV 1 p2srfdTiAB_4 elements-TiAB.inp

  Et après c'est bien la sortie du premier fils qui est le seul à avoir résisté.

p2srfd:00 Debut du programme, 11h 37mn  1s

p2srfd:00 Arg.1= :1:

p2srfd:01 Arg.2= :p2srfdTiAB_4:
p2srfd:01 Arg.3= :elements-TiAB.inp:
p2srfd:01 cmd=$ ./TUV 1 p2srfdTiAB_4 elements-TiAB.inp                                          
p2srfd:01  C= 1 (arg.1 Ok)
p2srfd:01  FICINP=elements-TiAB.inp                                                               
p2srfd:01  FICRES0=p2srfdTiAB_4                                                                    
p2srfd:01  FICRES(0)=p2srfdTiAB_4.out                                                                
p2srfd:01 Juste avant l'appel de lecelt; C= 1, D=0, U=0

Et ça va bien jusqu'à la fin :

tesent:01 debut de tesent; C= 1, D=0, U=0, trim(FICRES(U))=p2srfdTiAB_4.out
tesent:01 trim(string0)= :[ $(ps -fu $USER|grep ./TUV|grep -v grep|wc -l) -gt 1 ]:
tesent:01 status0=256, status0.ne.0 <=> derniere instance et il faut finir ici. 11h 37mn 30s

tesent:01 echo \$\ $(date) 5999 C=1 \$\(date\)  \(-\> stdout der depuis tesent\)
tesent:01 trim(string1)= :echo \$\ $(date) 6999 C=1 >> ../p2srfdTiAB_4.out:
tesent:01 trim(string3)= :[ $(grep "6999 C" ../p2srfdTiAB_4.out|wc -l) -gt 0 ]: -> status3= 000

 scp ispc1212:/S/SCRATCH/DVAtmp/p2srfdTiAB_4.out ispc1214:/S/SCRATCH/dva

 ls -lrt *TiAB_4*
 ls -lrt *TiAB_4*.out
 more *TiAB_4*.out
 cat *TiAB_4*.out
 ls -lrt FEM/p2srfd.*

p2srfd:01 Fin

Maintenant, tout ce que je sais faire avec ça, est d'utiliser le "bt" (backtrace) de gdb, et ça va être coton d'arriver à m'en servir sur le premier des fils qui plantent.
M'enfin bon je te tiendrais un peu au courant par mes questions éventuelles, puisque j'en ai encore jusqu'à la fin de la semaine avant mes ouacances. (bien méritées évidemment)
David

#10 Re : -1 »  [RéSOLU] stdout, stderr et subprocess » Le 24/07/2015, à 16:34

dva2tlse
Réponses : 2

Ok merci claudius01; on verra ça lundi parce que là, je suis rentré chez ma maison, mais comme je l'ai dit plus haut, ça fait pas mal de temps que je tourne autour avec des essais variés, mais ça je n'avais pas encore essayé.
David
PS: ceci est la même histoire qu'un autre fil où tu as répondu aussi.

#11 -1 »  [RéSOLU] stdout, stderr et subprocess » Le 24/07/2015, à 12:13

dva2tlse
Réponses : 2

Bonjour,
je voudrais faire un script, en ksh ou bash je ne sais pas encore, pour exécuter plusieurs instances d'un même programme mais avec des entrés différentes, et dans des subprocess différents eux aussi. Je voudrais que toutes les sorties standard soient répercutées sur l'entrée standard du script, pour rediriger la sortie standard de celui ci vers un fichier que je pourrais consulter utérieurement.
J'aimerais bien aussi que les canaux stderr soient utilsables aussi puisque je suis en phase de développement du programme qui tourne dans les subprocess.

Pour l'instant, j'ai une boucle sur le nombre de subprocess voulus, NP, qui est passé en argument 1 au script, et chaque subprocess devrait tourner le programme avec un fichier de résultats FICRES en argument 2 et un fichier d'entrées FICINP en argument 3 :

echo
echo MTUVB: Debut... date=$(date)
echo
NP=$1
FICRES=$2
FICINP=$3
#
for I in $(seq 1 $NP) 
do
    cd /S/SCRATCH/DVAtmp/TMP$I
    echo MTUVB: Demarrage du TUVB dans TMP$I par \"\(../TUVB $I $FICRES $FICINP\) \&\" dans \$PWD=$PWD.
    echo
    (../TUVB $I $FICRES $FICINP) &
done
echo MTUVB: Fin.
echo
exit

Je le lance par "./MTUVB 3 p2srfd016Ti_3 el016Ti.inp >tmp016Ti_3B", mais le fichier tmp016Ti_3B vers lequel est redirigée la sortie standard du script ne contient que les sortie stanard du script, mais pas de ses subprocess' alors que c'est ce qui m'intéresse le plus.
Merci de m"aider; ça ne doit pas être bien compiqué mais ça fait pas mal de temps que je tourne autour sans trouver.
David

#12 Re : -1 »  [Résolu]Problèmes divers et unsupported PM cap regs » Le 11/07/2015, à 14:39

dva2tlse
Réponses : 48

Chapeau les mecs; je viens de lire tout ce fil, sur leque je suis tombé en cherchant des choses à propos du PM; je n'ai pas du tout les mêmes soucis que Dunatotatos, mais bravo pour avoir trouvé tous ensmble ce qui déconnait chez lui.
David

#13 Re : -1 »  [RÉSOLU] Boot error - non USB, non LIVE, pas de Pb évident de "mount". » Le 30/05/2015, à 08:39

dva2tlse
Réponses : 1

Je me réponds à moi même puisque l'affaire semble réglée, enfin ça a déjà redémarré plusieurs fois complètement depuis ce matin, puisque avant le premier démarrage, j'ai enlevé une clé USB de la façade; pourtant elle ne contenait que de vulgaires données, mais j'ai eu la bonne intuition de la virer.
David

#14 -1 »  [RÉSOLU] Boot error - non USB, non LIVE, pas de Pb évident de "mount". » Le 29/05/2015, à 21:51

dva2tlse
Réponses : 1

Bonjour,
depuis quelques jours, mon PC affiche "Boot error" sur fond noir dès après le passage par le BIOS, et ne bouge plus; il me faut alors faire CTL+ALT+DEL et F8 (ma machine qui est un vieux Compaq Presario) pour accéder au menu des "Options avancées" de démarrage, puis je choisis un des "Recovery mode" et ça tourne. (il y a une dizaine de choix, que j'interprète comme différents noyaux, mais je ne suis pas sûr du tout que ce soit ça)
Je viens de lire plusieurs posts où apparaissent ces mots "Boot error", mais ça ne m'éclaire pas beaucoup; quelqu'un sait il par quel bout considérer l'affaire pour que ça redémarre jusqu'au bout ?
Merci,
David

#15 Re : -1 »  Partage sur réseau local » Le 24/05/2015, à 19:24

dva2tlse
Réponses : 15

Bonjour,
je ne fais que plussoyer, il faut que tu voies "mount", "si tu savais aussi te servir de la commande mount qui elle fait la même chose manuellement" hébin tout irait bien; bon courage,
David

#16 -1 »  [RÉSOLU] Enveloppe de la messagerie-plusieurs comptes » Le 24/05/2015, à 17:37

dva2tlse
Réponses : 2

Bonjour,
je voudrais que l'applet enveloppe qui me signale l'arrivée de nouveaux mèls dans évolution sur ma machine, le fasse aussi pour d'autres comptes de messagerie, comme un IMAP à laposte.net, et un Webmail sur Outlook 365 à mon boulot.
Quelqu'un sait il comment faire, ou peut on me conseiller de la doc' à lire ?
Merci,
David

#17 Re : -1 »  [RÉSOLU] Enveloppe de la messagerie-plusieurs comptes » Le 25/05/2015, à 09:13

dva2tlse
Réponses : 2

Bonjour,
bonnne idée merci, comment ai-je pu ne pas y penser tout seul ?
David

#18 Re : -1 »  [RESOLU]réseau sftp » Le 24/05/2015, à 18:14

dva2tlse
Réponses : 7

Bonjour,
dans la mesure où ça passe par ssh, ça me parait logique que ça commence là où ça se loggue sur ton compte, donc à ta home-directory.
HTH,
David

#20 -1 »  Petit "stack overflow"... [abandonné] » Le 26/04/2015, à 17:13

dva2tlse
Réponses : 4

Bonjour ou bonsoir,
j'essaie de télécharger des podcasts d'émissions de France Culture et France Inter et France Musique au format mp3.
Malheureusement, ces émissions ne sont ré-écoutables que quand on est devant son PC, par le biais d'un "player" radiofrance. Et je ne peux pas télécharger les fichiers mp3 des émissions qui m'intéressent, pour les écouter plus tard sur un ipod que j'ai.
  Quand le "player" de radiofrance me propose de ré-écouter telle ou telle émission qui m'intéresse, le lien vers l'écoute sur lequel il faut cliquer pour commencer l'écoute, contient l'adresse réelle du fichier mp3 que je veux. Donc je peux le télécharger avec wget et tout va bien.
Par contre je veux mettre au point cette manip' pour ma compagne qui a un PC W8 (chuuut !), donc j'essaye de mettre au point une méthode similaire dans wine pour la lui proposer clés en mains.
Mais quand j'essaie d'installer wget pour windows dans wine, parce que j'en aurai besoin, hébin ça me dit :

C:\users\david>wget_wget_1.10.2b_anglais_11202.exe (ceci est le programme d'installation de wget pour windows)
C:\users\david>fixme:process:SetProcessDEPPolicy (1): stub
err:seh:setup_exception_record stack overflow 872 bytes in thread 0026 eip 7bc49223 esp 00240fc8 stack 0x240000-0x241000-0x340000

   Comment puis-je m'en sortir ?
Si quelqu'un a tout lu depuis le début, peut-être sait il comment je peux faire autrement; mais s'il n'y a pas de méthode sans wget, est-ce que je peux essayer de le reconstruire dans wine avec gcc à partir des sources qui sont dispo' chez sourceforge ?
  Ça fait un peu "marteau-pilon pour écraser une mouche", mais je ne vois pas comment faire plus simplement.
Quelqu'un peut il m'aider ?
Merci,
David

#21 Re : -1 »  Petit "stack overflow"... [abandonné] » Le 26/04/2015, à 17:40

dva2tlse
Réponses : 4

super; merci, je vais aller voir ça tout de suite,
merci encore,
David

EDIT: je n'arrive pas à le dézipper !

Est-ce qu'il faut le faire sour linux avec unzip ou sous "wine cmd" où je bosse aussi ?
David

#22 Re : -1 »  [Résolu] Compiler Wine - Intrepid 64bits » Le 26/04/2015, à 17:44

dva2tlse
Réponses : 5

Put... les mecs' chapeau; ça vous emmène loin du petit démineur ces jeux. BRAVO !
David

#23 Re : -1 »  segfault introuvable [RéSOLU] » Le 09/02/2015, à 19:09

dva2tlse
Réponses : 3

Ouais super; c'est exactement ça.
Je n'aurais jamais imaginé qu'on pouvait utiliser la redirection ainsi, mais ça semble être exactement ce qu'il me semble que j'aie besoin; mon exécutable s'appelle S (comme esSai) dans le répertoire où je travaille, et je le lance ordinairement avec ses arguments par :
$ ./S p2srfd05 el05.inp
Donc si j'ai bien compris, alors que je n'ai jamais vu ni utilisé de redirections précédant l'exécutable  (mébon YOUPI, je me coucherai moins ignare ce soir) ça devrait donner :
$ 2>&1 ./S p2srfd05 el05.inp
(ou avec des guillemets :    $ 2>&1 "./S p2srfd05 el05.inp";    pas forcément très utiles)

Et pour utiliser gdb je faisais
$ gdb ./S < RUN5A
ou RUN5A est un fichier de quelques lignes qui permet de passer les arguments et les commandes à gdb, avec :
        run p2srfd05 el05.inp
        bt
        q
        y
mais là, je ne sais pas trop où placer la redirection de stderr sur stdout.

  M'enfin j'essaierai ça demain au boulot puisque là je suis chez moi avec mon PC neurasthénique, alors que c'est pour un gigantesque boulot qui tourne 16 heures sur une red hat à 19 coeurs.
merci et à demain,
bonsoir et merci encore,
David

#24 Re : -1 »  segfault introuvable [RéSOLU] » Le 10/02/2015, à 08:28

dva2tlse
Réponses : 3

Bonjour claudius,
bon hébin bravo; je n'ai pas encore tout qui marche comme sur des roulettes, mais je sais ce qui patine; une initialisation de variable que je suspectais de temps à autres sans en avoir de preuve absolue, et maintenant je sais avec certitude que cette variable sert d'adresse et amenait une gamelle quand elle n'était pas encore définie.
Grand, grand, grand merci.
David