[W2K3] [CPS4x] Controle de l'espace de travail

Bonjour !



j’ai un comportement étrange sur ma batterie:



4 serveurs 2K3 SP2 R2 + CP4.5 HRP04

client pna 11

WI 5.1

au niveau du site pna les paramètres sont ceux de la capture d’écran (reconnexion aux applis deco et actives)

au niveau de l’application voir 2eme capture (limite a une instance sur l’ensemble de la batterie par utilisateur)



Normalement quand on lance l’application sur poste1, et qu’on clique sur l’appli sur poste2, normalement l’appli passe du poste1 au poste2 (le tout sous le même user bien sur).



et là ou je ne comprends pas c’est que ça ne se produit que … très rarement!

Très souvent il lance 2 applis (donc en contradiction avec le paramètre de l’appli).



Par contre quand on clic sur bouton “reconnecter les sessions”, ça fonctionne au poil.



des idées??

Salut,



Deux pistes:


  • Les ClientName sont affiché correctement dans ta console

  • Le ZDC est pas trop chargé

Je rajouterais, quel est l’état de la session lorsque l’utilisateur est déconnectée ?

"chavers" wrote:
Salut,

Deux pistes:

  • Les ClientName sont affiché correctement dans ta console

  • Le ZDC est pas trop chargé
les noms de clients sont correctement affichés dans la console (on voit le nom des machines connecté... rien a signalé me semble t il)
le ZDC ne me semble pas trop chargé.. mais comment s'en assurer??? (à peine 100 clients c'est pas la fin du monde)
l'état de la session lorsque l'utilisateur est deco... c'est déco!
Je laisse 15 minutes avant la fin d'une session deconnecté.

Mais même si c'était un problème de session déco, ça n'explique pas pourquoi une appli active ne bascule pas.

Bon je remets un petit peu d’infos:



J’ai fait des analyse de perf sur les accès aux objets de la wi/datastore/data collector, mais n’ayant pas de referentiel je ne sais pas quoi en penser.



Sinon j’ai avancé un peu:

L’application est lancée par un .bat (j’avais oublié que le design avait été modifié chez citrix) et donc qu’il fallait suivre http://support.citrix.com/article/ctx116446 pour ne pas que l’appli puisse se lancer x fois.



La modif étant faite, ça provoque la montée d’un message d’erreur lors d’un second appel à l’appli… mais même sur un poste différent (là où ça devrait faire revenir l’application exécuté… enfin faire du roaming quoi).



Bref je me demande si c’est moi qui délire ou si c’est un … bug ?

.bat ou pas .bat l’application doit suivre l’utilisateur.



un second appel à l’appli retourne un message c’est normal si le nombre d’instances est limité ET que le roaming ne marche pas. En effet, le broker XML de la WI contacte le ZDC pour savoir si une session est déjà ouverte, si ya une limite d’instance etc

comment est configuré le listener ICA quant aux possibilités de reconnection (ANY client ou SAME client only) ?



deux tests :

  1. déconnecte la session, essaie de te reconnecter => résultat ?
  2. déconnecte la session, change de poste, essaie de te reconnecter => résultat ?
"ThinIsFat" wrote:
.bat ou pas .bat l'application doit suivre l'utilisateur.

un second appel à l'appli retourne un message c'est normal si le nombre d'instances est limité ET que le roaming ne marche pas. En effet, le broker XML de la WI contacte le ZDC pour savoir si une session est déjà ouverte, si ya une limite d'instance etc
comment est configuré le listener ICA quant aux possibilités de reconnection (ANY client ou SAME client only) ?

deux tests :
1. déconnecte la session, essaie de te reconnecter => résultat ?
2. déconnecte la session, change de poste, essaie de te reconnecter => résultat ?
comment est configuré le listener ICA quant aux possibilités de reconnection (ANY client ou SAME client only) ?
=> La case n'est pas cochée... donc par défaut j'imagine.
(et je ne connais pas le paramètre par défaut)
1. déconnecte la session, essaie de te reconnecter => ça fonctionne parfaitement à chaque fois
2. déconnecte la session, change de poste, essaie de te reconnecter => ça marche également
Par contre quand j'ouvre la session, je change de poste, j'essaie de lancer l'appli, il me lance une seconde fois l'appli.

dois je configurer le listener ica pour reconnexion same client only ?

ok. donc cela signifie que l’opération de demande de déconnecter la session au serveur cible arrive avant de tenter la reconnection…



Si tu simplifies au max (application publiée sur un seul serveur et de préférence le ZDC qui ferait aussi XML broker), tu as le meme probleme ?

Si oui, une trace réseau WI=>XML broker et une trace CDF serait utile





on est d’accord que le seul endroit qui limite l’instance est la capture d’écran que tu as fourni? rien d’autre (listener, paramètre TS etc) ne limite cela ?

"ThinIsFat" wrote:
ok. donc cela signifie que l'opération de demande de déconnecter la session au serveur cible arrive avant de tenter la reconnection...

Si tu simplifies au max (application publiée sur un seul serveur et de préférence le ZDC qui ferait aussi XML broker), tu as le meme probleme ?
Si oui, une trace réseau WI=>XML broker et une trace CDF serait utile

