Domanda

Abbiamo appena acquisito tre nuovi schiavi per costruire Hudson , che eseguono Windows XP x64. Stiamo avendo problemi di distribuzione su questi che non abbiamo visto prima (abbiamo altre due macchine XP32 già slave).

Quando abbiamo primo riavvio del server, o solo dopo il riavvio del servizio Server, registro del nodo on Hudson, presenta i seguenti (nome di dominio cambiato per proteggere gli innocenti):

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)

Su qualsiasi successivi tentativi di "servizio schiavo Launch", otteniamo:

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)

Sembra samba stesso, non Hudson, può essere il problema. Abbiamo appartenenza ai gruppi ricontrollato e le autorizzazioni di directory per C: \ Hudson e sono identici agli altri due schiavi

.

Utilizzare smbclient dal server MacOSX che è effettivamente in esecuzione Tomcat + Hudson (ma non esegue costruisce), sono stato in grado di ottenere una risposta strana su un tentativo:

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

googling intorno suggeriscono un problema IRPStackSize potrebbe essere il colpevole, ma sollevamento che fino a 5 un tempo (eventualmente a 50 = 0x32) e riavviando il servizio Server non sembra aiutare.

Per inciso, il lancio del client JNLP funziona bene, anche se noi preferiremmo avere come servizio.


Versione Hudson è 1.323, tra l'altro (solo uno dietro, nulla nel changelog appare particolarmente rilevante).

È stato utile?

Soluzione

Sembra che JCIFS può avere una correzione per questo. Da un collega:

"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." 

"si limitò alla fonte Hudson corrente, che stanno usando JCIFS-1.3.3 in modo che siano alle spalle e non hanno questo (così come molti altri) aggiornamento (s)".

Vedrò di spingere questo nel bug tracker monte, e forse dare un colpo ad integrare la versione più recente e la ricostruzione a livello locale.


Aggiornamento 1: presentato una href="https://hudson.dev.java.net/issues/show_bug.cgi?id=4564" rel="nofollow noreferrer"> problema ingresso inseguitore


Aggiornamento 2: abbiamo passa ad JNLP e utilizzato che per installare un servizio, che è impostato per l'avvio automatico. Ciò sta funzionando senza problemi offline per un giorno o due ora. Sarà continuare a guardare il bug monte per vedere se / quando ogni attività vi accade.

scroll top