Analysis looping for specific classes until GC overhead limit exceeded

64 views
Skip to first unread message

jpo...@medallia.com

unread,
Apr 5, 2018, 7:16:57 AM4/5/18
to SonarQube

Hi! I'm seeing a constant error remotely on Jenkins, local and using Sonarlint. When running specific class analysis I get the following error:


This is remotely on Jenkins:

Exception in thread "CLEANUP_MANAGER" java.lang.OutOfMemoryError: GC overhead limit exceeded at java.util.HashSet.<init>(HashSet.java:118) at com.persistit.Persistit.closeZombieTransactions(Persistit.java:1706) at com.persistit.Persistit.cleanup(Persistit.java:1529) at com.persistit.CleanupManager.poll(CleanupManager.java:157) at com.persistit.CleanupManager.runTask(CleanupManager.java:88) at com.persistit.IOTaskRunnable.run(IOTaskRunnable.java:144) at java.lang.Thread.run(Thread.java:748)


java.lang.OutOfMemoryError: GC overhead limit exceeded
        at java
.io.BufferedInputStream.<init>(BufferedInputStream.java:203)
        at java
.io.BufferedInputStream.<init>(BufferedInputStream.java:183)
        at org
.gradle.cache.internal.SimpleStateCache.deserialize(SimpleStateCache.java:133)
        at org
.gradle.cache.internal.SimpleStateCache.access$000(SimpleStateCache.java:34)
        at org
.gradle.cache.internal.SimpleStateCache$1.create(SimpleStateCache.java:50)
        at org
.gradle.cache.internal.DefaultFileLockManager$DefaultFileLock.readFile(DefaultFileLockManager.java:180)
        at org
.gradle.cache.internal.OnDemandFileAccess.readFile(OnDemandFileAccess.java:42)
        at org
.gradle.cache.internal.SimpleStateCache.get(SimpleStateCache.java:48)
        at org
.gradle.cache.internal.FileIntegrityViolationSuppressingPersistentStateCacheDecorator.get(FileIntegrityViolationSuppressingPersistentStateCacheDecorator.java:33)
        at org
.gradle.launcher.daemon.registry.PersistentDaemonRegistry.getAll(PersistentDaemonRegistry.java:69)
        at org
.gradle.launcher.daemon.registry.PersistentDaemonRegistry.getDaemonsMatching(PersistentDaemonRegistry.java:111)
        at org
.gradle.launcher.daemon.registry.PersistentDaemonRegistry.getIdle(PersistentDaemonRegistry.java:81)
        at org
.gradle.launcher.daemon.server.CompatibleDaemonExpirationStrategy.checkExpiration(CompatibleDaemonExpirationStrategy.java:54)
        at org
.gradle.launcher.daemon.server.expiry.AllDaemonExpirationStrategy.checkExpiration(AllDaemonExpirationStrategy.java:45)
        at org
.gradle.launcher.daemon.server.expiry.AnyDaemonExpirationStrategy.checkExpiration(AnyDaemonExpirationStrategy.java:43)
        at org
.gradle.launcher.daemon.server.MasterExpirationStrategy.checkExpiration(MasterExpirationStrategy.java:73)
        at org
.gradle.launcher.daemon.server.Daemon$DaemonExpirationPeriodicCheck.run(Daemon.java:269)
        at org
.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        at org
.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
        at java
.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java
.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at java
.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at java
.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at java
.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java
.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org
.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
        at java
.lang.Thread.run(Thread.java:748)
277/455 files analyzed, current file: .../RecentResponsesDashboardModule.java
277/455 files analyzed, current file: .../RecentResponsesDashboardModule.java277/455 files analyzed, current file: .../RecentResponsesDashboardModule.java
277/455 files analyzed, current file: .../RecentResponsesDashboardModule.java
277/455 files analyzed, current file: .../RecentResponsesDashboardModule.java

Problem in daemon expiration check
java
.lang.OutOfMemoryError: GC overhead limit exceeded
        at java
.util.Arrays.copyOfRange(Arrays.java:3664)
        at java
.lang.String.<init>(String.java:207)
        at java
.lang.StringBuilder.toString(StringBuilder.java:407)
        at org
.gradle.cache.internal.DefaultFileLockManager.determineLockTargetFile(DefaultFileLockManager.java:111)
        at org
.gradle.cache.internal.DefaultFileLockManager$DefaultFileLock.<init>(DefaultFileLockManager.java:138)
        at org
.gradle.cache.internal.DefaultFileLockManager.lock(DefaultFileLockManager.java:100)
        at org
.gradle.cache.internal.DefaultFileLockManager.lock(DefaultFileLockManager.java:87)
        at org
.gradle.cache.internal.DefaultFileLockManager.lock(DefaultFileLockManager.java:83)
        at org
.gradle.cache.internal.OnDemandFileAccess.readFile(OnDemandFileAccess.java:40)
        at org
.gradle.cache.internal.SimpleStateCache.get(SimpleStateCache.java:48)
        at org
.gradle.cache.internal.FileIntegrityViolationSuppressingPersistentStateCacheDecorator.get(FileIntegrityViolationSuppressingPersistentStateCacheDecorator.java:33)
        at org
