4

Windows XP x64 を実行しているHudson用の 3 つの新しいビルド スレーブを取得しました。これらへの展開でこれまでにない問題が発生しています (他に 2 台の XP32 マシンが既にスレーブになっています)。

サーバーを最初に再起動するとき、またはサーバー サービスを再起動した直後に、hudson のノードのログに次のように表示されます (ドメイン名は無害なユーザーを保護するために変更されています)。

beast.example.com への接続
slave.jar のコピー
パラメータが正しくありません。
jcifs.smb.SmbException: パラメータが正しくありません。
jcifs.smb.SmbTransport.checkStatus (SmbTransport.java:542) で
jcifs.smb.SmbTransport.send (SmbTransport.java:644) で
jcifs.smb.SmbSession.sessionSetup (SmbSession.java:371) で
jcifs.smb.SmbSession.send (SmbSession.java:235) で
jcifs.smb.SmbTree.treeConnect (SmbTree.java:161) で
jcifs.smb.SmbFile.doConnect (SmbFile.java:858) で
jcifs.smb.SmbFile.connect(SmbFile.java:901)で
jcifs.smb.SmbFile.connect0 (SmbFile.java:827) で
jcifs.smb.SmbFile.open0 (SmbFile.java:917) で
jcifs.smb.SmbFile.open(SmbFile.java:951)で
jcifs.smb.SmbFileOutputStream で。(SmbFileOutputStream.java:142)
jcifs.smb.SmbFileOutputStream.(SmbFileOutputStream.java:97) で
jcifs.smb.SmbFileOutputStream.(SmbFileOutputStream.java:67) で
jcifs.smb.SmbFile.getOutputStream (SmbFile.java:2793) で
hudson.os.windows.ManagedWindowsServiceLauncher.copySlaveJar (ManagedWindowsServiceLauncher.java:198) で
hudson.os.windows.ManagedWindowsServiceLauncher.launch (ManagedWindowsServiceLauncher.java:152) で
hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:175) で
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) で
java.util.concurrent.FutureTask.run (FutureTask.java:123) で
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651) で
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676) で
java.lang.Thread.run(Thread.java:613) で

その後、「スレーブ サービスを起動」しようとすると、次のようになります。

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

ハドソンではなく、サンバ自体が問題のようです。C:\hudson のグループ メンバーシップとディレクトリのアクセス許可を再確認しましたが、それらは他の 2 つのスレーブと同一です。

実際に Tomcat+Hudson を実行している (ただしビルドは実行しない) MacOSX サーバーから smbclient を使用すると、1 回の試行で奇妙な応答を得ることができました。

smb: \hudson\> hudson-slave.exe を取得
NT_STATUS_INSUFF_SERVER_RESOURCES がリモート ファイル \hudson\hudson-slave.exe を開いています

グーグルで調べてみると、 IRPStackSizeの問題が原因である可能性がありますが、一度に 5 つまで (最終的には 50 = 0x32 まで) ジャックアップし、サーバー サービスを再起動しても解決しないようです。

余談ですが、JNLP クライアントの起動は問題なく機能しますが、サービスとして提供することをお勧めします。


ちなみに、Hudson のバージョンは 1.323 です (後ろに 1 つだけあり、変更ログには特に関連するものはありません)。

4

1 に答える 1

0

JCIFS がこれを修正しているようです。同僚 より:

「jcifs-1.3.10 リリース / SmbException のバグ修正: パラメータが正しくありません」
投稿者 Mike、2009 年 6 月 4 日
このリリースでは、「パラメータが正しくありません」というエラーが散発的に発生するバグが修正されています。

「現在の hudson ソースを見たところ、彼らは jcifs-1.3.3 を使用しているため遅れており、この (および他のいくつかの) 更新プログラムはありません。」

これをアップストリームのバグトラッカーにプッシュするかどうかを確認し、おそらく新しいバージョンを統合してローカルで再構築することを試みます.


更新 1:イシュー トラッカー エントリをここに提出


更新 2: JNLP に切り替え、それを使用して、自動的に開始するように設定されたサービスをインストールしました。これは、1 日か 2 日、オフラインの問題なく機能しています。アップストリームのバグを監視し続けて、そこでアクティビティが発生するかどうか、いつ発生するかを確認します。

于 2009-09-26T14:39:27.607 に答える