ハドソンのWindowsサービススレーブ打ち上げはSmbExceptionを引き起こし
質問
私達はちょうどのWindows XP x64のを実行しているハドソンのための3人の新しいビルド奴隷を取得します。我々は(我々は他の二つのXP32マシンすでに従属している)の前に、我々は見ていない、これらの展開の問題を抱えている。
私たちが最初にサーバを再起動し、または単にサーバーサービスを再起動した後、ハドソン上のノードのログには、次の(無実を保護するために変更されたドメイン名)を示したときます:
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のためにダブルチェックグループのメンバーシップやディレクトリのパーミッションをしました:\ハドソン、彼らは他の2つのスレーブと同じです。
。実際のTomcat +ハドソンを実行している(ただし、ビルドを実行しません)MacOSXのサーバからsmbclientのを使用して、私は1つの試みで奇妙な応答を取得することができました
smb: \hudson\> get hudson-slave.exe NT_STATUS_INSUFF_SERVER_RESOURCES opening remote file \hudson\hudson-slave.exe
の周りグーグル IRPStackSize の問題が犯人かもしれない示唆、しかしで5それをジャッキアップ(最終的に50 = 0x32の)は、時間とServerサービスを再起動すると、助けていないようです。
私たちがサービスとしてそれを持っていることを好むだろうがわき、JNLPクライアントを起動して、問題なく動作したようます。
<時間>ハドソン版(一つだけの背後に、変更履歴で何も特に関連見えない)の方法により、1.323である。
解決
見えます。同僚から:
"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を使っているので、彼らは遅れていると、この(だけでなく、いくつかの他の)更新(複数可)を持っていません。」
私は上流のバグトラッカーにこれを押すことについて見ると、おそらく新しいバージョンを統合し、局部的に再構築に打撃を与えるでしょう。
<時間>1を更新します。ここで課題追跡エントリを提出する
<時間>アップデート2:私たちはJNLPに切り替えし、自動的に起動するように設定されているサービスを、インストールすることを使用しました。これは、今、一日か二日のためにオフラインで問題なく動作しています。すべてのアクティビティが発生したとき/どうかを確認するために上流のバグを見続けるでしょう。