Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hudson Windows服务从启动导致SMB异常_Hudson_Smb_Jcifs - Fatal编程技术网

Hudson Windows服务从启动导致SMB异常

Hudson Windows服务从启动导致SMB异常,hudson,smb,jcifs,Hudson,Smb,Jcifs,我们刚刚为购买了三个新的构建从机,它们运行的是Windows XP x64。我们在部署到这些系统时遇到了以前从未见过的问题(我们还有另外两台XP32机器已经在使用) 当我们第一次重新启动服务器时,或者在重新启动服务器服务之后,节点在hudson上的日志显示以下内容(更改域名以保护无辜者): 连接到beast.example.com 复制slave.jar 参数不正确。 jcifs.smb.SmbException:参数不正确。 位于jcifs.smb.SmbTransport.checkStat

我们刚刚为购买了三个新的构建从机,它们运行的是Windows XP x64。我们在部署到这些系统时遇到了以前从未见过的问题(我们还有另外两台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) 运行(Thread.java:613) 在任何后续尝试“启动从属服务”时,我们得到:

连接到beast.example.com 复制slave.jar 0xC0000205 jcifs.smb.smb异常: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) 运行(Thread.java:613) 似乎桑巴舞本身,而不是哈德逊舞,才是问题所在。我们仔细检查了C:\hudson的组成员身份和目录权限,它们与其他两个从属服务器相同

使用MacOSX服务器上的smbclient,该服务器实际上运行Tomcat+Hudson(但不执行构建),我一次尝试就能得到奇怪的响应:

smb: \hudson\> get hudson-slave.exe NT_STATUS_INSUFF_SERVER_RESOURCES opening remote file \hudson\hudson-slave.exe smb:\hudson\>获取hudson-slave.exe NT\u状态\u输入\u服务器\u资源打开远程文件\hudson\hudson-slave.exe 谷歌搜索表明问题可能是罪魁祸首,但一次提升5个(最终达到50=0x32)并重新启动服务器服务似乎没有帮助

另一方面,启动JNLP客户机工作得很好,尽管我们更愿意将其作为一种服务



顺便说一句,Hudson版本是1.323(只有一个版本落后,变更日志中没有特别相关的内容)。

看来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.10已发布/SmbException的错误修复:参数不正确 迈克发布,2009年6月4日 此版本修复了一个可能偶尔触发“参数不正确”错误的错误 “只要看一下当前的hudson源代码,他们使用的是jcifs-1.3.3,所以他们落后了,没有这个(以及其他几个)更新。”

我将考虑将其推到上游bug跟踪器中,并可能尝试集成新版本并在本地重建


更新1:提交了一份


更新2:我们已经切换到JNLP并使用它来安装一个服务,该服务设置为自动启动。这已经有一两天没有离线问题了。将继续监视上游bug,查看是否/何时在那里发生任何活动

smb: \hudson\> get hudson-slave.exe NT_STATUS_INSUFF_SERVER_RESOURCES opening remote file \hudson\hudson-slave.exe "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."