Ошибка памяти при запуске модульных тестов в разветвленной виртуальной машине SonarQube завершена, не попрощавшись должным образом

Мы постоянно избавляемся от ошибок памяти при выполнении нашего анализа сонара. Это прерывисто на разных машинах, но, кажется, как только вы его получите, оно сохраняется.

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.16:test   (default-cli) on project optimus-client-web-configuration: Execution default-cli of goal org.apache.maven.plugins:    

maven-surefire-plugin:2.16:test failed: The forked VM terminated without saying properly goodbye. VM crash or System.exit called ?
[ERROR] Command wascmd.exe /X /C ""C:\Program Files\Java\jdk1.7.0_45\jre\bin\java" -javaagent:C:\Users\cxxx\AppData\Local\Temp\jacocoagent8301608889470684052.jar=destfile=target/jacoco.exec,excludes=
*_javassist_* -jar C:\redesign_Trunk\optimus-lms-server\optimus-client-web-configuration\target\surefire\surefirebooter2312966376869893038.jar C:\redesign_Trunk\optimus-lms-server\optimus-client-web-con
figuration\target\surefire\surefire350975689095180011tmp C:\redesign_Trunk\xxx-xx-server\xxx\target\surefire\surefire_45613339175612175619tmp"

Модульные тесты не терпят неудачу при выполнении перед фазой сонара. Это происходит в одном конкретном тесте, который активирует конфигурацию Spring, чтобы проверить, нормально ли она работает. Вероятно, этот тест потребляет больше памяти, чем большинство других, поскольку он должен загрузить весь контекст.

Я увеличил память в MAVEN_OPTS, чтобы использовать максимальную кучу 1024M. Добавил эту конфигурацию в мой pom

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.16</version>
                <configuration>
                    <argLine>-Xmx1024m</argLine>
                </configuration>
</plugin>

person Matt Broekhuis    schedule 24.06.2014    source источник


Ответы (2)


в этой конфигурации вы просто настраиваете плагин surefire для использования этой памяти, когда он порождает новый jvm, вам также нужно увеличить память для jvm mvn

export MAVEN_OPTS="-Xmx2048m"

попробуйте выше (с правильным объемом памяти)

person jmj    schedule 25.06.2014
comment
Чтобы сделать это непосредственно в команде Maven, добавьте это к параметру argLine следующим образом: mvn -DargLine=-Xmx2048m {... остальные аргументы maven} - person Noam Manos; 07.04.2016

Другие решения: Запустите приложение [Eclipse IDE, SonarQube...] от имени администратора

Проблема:
1. Если в журнале ошибок указано: «... ВМ завершена не попрощавшись должным образом ...'
2. Журнал ошибок содержит: "cmd.exe /C ... error something ..."
3. Журнал ошибок содержит: '... java.io.tmpdir ... c:\windows'

person Juha Hanka    schedule 29.12.2016