.gradle.launcher.daemon.registry.PersistentDaemonRegistry.getAll(PersistentDaemonRegistry.java:69)
        at org
.gradle.launcher.daemon.registry.PersistentDaemonRegistry.getDaemonsMatching(PersistentDaemonRegistry.java:111)
        at org
.gradle.launcher.daemon.registry.PersistentDaemonRegistry.getIdle(PersistentDaemonRegistry.java:81)
        at org
.gradle.launcher.daemon.server.CompatibleDaemonExpirationStrategy.checkExpiration(CompatibleDaemonExpirationStrategy.java:54)
        at org
.gradle.launcher.daemon.server.expiry.AllDaemonExpirationStrategy.checkExpiration(AllDaemonExpirationStrategy.java:45)
        at org
.gradle.launcher.daemon.server.expiry.AnyDaemonExpirationStrategy.checkExpiration(AnyDaemonExpirationStrategy.java:43)
        at org
.gradle.launcher.daemon.server.MasterExpirationStrategy.checkExpiration(MasterExpirationStrategy.java:73)
        at org
.gradle.launcher.daemon.server.Daemon$DaemonExpirationPeriodicCheck.run(Daemon.java:269)
        at org
.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        at org
.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
        at java
.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java
.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at java
.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at java
.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at java
.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java
.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org
.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
        at java
.lang.Thread.run(Thread.java:748)
Classes not found during the analysis : [com.medallia.setup.company.domain.Branding, common.OnePassStats, org.antlr.stringtemplate.StringTemplate]
Failed to execute org.gradle.launcher.daemon.server.Daemon$DaemonExpirationPeriodicCheck@5c62036c.
java
.lang.OutOfMemoryError: GC overhead limit exceeded
        at java
.util.Arrays.copyOfRange(Arrays.java:3664)
        at java
.lang.String.<init>(String.java:207)
        at java
.lang.StringBuilder.toString(StringBuilder.java:407)
        at org
.gradle.cache.internal.DefaultFileLockManager.determineLockTargetFile(DefaultFileLockManager.java:111)
        at org
.gradle.cache.internal.DefaultFileLockManager$DefaultFileLock.<init>(DefaultFileLockManager.java:138)
        at org
.gradle.cache.internal.DefaultFileLockManager.lock(DefaultFileLockManager.java:100)
        at org
.gradle.cache.internal.DefaultFileLockManager.lock(DefaultFileLockManager.java:87)
        at org
.gradle.cache.internal.DefaultFileLockManager.lock(DefaultFileLockManager.java:83)
        at org
.gradle.cache.internal.OnDemandFileAccess.readFile(OnDemandFileAccess.java:40)
        at org
.gradle.cache.internal.SimpleStateCache.get(SimpleStateCache.java:48)
        at org
.gradle.cache.internal.FileIntegrityViolationSuppressingPersistentStateCacheDecorator.get(FileIntegrityViolationSuppressingPersistentStateCacheDecorator.java:33)
        at org
.gradle.launcher.daemon.registry.PersistentDaemonRegistry.getAll(PersistentDaemonRegistry.java:69)
        at org
.gradle.launcher.daemon.registry.PersistentDaemonRegistry.getDaemonsMatching(PersistentDaemonRegistry.java:111)
        at org
.gradle.launcher.daemon.registry.PersistentDaemonRegistry.getIdle(PersistentDaemonRegistry.java:81)
        at org
.gradle.launcher.daemon.server.CompatibleDaemonExpirationStrategy.checkExpiration(CompatibleDaemonExpirationStrategy.java:54)
        at org
.gradle.launcher.daemon.server.expiry.AllDaemonExpirationStrategy.checkExpiration(AllDaemonExpirationStrategy.java:45)
        at org
.gradle.launcher.daemon.server.expiry.AnyDaemonExpirationStrategy.checkExpiration(AnyDaemonExpirationStrategy.java:43)
        at org
.gradle.launcher.daemon.server.MasterExpirationStrategy.checkExpiration(MasterExpirationStrategy.java:73)
        at org
.gradle.launcher.daemon.server.Daemon$DaemonExpirationPeriodicCheck.run(Daemon.java:269)
        at org
.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        at org
.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
        at java
.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java
.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at java
.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at java
.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at java
.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java
.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org
.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
        at java
.lang.Thread.run(Thread.java:748)



After giving it 8G of resources I get the following error:
[JOURNAL_FLUSHER] WARNING Journal flush operation took 217,531ms last 8 cycles average is 27,191ms Exception in thread "LOG_FLUSHER" java.lang.OutOfMemoryError: GC overhead limit exceeded at java.util.ArrayList.iterator(ArrayList.java:834) at java.util.Collections$SynchronizedCollection.iterator(Collections.java:2031) at com.persistit.Persistit.pollAlertMonitors(Persistit.java:2285) at com.persistit.Persistit$LogFlusher.run(Persistit.java:192) :sonarqube FAILED


For local it just hangs indefinitely and for SonarLint it hangs my IntelliJ and I have to kill it.
Doesn't look like an environment issue but some rules that are having trouble running.

Can anyone point me in the right direction? I wouldn't like to have to exclude classes as others might appear and have the same effect.

Thanks!




Reply all
Reply to author
Forward
0 new messages