2017-12-14 39 views
0

Jenkins 슬레이브를 별도의 Windows 10 시스템에 설치하려고합니다. 마스터는 Windows 8.1에서 실행됩니다. slave.jar이 마스터의 명령으로 실행 중입니다. win32를 사용하여이 작업을 수행합니다. winrs -r:192.168.xxx.xxx -u:MyUserName -p:MyPassword java -jar C:\JenkinsAgent\slave.jarjava.io.IOException : 예기치 않은 EOF Jenkins 노예가 SVN 체크 아웃을 시도 할 때

일괄 처리 명령으로 echo Hello World 만 실행하는 테스트 작업이 성공하는 시점에 도달했습니다.

Subversion 서버에서 체크 아웃 할 모듈을 추가하면 테스트 작업이 실패하지만 테스트 작업의 로그에 다음 두 가지 오류 중 하나가 표시되며 둘 중 하나가 팝업되면 다소 임의적으로 보입니다.

오류 1 :

Building remotely on Robot Framework Test Slave (RobotFrameworkTestSlave) in workspace C:\JenkinsAgent\agentRoot\workspace\TestJobRFTestingSlave 
FATAL: java.io.IOException: Unexpected EOF 
java.io.IOException: Unexpected EOF 
    at hudson.remoting.ChunkedInputStream.readUntilBreak(ChunkedInputStream.java:99) 
    at hudson.remoting.ChunkedCommandTransport.readBlock(ChunkedCommandTransport.java:39) 
    at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:35) 
    at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:59) 
Caused: hudson.remoting.RequestAbortedException 
    at hudson.remoting.Request.abort(Request.java:331) 
    at hudson.remoting.Channel.terminate(Channel.java:989) 
    at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:92) 
    at ......remote call to Robot Framework Test Slave(Native Method) 
    at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1654) 
    at hudson.remoting.Request.call(Request.java:194) 
    at hudson.remoting.Channel.call(Channel.java:904) 
    at hudson.FilePath.act(FilePath.java:987) 
    at hudson.FilePath.act(FilePath.java:976) 
    at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:902) 
    at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:838) 
    at hudson.scm.SCM.checkout(SCM.java:495) 
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1212) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:566) 
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:491) 
    at hudson.model.Run.execute(Run.java:1737) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
    at hudson.model.ResourceController.execute(ResourceController.java:97) 
    at hudson.model.Executor.run(Executor.java:421) 
Finished: FAILURE 

대응 슬레이브 로그 :

<===[JENKINS REMOTING CAPACITY]===> channel started 
Slave.jar version: 3.10.2 
This is a Windows agent 
Agent successfully connected and online 
Dec 14, 2017 12:46:03 PM hudson.slaves.ChannelPinger$1 onDead 
INFO: Ping failed. Terminating the channel channel. 
java.util.concurrent.TimeoutException: Ping started at 1513255323111 hasn't completed by 1513255563116 
    at hudson.remoting.PingThread.ping(PingThread.java:130) 
    at hudson.remoting.PingThread.run(PingThread.java:86) 

channel stopped 
ERROR: Connection terminated 
[8mha:////4KowEmRObna4QTvhMtPiadKMjrmmt7iuHVG7T5pbYTL2AAAAVx+LCAAAAAAAAP9b85aBtbiIQSmjNKU4P08vOT+vOD8nVc8DzHWtSE4tKMnMz/PLL0mV3NWzufebKBsTA0NFEYMUmgZnCA1SyAABjCCFBQC2xNaiYAAAAA==[0mjava.io.IOException: Unexpected EOF 
    at hudson.remoting.ChunkedInputStream.readUntilBreak(ChunkedInputStream.java:99) 
    at hudson.remoting.ChunkedCommandTransport.readBlock(ChunkedCommandTransport.java:39) 
    at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:35) 
    at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:59) 
