2013-03-21 5 views
2

Мы выполняем работу findbug на jenkins после каждой фиксации, результаты которой опубликованы плагином статического анализа. Это нормально работает так, как ожидалось, но время от времени (примерно каждые 100 сборок) findbugs завершается с кодом выхода 137. Когда он это делает, также генерируется полностью пустой файл findbugs.xmlРезультат Findbugs java: 137 плагин статического анализа

Пустой файл xml вызывает плагин статического анализа, чтобы думать, что эта сборка действительно потрясающая (никаких ошибок), и использует ее как новую конструкцию ссылок, которая, в свою очередь, делает каждую сборку впоследствии неудачной/нестабильной.

Я не могу найти что-нибудь полезное относительно того, что должен означать этот код выхода или как его предотвратить. Я ищу способ предотвратить появление этого кода выхода 137 или получить плагин статического анализа для обработки этой сборки как сбоя (вместо новой сборки ссылок)

Я также хотел бы знать, что этот код действителен.

не

Консоль вывода задания с ExitCode 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

Моя случайная догадка некоторый тип фатальной ошибки, скорее всего, из памяти. Я еще не установил FindBugs в Jenkins, так что это все, что у меня есть. –

+0

Если анализируемая база кода велика, вам может потребоваться [увеличить доступную память для Sonar/FindBugs] (http://stackoverflow.com/questions/10104443/sonar-findbugs-heap-size/12975147#12975147). В зависимости от того, когда и где закончится память, это может вызвать все виды ошибочного поведения. –

ответ

1
  1. Как решить эту проблема, добавьте шаг Buld который запускает скрипт, который проверяет, является ли этот файл findbugs.xml пуст, и возвращает ненулевой код завершения, если он, в противном случае сборок

  2. Файл отчета об ошибке Светлану плагин Дженкинс в https://issues.jenkins-ci.org

  3. Дополнительно: проверить плагин, исправить это самостоятельно, представить патч

Смежные вопросы