2012-03-30 24 views
3

ジョブ自体が終了した後、スレーブがハングアップするという断続的な問題があります。後処理ステップ(?)では、コンソールログに次の行が表示されます。Jenkinsの奴隷がぶら下がっている/ Jenkinsが詰まっている

Description set: vap_current_iter-2012_03_29_19_01_03 

そして、何も表示されません。通常、それは次のようになります。

Description set: prod_pull-2012_03_28_19_01_03 
Notifying upstream build armada_Launch_prod_pull #13 of job completion 
Project armada_Launch_prod_pull still waiting for 1 builds to complete 
Notifying upstream projects of job completion 
Notifying upstream of completion: armada_Launch_prod_pull #13 
Finished: SUCCESS 

Iセットアップhudson.model.Runためロガー、そしてそれは、現在、このあります:すべてのハングスレーブに対して繰り返さ

at java.lang.Thread.run(Thread.java:619) 

Mar 30, 2012 12:44:00 PM hudson.model.Run run 
INFO: galleon_allUnit #1134 main build action completed: SUCCESS 
Mar 30, 2012 12:44:00 PM hudson.model.Run setResult 
FINE: galleon_allUnit #1134 : result is set to SUCCESS 
java.lang.Exception 
    at hudson.model.Run.setResult(Run.java:352) 
    at hudson.model.Run.run(Run.java:1410) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) 
    at hudson.model.ResourceController.execute(ResourceController.java:88) 
    at hudson.model.Executor.run(Executor.java:238) 

を。

メインのhudsonログには、追加情報はありません。

スレーブを切断しても効果はありません。

ジェンキンスを正常にシャットダウンしようとしても効果はありません(実際には、ジェンキンはシャットダウン時にハングしているようです)。

私たちが回復するために見つけた唯一の方法は、tomcatプロセスをkill -9することです。

スレーブの1つのためのトレッドダンプ(彼らはすべて同じである)は、次のとおりです。

Thread Dump 
Channel reader thread: channel 

"Channel reader thread: channel" Id=9 Group=main RUNNABLE (in native) 
    at java.io.FileInputStream.readBytes(Native Method) 
    at java.io.FileInputStream.read(FileInputStream.java:199) 
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) 
    at java.io.BufferedInputStream.read(BufferedInputStream.java:237) 
    - locked [email protected] 
    at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2249) 
    at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2542) 
    at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2552) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1297) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) 
    at hudson.remoting.Channel$ReaderThread.run(Channel.java:1030) 


main 

"main" Id=1 Group=main WAITING on [email protected] 
    at java.lang.Object.wait(Native Method) 
    - waiting on [email protected] 
    at java.lang.Object.wait(Object.java:485) 
    at hudson.remoting.Channel.join(Channel.java:766) 
    at hudson.remoting.Launcher.main(Launcher.java:420) 
    at hudson.remoting.Launcher.runWithStdinStdout(Launcher.java:366) 
    at hudson.remoting.Launcher.run(Launcher.java:206) 
    at hudson.remoting.Launcher.main(Launcher.java:168) 


Ping thread for channel [email protected]:channel 

"Ping thread for channel [email protected]:channel" Id=10 Group=main TIMED_WAITING 
    at java.lang.Thread.sleep(Native Method) 
    at hudson.remoting.PingThread.run(PingThread.java:86) 


Pipe writer thread: channel 

"Pipe writer thread: channel" Id=12 Group=main WAITING on java.u[email protected]14263ed 
    at sun.misc.Unsafe.park(Native Method) 
    - waiting on java.u[email protected]14263ed 
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) 
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925) 
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358) 
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) 
    at java.lang.Thread.run(Thread.java:619) 


pool-1-thread-267 

"pool-1-thread-267" Id=285 Group=main RUNNABLE 
    at sun.management.ThreadImpl.dumpThreads0(Native Method) 
    at sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:374) 
    at hudson.Functions.getThreadInfos(Functions.java:872) 
    at hudson.util.RemotingDiagnostics$GetThreadDump.call(RemotingDiagnostics.java:93) 
    at hudson.util.RemotingDiagnostics$GetThreadDump.call(RemotingDiagnostics.java:89) 
    at hudson.remoting.UserRequest.perform(UserRequest.java:118) 
    at hudson.remoting.UserRequest.perform(UserRequest.java:48) 
    at hudson.remoting.Request$2.run(Request.java:287) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:619) 

    Number of locked synchronizers = 1 
    - [email protected] 


Finalizer 

"Finalizer" Id=3 Group=system WAITING on [email protected] 
    at java.lang.Object.wait(Native Method) 
    - waiting on [email protected] 
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116) 
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132) 
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) 


Reference Handler 

"Reference Handler" Id=2 Group=system WAITING on [email protected] 
    at java.lang.Object.wait(Native Method) 
    - waiting on [email protected] 
    at java.lang.Object.wait(Object.java:485) 
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) 


Signal Dispatcher 

"Signal Dispatcher" Id=4 Group=system RUNNABLE 

良く回復したり、これを防ぐ方法上の任意のアイデアをいただければ幸いです。

+0

いいえ。 OSは何ですか? –

+0

バグのように見えます。 [報告する](https://wiki.jenkins-ci.org/display/JENKINS/Issue+Tracking) –

+0

すべてのボックスでlinux(RHEL 5)を実行しています。 –

答えて

0

私たちは正直言って、毎晩4時にジェンキンスを再起動するスクリプトを書いています。私たちは、午前3時には壊れていたり、30分ほどかかることがわかった。この時点でサーバーを再起動して以来、これ以上のハングは見られませんでした。これはあなたが尋ねたようにそれを防ぐ手段ですが、明らかに問題を "修正"しません!

+0

私たちはそれを試しました - 運はありません。 tomcatを停止し、再起動するまでに10〜15分待ってしまうと、何も修正されません。また、ここでの目標はクロックが丸くなるため、毎日の再起動はオプションではありません。 –

関連する問題