Page 2 sur 2

Re: Windows socket error

MessagePosté: Mar 25 Aoû 2009 11:12
de guda
J'ai suivi les préco suivantes :

http://support.microsoft.com/kb/196271

Rajout en base de registre de la clef MaxUserPort et comme valeur 65536.

Cela fait 2h que SIOC tourne sans plantage.... Croisons les doigts tapebaton

Re: Windows socket error

MessagePosté: Mar 25 Aoû 2009 14:26
de guda
Bonjour,

Voici ce que j'ai trouvé, il s'agit de la traduction d'un message que j'ai posté sur le forum d'Opencockpit :

Pour le test, j'ai activé au niveau du SIOC les clients IOCP 0 et 1 (pour Gauge Composer et VASFMC).

1- Au démarrage de SIOC, le process SIOC utilise 8,26 mo et ensuite grossit. Après 5 heures, il atteint 25mo... et continue d'enfler ==> c'est le symptôme d'une fuite mémoire

2 - En utilisant la commande “netstat –n”, on s'aperçoit que SIOC ne va pas arrêter d'ouvrir des connexions TCP jusqu'au crash : 110 ports par minutes!

Au début TCP ports = 1275, 1276
TCP 127.0.0.1:1275 127.0.0.1:8090 SYN_SENT
TCP 127.0.0.1:1276 127.0.0.1:8099 SYN_SENT

Au bout de 5h, TCP ports = 34674, 34675
TCP 127.0.0.1:34674 127.0.0.1:8090 SYN_SENT
TCP 127.0.0.1:34675 127.0.0.1:8099 SYN_SENT

Lorsqu'il atteint la limitation TCP de windows, il se gamelle.

Le contournement est de modifier/créer la clef de registre MaxUserPort. J'ai mis la valeur 65536 qui me donne 10h d'autonomie avec SIOC tapebaton : http://support.microsoft.com/kb/196271

Perso, Opencockpit n'en ayant rien à faire (des messages remontent à 2006 pour ce problème), je pense qu'il faut se satisfaire de cette solution.

Merci de me dire si cela corrige le bug chez vous.

Dan

Re: Windows socket error

MessagePosté: Mar 25 Aoû 2009 14:33
de Papa Charlie
Bonjour,
Ce qui est surprenant, c'est que Bob utilise IOCP aussi et ne rencontre pas ce problème... gratgrat
Philippe

Re: Windows socket error

MessagePosté: Mar 25 Aoû 2009 16:31
de guda
je pense que le problème que nous rencontrons n'arrive que lors de nos tests lorsque l'un des deux serveurs IOCP n'est pas en marche. En face SIOC n'arrête pas d'essayer d'établir la connexion. A vérifier.

Et puis, si on a 1 seul des deux clients IOCP de déclarer, on consomme deux fois moins de port TCP IP, ca doit donc aller moins vite avant le plantage.

D'autres paramètres peuvent intervenir comme le temps pour refermer une connexion, le nombre de port utilisable, le numéro du port au départ....

Maintenant, tout cela reste des suppositions et chacun doit faire un test pour vérifier si c'est vraiment ça le problème.

Re: Windows socket error

MessagePosté: Mar 25 Aoû 2009 18:58
de alain
RÉSOLU....
Du moins chez-moi.
Daniel est venu passer une journée chez-moi afin de régler quelques problèmes que j'avais avec le simu. Et il s'est attaqué à ce problème que nous sommes plusieurs à avoir...
La solution est très simple. il suffit de modifier les 2 lignes suivantes dans le SIOC du module qui plante (dans mon cas c'était un EFIS qui se trouvait en réseau) Si je dis des bêtises Daniel me corrigera.

[************** IOCP CLIENT MODULE #0 ***************]

[ Desactivar el módulo cliente IOCP ]
[ Disable IOCP client module ]
IOCPclient0_disable=Yes



[************** IOCP CLIENT MODULE #1 ***************]

[ Desactivar el módulo cliente IOCP ]
[ Disable IOCP client module ]
IOCPclient1_disable=Yes

Ces 2 lignes doivent être "Yes"

Chez moi on a fait 3 vols et aucun plantage alors qu'autrefois ça arrivait à chaque vol après environ 45 minutes.
Alors pour moi ça semble définitivement réglé.
Je n'ai pas ajouté "RÉSOLU" au post afin de m'assurer que pour tous le problème est disparu. Alors il serait intéressant que, si ça solutionne le problème, vous nous en faissiez part.
Merci à tous et particulièrement à Daniel... :)

Alain

Re: Windows socket error

MessagePosté: Mar 25 Aoû 2009 19:54
de nonolight
Ce serait une bonne nouvelle ! applaublanc applaublanc

Nono

Re: Windows socket error

MessagePosté: Mer 26 Aoû 2009 02:47
de Daniel
Bonjour à tous,

Pour régler votre problème de windows socket error, aller dans le fichier sioc.ini.

Dans les paramètres pour IOCP CLIENTS MODULES, il y a IOCP CLIENT MODULE #0 ET IOCP CLIENT MODULE #1.
Il faut mettre IOCPclient0_disable=yes et IOCPclient1_disable=yes.

[************** IOCP CLIENTS MODULES ***************]

[ Delay for initialization when client has been connected in mseconds ]
IOCPini_delay=3000

[************** IOCP CLIENT MODULE #0 ***************]

[ Disable IOCP client module ]
IOCPclient0_disable=YES DOIT ÊTRE A YES

[ IOCP client host name ]
IOCPclient0_host=127.0.0.2

[ IOCP client port ]
IOCPclient0_port=8097


[************** IOCP CLIENT MODULE #1 ***************]

[ Disable IOCP client module ]
IOCPclient1_disable=YES DOIT ÊTRE A YES

[ IOCP client host name ]
IOCPclient1_host=127.0.0.3

[ IOCP client port ]
IOCPclient1_port=8096


Ceci normalement, devrait régler le problème.
Amicalement.

Daniel

Re: Windows socket error

MessagePosté: Mer 26 Aoû 2009 17:26
de guda
Bonjour,

On sait depuis longtemps que le problème vient des clients IOCP lorsqu'ils sont activés. Cependant lorsqu'on en a besoin ( c'est le cas pour VASFMC ou IOCP FS) on doit bien les avoir sur IOCPclient0_disable=NO et IOCPclient1_disable=NO

Il faut alors tester la méthode dont je parle plus haut.