On Wed, Sep 28, 2016 at 11:35 PM, Cédric Champeau <cedric.champ...@gmail.com > wrote:
> Ah that's annoying. We had to do this to workaround memory leaks with > Groovy and Java 7 (and the name states). This change basically means that > users will start seeing errors if they upgrade Groovy. Is it on `master` or > 2.4.8? I would consider this a blocker for the release. > It was on master and 2_4_X. A workaround has been since committed [1] that restores compatibility and now projects build with 2.4.8-SNAPSHOT. [1] https://github.com/apache/groovy/commit/82c9d20a160c7e4f59630f163a68df82f5e0eba4 > > 2016-09-19 1:49 GMT+02:00 John Wagenleitner <john.wagenleit...@gmail.com>: > >> A recent commit [1] to ClassInfo changed a private field from a Class to >> a WeakReference<Class> (to address memory leaks). In testing a project >> with the latest snapshot as a dependency, the compileGroovy task fails [2] >> because that field is referenced in an internal Gradle >> class LeakyOnJava7GroovySystemLoader [3]. >> >> I haven't reported it yet on the Gradle forums yet, thought I'd post here >> first since I know there's some Gradle folks on here to see what you >> thought would be the best way to approach this (i.e., report, revert our >> change, etc.). >> >> >> [1] https://github.com/apache/groovy/commit/a8fb776023253ebc >> 2da35538f25eccd7d59997ed >> >> [2] > Could not shut down the Groovy system for >> org.gradle.internal.classloader.VisitableURLClassLoader@69048911 >> .... >> .... >> Caused by: java.lang.ClassCastException: java.lang.ref.WeakReference >> cannot be cast to java.lang.Class >> at org.gradle.api.internal.classloading.LeakyOnJava7GroovySyste >> mLoader.shutdown(LeakyOnJava7GroovySystemLoader.java:74) >> >> [3] https://github.com/gradle/gradle/blob/711f64233b1b3ed312 >> dee00f1215e2609ce41210/subprojects/core/src/main/ >> java/org/gradle/api/internal/classloading/LeakyOnJava7Groov >> ySystemLoader.java#L74 >> >> >