2

Jenkinsを使用してビルドすると、次の例外が発生します。この例外は、Cucumberテストの実行後に発生します。

Javaヒープスペースで失敗した正確な場所を誰かに教えてもらえますか?

あなたはそれを解決するために何ができるかについて何か考えがありますか?

背景:Cucumberテスト中にJavaヒープスペースがありました。メモリを増やした後、Cucumberテストに合格しましたが、すぐにこのJavaヒープスペースを取得しました。

ありがとう、

リオル

mojoSucceeded org.apache.maven.plugins:maven-surefire-plugin:2.9(default-test)
[JENKINS] Recording test results
mavenExecutionResult exceptions not empty
message : Java heap space
Stack trace : 
java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOfRange(Arrays.java:3209)
    at java.lang.String.<init>(String.java:215)
    at com.sun.org.apache.xerces.internal.xni.XMLString.toString(XMLString.java:185)
    at com.sun.org.apache.xerces.internal.util.XMLAttributesImpl.getValue(XMLAttributesImpl.java:537)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser$AttributesProxy.getValue(AbstractSAXParser.java:2319)
    at org.dom4j.tree.AbstractElement.setAttributes(AbstractElement.java:543)
    at org.dom4j.io.SAXContentHandler.addAttributes(SAXContentHandler.java:916)
    at org.dom4j.io.SAXContentHandler.startElement(SAXContentHandler.java:249)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
    at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:377)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2756)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
    at org.dom4j.io.SAXReader.read(SAXReader.java:465)
    at org.dom4j.io.SAXReader.read(SAXReader.java:264)
    at hudson.tasks.junit.SuiteResult.parse(SuiteResult.java:112)
    at hudson.tasks.junit.TestResult.parse(TestResult.java:227)
    at hudson.tasks.junit.TestResult.parse(TestResult.java:163)
    at hudson.maven.reporters.SurefireArchiver.postExecute(SurefireArchiver.java:141)
    at hudson.maven.Maven3Builder$MavenExecutionListener.recordMojoEnded(Maven3Builder.java:421)
    at hudson.maven.Maven3Builder$MavenExecutionListener.mojoSucceeded(Maven3Builder.java:403)
    at org.jfrog.build.extractor.maven.BuildInfoRecorder.mojoSucceeded(BuildInfoRecorder.java:241)
    at org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:87)
    at org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:42)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:228)
channel stopped
4

3 に答える 3

2

Jenkins設定に移動し、環境変数MAVEN_OPTSをに追加します-Xmx512m -XX:MaxPermSize=256m。テストが終了した後、結果を解析しようとしているようですが、XMLファイルが大きすぎます。

于 2012-11-14T15:53:08.787 に答える
0

CI環境がどのようなものかはわかりませんが、JenkinsをWindowsサービスとして実行している場合は、使用可能なヒープサイズを増やすこともできます。

これを行うには、$ {JENKINS_HOME} \ jenkins.xmlにあるファイルを見つけて、コマンドライン引数を適切に更新します。(つまり、「-Xmx256m」を「-Xmx512m」などのより大きな値に変更します)。

于 2012-11-14T16:00:21.683 に答える
0

まず、キュウリからの出力が長い理由を分析してみます。私の場合、キュウリがあまりにも多くのテストで報告したのと同じスタックトレースでした。

于 2013-10-03T18:36:55.730 に答える