2013-03-21 100 views
2

在每次提交後,我們在jenkins上運行findbug作業,其結果由靜態分析插件發佈。 這通常完全按預期工作,但時不時(大約每100個構建一次)findbug退出退出代碼137.當它這樣做也會生成一個完全空findbugs.xml文件Findbugs java result:137靜態分析插件

空的xml文件原因靜態分析插件認爲這個構建真的很棒(沒有缺陷),並將其用作新的參考構建,這反過來使每個構建都失敗/不穩定。

我真的找不到有關此退出代碼應該表示什麼有用,或者如何防止它。 我正在尋找一種方法來防止此exitcode 137的發生或得到靜態分析插件將此構建視爲失敗(而不是新的參考構建)

我也想知道什麼這個代碼實際上意味着。

與退出碼137工作的

控制檯輸出(工作:#1957年,報告沒有錯誤)之前的工作

--- snip -- more applying of bugpatterns-- 
[findbugs] Applying edu.umd.cs.findbugs.detect.MultithreadedInstanceAccess to nl/base/rela/entities/relagroups/RelationGroup$1 
[findbugs] Applying edu.umd.cs.findbugs.detect.BadUseOfReturnValue to nl/base/rela/entities/relagroups/RelationGroup$1 
[findbugs] Applying edu.umd.cs.findbugs.detect.MethodReturnCheck to nl/base/rela/entities/relagroups/RelationGroup$1 
[findbugs] Applying edu.umd.cs.findbugs.detect.IDivResultCastToDouble to nl/base/rela/entities/relagroups/RelationGroup$1 
[findbugs] Applying edu.umd.cs.findbugs.detect.FindBadCast2 to nl/base/rela/entities/relagroups/RelationGroup$1 
[findbugs] Java Result: 137 
[findbugs] Output saved to findbugs.xml 

BUILD SUCCESSFUL 
Total time: 9 minutes 0 seconds 
[FINDBUGS] Collecting findbugs analysis files... 
[FINDBUGS] Finding all files that match the pattern trunk/findbugs.xml 
[FINDBUGS] Parsing 1 files in /data/hudson/workspace/crm-findbugs 
[FINDBUGS] Skipping file of module /data/hudson/workspace/crm-findbugs/trunk/findbugs.xml because it's empty. 
[FINDBUGS] Computing warning deltas based on reference build #1956 
[ANALYSIS-COLLECTOR] Computing warning deltas based on reference build #1956 
Archiving artifacts 

控制檯輸出(工作:#1956年,報告存在錯誤):

 ---snip--- 
[findbugs] Applying edu.umd.cs.findbugs.detect.AtomicityProblem to nl/base/rela/entities/Project$1 
[findbugs] Applying edu.umd.cs.findbugs.detect.DefaultEncodingDetector to nl/base/rela/entities/Project$1 
[findbugs]  32 usecs/byte  29 msec  898 bytes 1 pass nl/base/rela/entities/Project$1 
[findbugs] Analysis completed 
[findbugs] Warnings generated: 770 
[findbugs] Calculating exit code... 
[findbugs] Setting 'bugs found' flag (1) 
[findbugs] Exit code set to: 1 
[findbugs] Java Result: 1 
[findbugs] Output saved to findbugs.xml 

BUILD SUCCESSFUL 
Total time: 9 minutes 30 seconds 
[FINDBUGS] Collecting findbugs analysis files... 
[FINDBUGS] Finding all files that match the pattern trunk/findbugs.xml 
[FINDBUGS] Parsing 1 files in /data/hudson/workspace/crm-findbugs 
[FINDBUGS] Successfully parsed file /data/hudson/workspace/crm-findbugs/trunk/findbugs.xml of module with 770 warnings. 
[FINDBUGS] Computing warning deltas based on reference build #1955 
[ANALYSIS-COLLECTOR] Computing warning deltas based on reference build #1955 
Archiving artifacts 
+0

我隨意的猜測是某種類型的致命錯誤,最有可能出的記憶。我還沒有在Jenkins中設置FindBugs,所以我只能這樣做。 – 2013-03-22 17:17:35

+0

如果分析的代碼基數很大,那麼您可能必須[增加可用於Sonar/FindBugs的內存](http://stackoverflow.com/questions/10104443/sonar-findbugs-heap-size/12975147#12975147)。根據內存何時何地用完,這可能會觸發各種不穩定的行爲。 – 2013-03-29 13:30:21

回答

1
  1. 至於解決辦法,加上它運行腳本,檢查該文件findbugs.xml是空的,並返回非零退出代碼,如果是這樣,失敗的構建

  2. 球泡一步
  3. 在文件aginst詹金斯插件的bug報告https://issues.jenkins-ci.org

  4. 可選:檢查出的插件,修復它自己,提交補丁

相關問題