on est d'accord que le seul endroit qui limite l'instance est la capture d'écran que tu as fourni? rien d'autre (listener, paramètre TS etc) ne limite cela ?
Je viens de faire le test, mais je découvre autre chose:
je publie notepad, sur un seul serveur, je ne limite pas dans l'application à une seule instance pas utilisateur.
=> je lance sur poste1, je vais sur poste2 je lance l'appli= roaming marche (donc victoire).
=> je positionne sur cette application la limitation a une seule instance par user
je lance sur poste 1, je vais sur poste2, je lance l'appli et là j'ai un message d'erreur me disant que je suis limité a une seule instance...

ça déconne!
que le message apparaisse sur poste1 c'est logique, mais pas sur poste2 !

ou bien c'est moi qui veut faire qqchose qui n'existe pas?

quand tu lance la connection depuis la machine cliente 2, tu le fais via PNA c’est ça ?



donc, quand tu te prends le message d’erreur sur le client2, ta session est bien passée en déconnectée ? si ensuite tu tente de lancer le notepad manuellement depuis l’icone dans le PNA, tu te prends un message d’erreur ?



ya un truc qui déconne, faut juste trouver quoi :slight_smile:

"ThinIsFat" wrote:
quand tu lance la connection depuis la machine cliente 2, tu le fais via PNA c'est ça ?

donc, quand tu te prends le message d'erreur sur le client2, ta session est bien passée en déconnectée ? si ensuite tu tente de lancer le notepad manuellement depuis l'icone dans le PNA, tu te prends un message d'erreur ?

ya un truc qui déconne, faut juste trouver quoi :)
Oui je lance tout depuis le pna (enfin depuis les icons qu'il me depose sur le bureau, mais via le clic droit c'est la meme chose).
Quand je lance sur client2, l'appli est tjs connecté à client1 ( et reste connecté d'ailleurs même après le message d'erreur sur client2).

mmm donc c’est normal que tu ai ce message sur client2 car l’appli n’a pas été déconnectée (c’est ce qui se passe normalement avec le roaming)



une trace CDF sur le serveur unique (donc le notepad publié sur le serveur qui fera XML et ZDC) en prenant IMA_Subsystem_MFServer, IMA_Subsystem_MFApp, IMA_Subsystem_ComApp, IMA_Subsystem_ComSrv, IMA_Sals_MFserver (et mfapp, comapp, comsrv), MF_Driver_wdica, MF_DLL_wsxica et l’analyser pour comprendre pourquoi la session n’est pas passée en disc

Bon j’ai fait ma trace cdf.

En lisant ta note de comment lire les traces cdf, je me rends compte que je n’ai pas les symboles (ni meme l’utilitaire pour lire les cdf).

Celui que tu mets en lien est pour ps4, cela suffit? ou bien faut il une version spécifique pour 4.5 ?

Bon et apres faut interpréter… je suis pas dev :stuck_out_tongue:

l’outil traceview est toujours valable, quelque soit la version de XenApp (4.0, 4.5, 5.0)

par contre, les CDF ne sont pas disponibles directement, il faut récupérer les symboles (*.PDB) et les transformer en TMF.



les symboles sont dispo pour l:

e produit de base : ftp://ftp.citrix.com/mps45/symbols/

les rollup packs : ftp://ftp.citrix.com/mps45/en/w2k3/



pour créer les TMF depuis les PDB, il faut utiliser tracepdb.exe (http://msdn.microsoft.com/en-us/library/ms797943.aspx) :

Usage: TracePDB -f [-p ] [-v]

Options:

-f specifies the PDBName from which to extract tmf’s

-p specifies the path to create the tmf’s,

by default the current directory.

-v verbose, displays actions taken

cool, c’est ce qui me manquait, transformer les pdb en tmf.

bon je regarde et je post ce qui chiffonne le citrix

Bon je suis maudit, impossible de trouver tracepdb, malgré l’iso dl et installé chez crosoft.

Infernal ce qu’il faut faire pour trouver un misérable exe

sureprenant, sachant qu’il est inclus dans le Windows Driver Kit (je viens de vérifier) une fois celui-ci installé…

il s’appelle comment ton iso?

le mien c’est GRMWDK_EN_7600

je l’ai pris la: http://www.microsoft.com/downloads/details.aspx?FamilyID=2105564e-1a9a-4bf4-8d74-ec5b52da3d00&displaylang=en

et le lien qui m’y a amené est celui ci http://www.microsoft.com/whdc/DevTools/WDK/WDKpkg.mspx

mouais moi j’avais pris en_win_sdk_jan_2006_ctp.iso sur MSDN



edit: sinon il est dans les support tools (trouvé dans les support tools de WinXP par exemple)

Bon un peu de news:

mis à part les traces qui sont vraiment compliqués à lire dans leur intégralité (merci tracepdb.exe que je n’arrive pas à faire fonctionner), il apparait une chose:



quand on fait “reconnecter les sessions”, citrix passe la session active en deco puis la reco sur le poste d’où vient la requête.

quand on double clic sur l’icone de l’application, il relance un processus d’autent’ avec check licence etc…

là 2 cas possible:

1/ s’il n’y a pas de limitation de nombre d’instances dans la ferme par utilisateur: il constate qu’une session existe, et il la reconnecte.

2/ s’il y a une limitation d’une instance par utilisateur, il balance un message d’erreur concernant la limitation à l’utilisateur.



Je me demande comment obtenir le comportement du cas 1/ dans le cas 2/ …