Erreur démon AS/400 : "Error Hardis Daemon failed to start client thread "
Depuis la version 11 d'Adélia Studio avec la PTF F001 dans la partie AS/400 d'Adélia Studio il est possible d'avoir dans certains cas très limites l'erreur "Error Hardis Daemon failed to start client thread " (message visible via un DSPMSG QSYSOPR) et qui empêche d'aboutir toute les nouvelles demandes de connexion
Explication
Au moment de la création d'une connexion le démon crée un thread temporaire qui gère la partie authentification de la connexion.
Par contre si la boite de connexion adélia de saisie de profil et du mot de passe de connexion reste ouverte ce thread reste actif.
Le "Error Hardis Daemon failed to start client thread " correspond à une erreur système que rencontre le démon lorsqu'il n'arrive plus à créer de thread. Il faut savoir qu'au niveau système il y a une limite sur le nombre threads "actifs" que peut gérer simultanément un processus.
Ce cas pourrait arriver si jamais il s'accumulait sur le démon des demandes authentification bloquées (boite de connexion qui reste ouverte).
Analyse/Solution
Depuis la PTF F006 de la partie AS/400 d'Adélia Studio 11, on peut vérifier le nombre de threads d’authentification actifs en lançant la commande suivante depuis un poste Windows :
telnet <as400> <port> ==> par exemple : telnet monas400 910
puis dans telnet en lançant la commande (derrière le prompt "daemon>") :
authstats
Exemple d'affichage :
2 waiting threads (<1 min : 0, <15 min : 2, <60 min : 0), reaper disabled.
Thread id Start time Syncpoint Tries Profile Clt. pid Clt. address Clt. process
---------- -------------------- ---------- ----- ---------- ---------- --------------------------------------------- --------------------
49 2013/04/26 10:59:24 n/a n/a n/a n/a ::ffff:192.168.138.214 command line
52 2013/04/26 11:00:55 1 1 HARDISPS12 8824 ::ffff:192.168.138.214 CopyS CopyS
Le thread 49 correspond à ma session telnet.
Le thread 52 correspond un thread d'authentification venant du processus 8824 de la machine client 192.168.138.214 dont le nom "CopyS". Cette demande d'authentification a commencé le 26/04/2013 à 11:00:55.
Pour quitter telnet il faut lancer la commande : quit
Remarque : Le telnet n'est plus possible si on a l'erreur "Error Hardis Daemon failed to start client thread ". Par contre s'il a été ouvert avant l'erreur on peut toujours exécuter la commande "authstats" même si l'erreur est arrivée (et qu'on est toujours la même session telnet).
Adélia (depuis la PTF F006 de la partie AS/400 d'Adélia Studio 11) permet aussi d'activer sur le démon as/400 un thread qui va automatiquement tuer les threads authentification qui sont actifs depuis un certain temps.
Pour activer ce mode "reaper" il faut créer dans la bibliothèque HA2SLIB, une dtaara AWSREAPER de type *CHAR et de longueur 3.
On y place sous forme de 3 chiffres la durée maxi autorisée (en minutes) pour la phase d'authentification.
Par exemple la valeur '015' indique que si la phase d'authentification dure plus de 15 minutes alors le thread d'authentification sera tué (l'utilisateur devra fermer la boite d'authentification et quitter son application pour refaire une tentative de connexion).
La dtaara AWSREAPER est prise en compte au démarrage du démon.
Remarque : les threads créés par un telnet ne sont pas gérés par le reaper (et donc ne seront pas tué par lui) mais ils sont limités à 10 maxi.
Articles connexes
Les articles connexes apparaissent ici en fonction des étiquettes que vous avez sélectionnées. Cliquez pour modifier la macro et ajouter ou modifier des étiquettes.