Ntdll.dll error + Dcom

Bonjour,



j’ai un gros tres gros soucie sur mes citrix (tous :frowning: )

pour rappel PS4.5 RP3



Nous etions sur une plateforme Vmware ESX 3 et nous avons migré nos ESX de 3 vers 4.

Cette migration a impliqué une mise a jour de tous les pilotes réseaux des différentes VM et le vmtools upgrade implique une suppression totale des cartes réseaux, afin qu’il les recreer par lui même.



Jusque là pas de soucie.



Les VM migrent.

Je lance des test de connexion citrix, Excel => Ok

Notre appli Erp => Ok (mais je ne test pas jusqu’au bout)

Notre appli Erp installé en local sur les citrix, ensuite se connecte sur un serveur SQL ou se trouve les bases de données.

Et c’est a partir de ce moment là que tout se complique.





Sur le serveur 1, l’ERP se lance, mais refuse de se connecter au SQL avec un message d’erreur "serveur introubable"



Sur le serveur 2 , L’ERP se freeze durant une minute, ouvre l’ERP et accepte de se connecter au SQL.



Sur le serveur 3 idem serveur 1



Sur le serveur 4, 0 soucie!!!



Sur le serveur 5 c’est le meilleur, il ne se passe rien.



Pour rappel, je suis en isolation d’application et seule les appli isolé plante.



Dans l’eventviewer du serveur 1 : Rien, 0 message d’erreur.

Dans l’event du serveur 2 c’est plutot la fête des messages d’erreur



coté event appli : Faulting application AIECom.exe, version 5.0.0.5357, faulting module ntdll.dll, version 5.2.3790.4455, fault address 0x00010ad8.



Ca je l’avais une fois par mois de temps en temps. Là c’est a chaque connexion, une horreur de pop up.



Puis dans la même interval et qui correspond au freeze dans l’event System :



The server {2B2EC87F-3640-428B-A5C1-9E2DCCDF9B38} did not register with DCOM within the required timeout.





Apres divers test, et ce, sur tout les serveurs,



si je supprime le profil user, (ou simplement le NTuser.dat). Tout se remet a fonctionner du feu de dieu.



Que ce passe t’il sur mes serveurs?





Sur le serveur 1, j’ai “effacé” tous les profils, et tout est repartie.



Sur le serveur 2, pour le moment je temporise, avant de faire la même manip. Mais pour l’heure,

a chaque connexion user, j’ai le ntdll.dll qui plante, mais qui n’empeche pas le fonctionnement du soft, au dela du freeze d’une minute au lancement.





Merci de vos avis éclairés.

dur dur de te répondre la dessus, ça demandes un peu de recherche et de compréhension de l’application. ca ressemble à une connexion odbc qui à sautée, ou qui fait référence à tes anciennes cartes, le ntuser.Dat etant la ruche que charge la base de registre quand un user se log.



tu peu faire quelques test :

-backuper le ntuser.dat d’un user ou l’application plante.

-supprimer ce ntuser.dat, recharger le profil pour le recreer ( si je suis ton raisonement, l’appli devrait remarcher )

-comparer les 2 ntuser.Dat avec un diff



deuxieme piste :

-mettre en place le tracing odbc via la consolde admin odbc windows, lancer l’appli avec un vieux profil ou ca plante, tu verra deja si y’a tentative de connexion … si le log reste vide, c’est deja que le driver odbc n’est pas loader …



3eme piste :



lancer un petit procmon sur un serveur isolé, et regarder le comportement de l’os entre 2 profils, l’un fonctionnel, l’autre non.

merci Flo de ta réponse.



En effet le troubleshooting est atroce a faire, d’autant que tout ces problemes sont lié a la migration des Esx.



On avance pas mal depuis mardi, et petit a petit l’étau se resserre.



En revanche, ce que je trouve curieux, si un serveur physique perd sa carte réseau. Qu’elle est donc remplacé par une neuve. Les profils sont donc tous HS a cause du ntuser.dat qui fait reference a l’ancienne CR ?

normalement non, y’a aucune référence à la carte réseaux dans ce genre de connexion, c’est pour ca que je parlais de compréhension applicative, toutes les applications ne fonctionnent pas de la même façon et certaines peuvent être codée avec les pieds… c’est pour cela que je te fais verifier la chaine de connexion.

en logique simple, cela donne:

user profil ->load appplication-> load odbc setting -> launch odbc CNX -> connect to database





as tu essayer de reparametrer la connection odbc de ton applis sur un profil tronqué ???

je n’ai pas de lien odbc sur mes serveurs, c’est direct l’ERP qui s’auto gere, qui doit faire un broad cast?? de tout ce qui ressemble a du SQL, car lorsque je browse a travers l’appli, il me sort tout mes serveur SQL, autant les siens, que ceux qui n’ont rien a voir.



J’ai une autre question, si je creer un nouveau serveur que je l’integre a ma ferme existante, afin de voir avec une install fresh ce qui se passe. Si je veux a terme la retirer de la ferme, une simple désinstallation de citrix dans les add remove prog suffira ? ou c’est plus touchy que ça ? Car j’ai aucune envie de polluer mon environnement de prod.

ha ok … c’est de l’auto decouverte mssql ??? je pense que meme si il se découvre tt seul, il doit quand meme creer une connexion odbc, ou alors via un autre protocol ( je ne touche pas trop a mssql, mais je me rappel qu’il peut se connecter de 2 manières, soit par tcp.ip soit par canaux nommés )



pour supprimer un serveur d’une ferme, tu as 2 possibilité :

chfarm vers une ferme local ( ds access )

desinstall de la couche citrix

c’est normalement assez propre, si une dépendance reste, tu peu toujours fait un dscheck pour l’eliminer





personne ne maitrise le processus d’install et le fonctionnement de votre ERP ?

je vais faire ça, monter un ènième serveur citrix, et le cas échéant si je dois le faire disparaitre, ca sera un add suppr de citrix.

je suis pas familiere avec les chfarm et compagnie. C’est le genre de commande que je ne maitrise pas du tout. faudrait que je m’y entraine sur ma plateforme de test d’ailleur.



Non personne ne maitrise vraiment l’ERP, ce sont directement les createurs qui nous assiste.

Je vais leur demander comment la connexion ODBC se fait.



Notre soucie enfin ciblé ce trouve sur un des Esx qui est le plus recent. Des lors qu’on passe une VM Citrix (les autres ne bronchent pas) dessus, les connexions deviennent aléatoire avec les deux messages d’erreur cité plus haut.

Des qu’on re bouge la VM sur un des autre Esx, il reprend une activité normal.



Ma ferme de test qui elle fait serveur SQL, citrix etc etc, migré sur l’Esx qui me fou le bronx, ne bronche pas et ce comporte comme un charme!





D’ou le fait de monter un citrix dans la ferme de prod, afin de voir comment ca va se comporter.

hmmm … effectivement c’est bien bizarre tout cela !!!

si tu trouve le pourquoi du comment, essaye de nous le partager, je suis curieux de voir ce qui rend instable cette vm sur un seul ESX, si tout le reste tourne …

un p’tit refresh de la situation qui s’éloigne de Citrix.



Une VM fraichement créer sur l’esx4 sans clone, sans rien. Integre le domaine impec.



Une VM anciennement créer sur l’esx3, notre master windows. Qu’on migre, integre le domaine tres tres curieusement.



Donc on se penche vers une tres mauvaise interpretation de la migration des VM windows de 3 a 4.

Et evidement sur les 40 serv windows qu’on a, seule les citrix ont peté un plomb.

Histoire a suivre pour le moment.