Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GC overhead limit exceeded #85

Closed
dovogt opened this issue Dec 20, 2018 · 7 comments
Closed

GC overhead limit exceeded #85

dovogt opened this issue Dec 20, 2018 · 7 comments

Comments

@dovogt
Copy link

dovogt commented Dec 20, 2018

Gradle 5.0 changed the memory settings. The following error occurs during execution:

Execution failed for task ':spotbugsMain'.

A failure occurred while executing com.github.spotbugs.internal.spotbugs.SpotBugsRunner
GC overhead limit exceeded

I use it together with the ru.vyarus: gradle-quality-plugin

@KengoTODA
Copy link
Member

Hi, do you mean this change? Could you share mcve to reproduce your problem?

@dovogt
Copy link
Author

dovogt commented Jan 15, 2019

Sorry for my late reply. Enclosed I send you the log file with debug output.
Which memory switch is crucial, I could not find out.
[
gradle.log
](url)

@KengoTODA
Copy link
Member

Thanks for your share! I also found nothing from this Gradle log 😭

  1. Could you try to specify larger -Xmx option via JAVA_OPTS or GRADLE_OPTS environment variable?
  2. Could you reproduce this issue with spotbugs-gradle-plugin version 1.6.4?

@dovogt
Copy link
Author

dovogt commented Jan 18, 2019

Hy,

I have the latest version in use and started the task with --scan. The memory in the gradlew.bat I have increased to 1024MB

https://scans.gradle.com/s/vciemyka5mvk6

Maybe it helps us to continue to find the error :-(

@rem Add default JVM options here. So you can use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS = "- Xmx1024m"

@oehme
Copy link

oehme commented Feb 7, 2019

You're changing the memory for the Gradle daemon, which won't do anything, because Spotbugs is run in a different VM. Change the memory settings of Spotbugs intead using spotbugs.jvmArgs.

@shevek
Copy link

shevek commented May 26, 2019

Running spotbugs in a separate JVM is a really bad idea from the system resource point of view. It's fine for single threaded builds on a large system, but no good for parallel builds, where we end up spawning a LARGE NUMBER of worker JVMs, and the system runs out of memory at OS level, and the entire build dies.

Please can we make spotbugs in instance-safe, in-process, using the resources allocated to the primary Gradle JVM, so that we can have sane resource allocation and reliable builds.

@jscancella
Copy link
Contributor

@dovogt please reopen if this is still an issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants