2009-09-25 3 views
4

Мы только что приобрели три новых подчиненных устройства для Hudson, работающих под управлением Windows XP x64. У нас возникли проблемы с развертыванием, которые мы еще не видели (у нас есть еще две машины XP32, которые уже работают).Запуск службы slave-сервиса Hudson для Windows вызывает SmbException

Когда мы перезагрузить сервер, или только после перезапуска службы сервера журнала этого узла на Гудзоне показывает следующее (доменное имя изменено, чтобы защитить невиновных):

 
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) 

На последующих попытках " Запуск рабский сервис», мы получаем:

 
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) 

Похоже, сама самба, не Хадсон, может быть проблемой. Мы дважды проверяем членство в группах и разрешения на каталоги для C: \ hudson, и они идентичны двум другим ведомым устройствам.

Использование smbclient с сервера MacOSX, что на самом деле работает Tomcat + Хадсон (но не выполняет сборки), я был в состоянии получить странный ответ на одну попытку:

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

погуглить вокруг предложить IRPStackSize вопрос может быть виновником, но разворачивание вверх по 5 за раз (в конечном итоге до 50 = 0x32) и перезапуск службы сервера, похоже, не помогает.

Как в стороне, запуск JNLP-клиента работает очень хорошо, хотя мы предпочли бы иметь его как услугу.


Hudson версия 1,323, кстати (только один позади, ничто в список изменений выглядит особенно актуально).

ответ

0

Похоже, что JCIFS может исправить это. От: коллеги

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

«Просто смотрел на источнике тока Гудзона, они используют JCIFS-1.3.3, так что они находятся позади и не имеют этого (как и несколько других) обновления (ов). "

Я расскажу о том, как вставить это в верхний трекер ошибок и, возможно, дать возможность интегрировать новую версию и восстановить локально.


Update 1: подал issue tracker entry here


Update 2: мы перешли к JNLP и использовал это, чтобы установить службу, которая устанавливается для автоматического запуска. Сейчас это работает без автономных проблем в течение дня или двух. Будет следить за восходящей ошибкой, чтобы увидеть, происходит ли там какая-либо деятельность.

Смежные вопросы