ERROR: Process terminated with exit code 0 
[8mha:////4KowEmRObna4QTvhMtPiadKMjrmmt7iuHVG7T5pbYTL2AAAAVx+LCAAAAAAAAP9b85aBtbiIQSmjNKU4P08vOT+vOD8nVc8DzHWtSE4tKMnMz/PLL0mV3NWzufebKBsTA0NFEYMUmgZnCA1SyAABjCCFBQC2xNaiYAAAAA==[0m 

오류 2 :

java.io.StreamCorruptedException: invalid stream header: ED000573 
    at java.io.ObjectInputStream.readStreamHeader(Unknown Source) 
    at java.io.ObjectInputStream.<init>(Unknown Source) 
    at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:48) 
    at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:35) 
    at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:59) 

대응 슬레이브 로그 :

<===[JENKINS REMOTING CAPACITY]===> channel started 
Slave.jar version: 3.10.2 
This is a Windows agent 
Agent successfully connected and online 


Winrs error:ERROR: Connection terminated 
The pipe has been ended. 
[8mha:////4KowEmRObna4QTvhMtPiadKMjrmmt7iuHVG7T5pbYTL2AAAAVx+LCAAAAAAAAP9b85aBtbiIQSmjNKU4P08vOT+vOD8nVc8DzHWtSE4tKMnMz/PLL0mV3NWzufebKBsTA0NFEYMUmgZnCA1SyAABjCCFBQC2xNaiYAAAAA==[0mjava.io.StreamCorruptedException: invalid stream header: ED000573 
    at java.io.ObjectInputStream.readStreamHeader(Unknown Source) 
    at java.io.ObjectInputStream.<init>(Unknown Source) 
    at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:48) 
    at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:35) 
    at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:59) 

이것은 단순히 echo Hello World을 실행 한 이후로 슬레이브에서 체크 아웃을 시도 할 때만 발생합니다. 슬레이브 머신에서 체크 아웃하려는 저장소를 수동으로 체크 아웃 할 수도 있습니다.

나는이 문제에 봉착했다. 내가 비어있는 모든 정보를 검색하고 실제로 일어나는 일에 대해 더 많은 정보를 수집하는 방법을 모른다.

갱신 1 : 일반 젠킨스 로그에서 (에서 관리 젠킨스> 시스템 스터링> 모든 젠킨스 로그) 내가 나오는이 오류 메시지가보고 있어요 :

Failed to monitor Robot Framework Test Slave for Free Swap Space 
java.util.concurrent.TimeoutException 
    at hudson.remoting.Request$1.get(Request.java:307) 
    at hudson.remoting.Request$1.get(Request.java:231) 
    at hudson.remoting.FutureAdapter.get(FutureAdapter.java:59) 
    at hudson.node_monitors.AbstractAsyncNodeMonitorDescriptor.monitor(AbstractAsyncNodeMonitorDescriptor.java:96) 
    at hudson.node_monitors.AbstractNodeMonitorDescriptor$Record.run(AbstractNodeMonitorDescriptor.java:305) 

Google 검색이 https://issues.jenkins-ci.org/browse/JENKINS-19445에 나를 지적을 및 https://issues.jenkins-ci.org/browse/JENKINS-48309. 이것이 내 문제와 관련이 있는지는 잘 모르겠지만 사람들은 내가하는 것처럼 부분적으로 같은 것을 경험하고있다. 후자는 검토 중이며 이후 릴리스에서이 문제를 해결할 수 있습니다. 그러나 이는 단지 추측에 불과합니다.

+0

SVN 플러그인으로 인해 비슷한 오류가 발생했습니다. 버그 파일이 있는데, github과 비슷한 오류 파일을 찾을 수 있습니다. hp test plugin에는 몇 가지 문제점이 있습니다 (젠킨스에있는 경우) https://issues.jenkins-ci.org/browse/JENKINS-6368 – Vijay

+0

로깅을 활성화하는 방법을 Subversion 플러그인 및/또는 그것이 기반으로 SVNKit 라이브러리. 슬레이브의 명령 프롬프트에서 수동으로 SVNKit을 실행하는 방법이있을 수도 있습니다. –

+0

슬프게도 플러그인이나 SVNKit에 로그인 할 수있는 방법을 찾지 못했습니다. – Jupiter

답변

0

Windows 원격 관리 대신 Java Web Start를 사용하여 슬레이브에 연결하여 문제를 해결했습니다. 전에도 해봤지만 몇 가지 문제가 있었지만 해결할 수있었습니다.