在每次提交後,我們在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
我隨意的猜測是某種類型的致命錯誤,最有可能出的記憶。我還沒有在Jenkins中設置FindBugs,所以我只能這樣做。 – 2013-03-22 17:17:35
如果分析的代碼基數很大,那麼您可能必須[增加可用於Sonar/FindBugs的內存](http://stackoverflow.com/questions/10104443/sonar-findbugs-heap-size/12975147#12975147)。根據內存何時何地用完,這可能會觸發各種不穩定的行爲。 – 2013-03-29 13:30:21