18

चलाने के दौरान पार हो गई है, मैं अपने प्रोजेक्ट पर सोनार विश्लेषण करते समय आउटऑफमेमरी अपवाद प्राप्त कर रहा हूं। नीचे स्टैक ट्रेस है:जीसी ओवरहेड सीमा सोनार धावक

14:55:55.433 DEBUG - Release semaphore on project : [email protected][id=1,key=myProj_web,qualifier=TRK], with key batch-myProj_web 
14:55:55.711 DEBUG - To prevent a memory leak, the JDBC Driver [com.mysql.jdbc.Driver] has been forcibly deregistered 

INFO: ------------------------------------------------------------------------ 
INFO: EXECUTION FAILURE 
INFO: ------------------------------------------------------------------------ 
Total time: 12:48.979s 
Final Memory: 33M/910M 
INFO: ------------------------------------------------------------------------ 
ERROR: Error during Sonar runner execution 
org.sonar.runner.impl.RunnerException: Unable to execute Sonar 
     at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91) 
     at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69) 
     at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50) 
     at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102) 
     at org.sonar.runner.api.Runner.execute(Runner.java:100) 
     at org.sonar.runner.Main.executeTask(Main.java:70) 
     at org.sonar.runner.Main.execute(Main.java:59) 
     at org.sonar.runner.Main.main(Main.java:53) 
Caused by: org.sonar.api.utils.SonarException: Can not execute Findbugs 
     at org.sonar.plugins.findbugs.FindbugsExecutor.execute(FindbugsExecutor.java:154) 
     at org.sonar.plugins.findbugs.FindbugsSensor.analyse(FindbugsSensor.java:59) 
     at org.sonar.batch.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:79) 
     at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:70) 
     at org.sonar.batch.phases.PhaseExecutor.execute(PhaseExecutor.java:131) 
     at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:178) 
     at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92) 
     at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) 
     at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:199) 
     at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:194) 
     at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:187) 
     at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92) 
     at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) 
     at org.sonar.batch.scan.ScanTask.scan(ScanTask.java:56) 
     at org.sonar.batch.scan.ScanTask.execute(ScanTask.java:44) 
     at org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.java:82) 
     at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92) 
     at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) 
     at org.sonar.batch.bootstrap.BootstrapContainer.executeTask(BootstrapContainer.java:175) 
     at org.sonar.batch.bootstrap.BootstrapContainer.doAfterStart(BootstrapContainer.java:163) 
     at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92) 
     at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) 
     at org.sonar.batch.bootstrapper.Batch.startBatch(Batch.java:92) 
     at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:74) 
     at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:48) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87) 
     ... 9 more 
Caused by: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded 
     at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:232) 
     at java.util.concurrent.FutureTask.get(FutureTask.java:91) 
     at org.sonar.plugins.findbugs.FindbugsExecutor.execute(FindbugsExecutor.java:146) 
     ... 38 more 
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded 
     at edu.umd.cs.findbugs.util.Strings.escapeXml(Strings.java:167) 
     at edu.umd.cs.findbugs.xml.XMLAttributeList.getQuotedAttributeValue(XMLAttributeList.java:132) 
     at edu.umd.cs.findbugs.xml.XMLAttributeList.toString(XMLAttributeList.java:111) 
     at edu.umd.cs.findbugs.xml.OutputStreamXMLOutput.openTag(OutputStreamXMLOutput.java:112) 
     at edu.umd.cs.findbugs.SourceLineAnnotation.writeXML(SourceLineAnnotation.java:887) 
     at edu.umd.cs.findbugs.ClassAnnotation.writeXML(ClassAnnotation.java:192) 
     at edu.umd.cs.findbugs.BugInstance.writeXML(BugInstance.java:2292) 
     at edu.umd.cs.findbugs.SortedBugCollection.writeXML(SortedBugCollection.java:576) 
     at edu.umd.cs.findbugs.SortedBugCollection.writeXML(SortedBugCollection.java:497) 
     at edu.umd.cs.findbugs.XMLBugReporter.finish(XMLBugReporter.java:46) 
     at edu.umd.cs.findbugs.DelegatingBugReporter.finish(DelegatingBugReporter.java:81) 
     at edu.umd.cs.findbugs.DelegatingBugReporter.finish(DelegatingBugReporter.java:81) 
     at edu.umd.cs.findbugs.DelegatingBugReporter.finish(DelegatingBugReporter.java:81) 
     at edu.umd.cs.findbugs.FindBugs2.analyzeApplication(FindBugs2.java:1256) 
     at edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:282) 
     at org.sonar.plugins.findbugs.FindbugsExecutor$FindbugsTask.call(FindbugsExecutor.java:201) 
     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
     at java.lang.Thread.run(Thread.java:662) 

मैंने स्मृति को बढ़ाने की कोशिश की लेकिन समस्या अभी भी मौजूद है। मैंने सोनार चलाने के दौरान निम्नलिखित विकल्पों का उपयोग किया है: set SONAR_RUNNER_OPTS=-Xmx1024m -XX:MaxPermSize=512m

+0

मुझे कैसे पता चलेगा SonarQube की जो घटक समस्या हो रही है? क्या यह डुप्लिकेट कोड चेकर प्लगइन या कुछ और है? – Yasin

+0

फिर भी मैं यह जानना चाहता हूं कि अपवाद से ठीक पहले निष्पादित घटक को कैसे पहचानें। क्या लॉग या स्टैक ट्रेस का उपयोग करके इसे पहचानने का कोई तरीका है? हालांकि मैं इसे समझने में सक्षम नहीं हूं। – Yasin

+0

[इसी तरह का सवाल] (http://stackoverflow.com/q/10104443/1005481) सहायता भी हो सकता है। –

उत्तर

10

ठीक है, कुछ और शोध करने के बाद मुझे यह सही मिला। मुझे कुछ सेटअप करना पड़ा, हालांकि।

  1. पैकेज डिजाइन विश्लेषण जाएं, sonar.skipPackageDesign=true
  2. अपनी परियोजना के गुणों में lib/परीक्षण निर्देशिका के लिए प्रविष्टियाँ निकालें फ़ाइल
  3. कुछ और स्मृति set SONAR_RUNNER_OPTS=-Xmx1536m -XX:MaxPermSize=512m
  4. वैकल्पिक रूप से आप sonar.skipDesign=true
  5. का उपयोग करके डिजाइन विश्लेषण निष्क्रिय कर सकते हैं दे दो
  6. सोनारक्यूब सेवाओं को पुनरारंभ करें और आपको अब अच्छा होना चाहिए :)

मुझे बताएं कि यह आपके वोटों के माध्यम से आपके लिए काम करता है या नहीं।

अधिक जानकारी के लिए कृपया उल्लेख this post

+0

प्रदान किया गया लिंक अब काम नहीं करता है :( – gvasquez

+1

लिंक को अपडेट किया गया – Yasin

+0

ने जेनकिंस से MAVEN_OPTS के माध्यम से सभी थॉस सेटिंग्स को आजमाया, लेकिन दुर्भाग्य से कोई सफलता नहीं :( – gvasquez

संबंधित मुद्दे