2015-05-25 2 views
2

Недавно я обновился до новейшего SonarQube 5.1, но теперь мои сборки maven начали сбой, и я не могу определить, какой файл вызывает ошибку. Проект maven - это проект с несколькими модулями.Ошибка анализа SonarQube 5.1 с помощью StackOverflowError

  • SonarQube версия 5.1
  • Maven цель выполнена с «МВН гидролокатора: сонара» (версия 2.6 используется и правильно анализирует некоторые из проектов)

Билд Maven заканчивается со следующей ошибкой :

[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.6:sonar (default-cli) on project flex-parentpom: null: MojoExecutionException: StackOverflowError -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.6:sonar (default-cli) on project flex-parentpom: null 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) 
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:157) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 
Caused by: org.apache.maven.plugin.MojoExecutionException 
    at org.codehaus.mojo.sonar.bootstrap.ExceptionHandling.handle(ExceptionHandling.java:41) 
    at org.codehaus.mojo.sonar.bootstrap.RunnerBootstraper.execute(RunnerBootstraper.java:139) 
    at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:132) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) 
    ... 19 more 
Caused by: java.lang.StackOverflowError 
    at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitBinaryExpression(BaseTreeVisitor.java:208) 
    at org.sonar.java.model.expression.BinaryExpressionTreeImpl.accept(BinaryExpressionTreeImpl.java:85) 
    at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:42) 
    at org.sonar.java.resolve.SemanticModel$1.scan(SemanticModel.java:92) 
    at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitBinaryExpression(BaseTreeVisitor.java:208) 
    at org.sonar.java.model.expression.BinaryExpressionTreeImpl.accept(BinaryExpressionTreeImpl.java:85) 
    at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:42) 
    at org.sonar.java.resolve.SemanticModel$1.scan(SemanticModel.java:92) 
    at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitBinaryExpression(BaseTreeVisitor.java:208) 
    at org.sonar.java.model.expression.BinaryExpressionTreeImpl.accept(BinaryExpressionTreeImpl.java:85) 
    at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:42) 
    at org.sonar.java.resolve.SemanticModel$1.scan(SemanticModel.java:92) 
    at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitBinaryExpression(BaseTreeVisitor.java:208) 
    at org.sonar.java.model.expression.BinaryExpressionTreeImpl.accept(BinaryExpressionTreeImpl.java:85) 
    at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:42) 
    at org.sonar.java.resolve.SemanticModel$1.scan(SemanticModel.java:92) 

Любые идеи по отладке причины ошибки? Я попытался с -debug флаг.

+0

Что выглядит странно: 'on project flex-parentpom: null'? – khmarbaise

+0

Любая идея, что может представлять нуль? версия, имя? Не было проблем с sonar 4.X – smox

ответ

1

Проблема решена.

Я закончил создание локального экземпляра и запустил плагин maven с помощью отладчика, это позволило мне установить контрольную точку за исключением. Я выяснил, что у нас был тестовый файл (файл), в котором было поле, определенное сотнями строк. Этот файл не редактировался в течение длительного времени, поэтому я предполагаю, что общий размер стека изменился с 4.x до 5.x. Тест был уродлив, и в этом случае мое решение было реорганизовано. Я предполагаю, что другим решением будет увеличить размер пакета java, но я не пробовал.

+0

Чтобы быть точным: стек не изменился за один раз: в версии 5.x вы используете последнюю версию java-плагина с семантическим анализом, и вы, скорее всего, воспользовались этой надоедливой ошибкой: https://jira.codehaus.org/browse/SONARJAVA-793 – benzonico

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