Сонар-сканер StackOverflowException - - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь запустить sonar-scanner в проекте Maven с около 80 000 классов.

(Я знаю: правильный подход заключается в использовании mvn sonar:sonar, но я в итоге получил, возможно, одну ошибку и 0 для всех других метрик, возможно, из-за того, что это проблемная устаревшая система с остаточными файлами сборки муравья вэто.)

Оставляя в стороне на данный момент вопрос о том, как или как реорганизовать / переделать этот проект, я хотел бы понять, могу ли я использовать Sonar на нем как есть.

Вот ошибка, которую я получаю с sonar-scanner после обработки 11 000 классов:

A stack overflow occurred while analyzing file: ....
....
Error during SonarQube Scanner execution
java.lang.StackOverflowError
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
at org.sonar.java.cfg.CFGLoop.returnsToStart(CFGLoop.java:100)
at org.sonar.java.cfg.CFGLoop.collectBlocks(CFGLoop.java:87)
etc. many many more times.

В файле sonar-project.properties у меня есть:

sonar.sources=.
sonar.binaries=./<path>,./<another path>, etc.    

1 Ответ

0 голосов
/ 28 ноября 2018

Я отвечаю на свой вопрос.

Согласно моему комментарию, я следую лучшей практике использования mvn для выполнения цели sonar.

Проблема, которую мне нужно будет исследовать, и, возможно, опубликовать в другом вопросе.Вот почему анализ выполняется невероятно медленно - около минуты для каждого файла .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...