Question

Nous venons d'acquérir trois nouveaux esclaves pour construire Hudson , qui sont en cours d'exécution x64 Windows XP. Nous allons avoir des problèmes à ceux-ci que le déploiement nous n'avons pas vu auparavant (nous avons deux autres machines XP32 déjà asservies).

Lorsque nous avons d'abord redémarrer le serveur, ou juste après le redémarrage du service du serveur, le journal du nœud sur hudson affiche les éléments suivants (nom de domaine a été modifié pour protéger les innocents):

Connecting to beast.example.com
Copying slave.jar
The parameter is incorrect.
jcifs.smb.SmbException: The parameter is incorrect.
at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:542)
at jcifs.smb.SmbTransport.send(SmbTransport.java:644)
at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:371)
at jcifs.smb.SmbSession.send(SmbSession.java:235)
at jcifs.smb.SmbTree.treeConnect(SmbTree.java:161)
at jcifs.smb.SmbFile.doConnect(SmbFile.java:858)
at jcifs.smb.SmbFile.connect(SmbFile.java:901)
at jcifs.smb.SmbFile.connect0(SmbFile.java:827)
at jcifs.smb.SmbFile.open0(SmbFile.java:917)
at jcifs.smb.SmbFile.open(SmbFile.java:951)
at jcifs.smb.SmbFileOutputStream.(SmbFileOutputStream.java:142)
at jcifs.smb.SmbFileOutputStream.(SmbFileOutputStream.java:97)
at jcifs.smb.SmbFileOutputStream.(SmbFileOutputStream.java:67)
at jcifs.smb.SmbFile.getOutputStream(SmbFile.java:2793)
at hudson.os.windows.ManagedWindowsServiceLauncher.copySlaveJar(ManagedWindowsServiceLauncher.java:198)
at hudson.os.windows.ManagedWindowsServiceLauncher.launch(ManagedWindowsServiceLauncher.java:152)
at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:175)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
at java.lang.Thread.run(Thread.java:613)

Sur toute tentative ultérieure de "service esclave de lancement", nous obtenons:

Connecting to beast.example.com
Copying slave.jar
0xC0000205
jcifs.smb.SmbException: 0xC0000205
at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:542)
at jcifs.smb.SmbTransport.send(SmbTransport.java:644)
at jcifs.smb.SmbSession.send(SmbSession.java:242)
at jcifs.smb.SmbTree.send(SmbTree.java:111)
at jcifs.smb.SmbFile.send(SmbFile.java:729)
at jcifs.smb.SmbFile.open0(SmbFile.java:934)
at jcifs.smb.SmbFile.open(SmbFile.java:951)
at jcifs.smb.SmbFileOutputStream.(SmbFileOutputStream.java:142)
at jcifs.smb.SmbFileOutputStream.(SmbFileOutputStream.java:97)
at jcifs.smb.SmbFileOutputStream.(SmbFileOutputStream.java:67)
at jcifs.smb.SmbFile.getOutputStream(SmbFile.java:2793)
at hudson.os.windows.ManagedWindowsServiceLauncher.copySlaveJar(ManagedWindowsServiceLauncher.java:198)
at hudson.os.windows.ManagedWindowsServiceLauncher.launch(ManagedWindowsServiceLauncher.java:152)
at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:175)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
at java.lang.Thread.run(Thread.java:613)

Il semble que la samba elle-même, pas d'Hudson, peut-être la question. Nous avons les adhésions du groupe revérifié et les autorisations de répertoire C: \ hudson et ils sont identiques aux deux autres esclaves

.

Utilisation smbclient du MacOSX qui est en cours d'exécution en fait Tomcat + Hudson (mais n'exécute pas construit), je suis en mesure d'obtenir une réponse étrange une tentative:

smb: \hudson\> get hudson-slave.exe
NT_STATUS_INSUFF_SERVER_RESOURCES opening remote file \hudson\hudson-slave.exe

Googling autour de suggérer une IRPStackSize problème pourrait être le coupable, mais jacking que jusqu'à 5 à un temps (éventuellement 50 = 0x32) et le redémarrage du service serveur ne semble pas aider.

En aparté, le lancement client JNLP fonctionne très bien, même si nous préférerions avoir en tant que service.


La version Hudson est 1.323, par la voie (un seul derrière, rien dans le changelog semble particulièrement pertinent).

Était-ce utile?

La solution

On dirait que JCIFS peut avoir une solution pour cela. D'un collègue de travail:

"jcifs-1.3.10 released / Bugfix for SmbException: The parameter is incorrect
posted by Mike, June 4, 2009
This release fixes a bug that could sporadically trigger a "The parameter is incorrect" error." 

« Juste regardé à la source de hudson actuelle, ils utilisent jcifs-ils sont 1.3.3 derrière et n'ont pas (ainsi que plusieurs autres) mise à jour (s). »

Je vais voir pousser ce dans le bug tracker en amont, et peut-être donner un coup de feu à intégrer la nouvelle version et la reconstruction sur place.


Mise à jour 1: déposé une numéro Tracker entrée


Mise à jour 2: nous avons basculé sur JNLP et utilisé que pour installer un service, qui est configuré pour démarrer automatiquement. Cela a travaillé sans problème hors ligne pour un jour ou deux maintenant. Est-ce que continuer à regarder le bogue amont pour voir si / quand toute activité qui s'y passe.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top