[..] Freeze de la fonction stdoutread sous windows 2003

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

[..] Freeze de la fonction stdoutread sous windows 2003

#1

Message par sksbir »

Bonjour

J'ai un soucis qui me parait vraiment très pointu, et je soupçonne là un bug dans autoit : Dans certaines condition, l'exploitation du résultat d'une commande run à l'aide d'une boucle qui scanne le résultat avec stdoutread se fige.

J'ai donc écrit le script suivant pour essayer d'affiner le soucis:
► Afficher le texte
Le programme est compilé en mode console.

Vous pouvez essayer le script chez vous, après avoir renseigné "machine1" et "machine2" avec le nom de 2 PC. L'idée étant de scanner le résultat d'une commande SC distante ( donc machine1<> machine2 ).
Pour ma part, ce script fonctionne parfaitement entre 2 machines windows XP SP3 (il a tourné toute la nuit) , mais se fige de façon aléatoire entre 2 machines windows 2003 server.

Quand ça se fige, l'utilisation du CTRL+C ne termine pas le programme ( alors que CTRL+C termine le programme quand il n'est pas figé ). Le kill via le gestionnaire de tâche reste heureusement possible.

Quand c'est figé, l'icone du programme autoit ( que je n'ai pas customisée ni masquée ) est également figée : impossible de terminer le programme via cette icône ni même d'obtenir le menu par défaut via un clic de souris. ( et ça, ça penche en faveur d'un bug autoit non ? )

Quand le programme est figé, il n'y a pas de process SC.EXE "fils" du programme.
Le freeze peut survenir n'importe quand: après 2 itérations comme 200...

A priori, sous windows 2003, ça ne se fige que quand SC est lancé pour obtenir le résultat d'une machine distante, mais c'est peut-être un hasard

Là, c'est compilé avec autoit v3.3.40. J'imagine que je vais devoir commencer par compiler ça avec la dernière version,
[edit] Recompilé en mode console avec autoit v3.3.61 et recompilé --> le problème reste entier.

[edit bis] Test croisé : la machine W2003 fait un SC d'un service présent sur une machine winXP et vice-versa. le freeze se produit toujours sur la machine w2003.

[edit ter] la récupération de SC.exe version windows XP et utilisation sur windows 2003 ne change rien.
SC.exe version windows XP : 5.1.2600.5755
SC.exe verion windows 2003 : 5.2.3790.4455

De plus SC.exe version windows 2003 ne fonctionne pas sous windows XP : on obtient rien en retour (mais SC.exe version windows XP fonctionne sous 2003)



Je suis toujours preneur d'infos intéressantes à ce sujet.

Merci d'avance :)
Répondre