bad enclosing method attribute for class
Whenever I do a build of my project inside IDEA, I get this error:
Error:java: cannot access jr.rendering.ui.partials.SpellPartial$1
bad class file: /home/lem/Projects/JRogue/build/classes/main/jr/rendering/ui/partials/SpellPartial$1.class
bad enclosing method attribute for class jr.rendering.ui.partials.SpellPartial$1
Please remove or make sure it appears in the correct subdirectory of the classpath.
The affected file contains two anonymous classes, which compile perfectly fine under gradle:
spellButton.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
if (event.getButton() == Input.Buttons.LEFT) {
player.defaultVisitors.castSpell(spell);
parentWindow.hide();
}
}
});
parentWindow.addListener(new InputListener() {
@Override
public boolean keyTyped(InputEvent event, char character) {
if (player.getKnownSpells().containsKey(character)) {
player.defaultVisitors.castSpell(player.getKnownSpells().get(character));
parentWindow.hide();
return true;
}
return false;
}
});
Gradle builds work perfectly fine. The issue only occurs to me when triggering IntelliJ builds, for example when hot swapping code with a debugger attached. I have tried:
- gradle clean
- Removing build, classes, .idea directories
- Invalidating IDEA cache
- Removing all gradle cache on the system
- Re-cloning the project
- Moving the affected file to another location
- Changing the anonymous classes in the affected file
- Removing the relevant class during compilation, and trying a rebuild
When opening the generated .class files in IDEA, I can see from the decompiled source that it compiled fine.
Here is my ~/.IntelliJIdea2017.1/system/log/build-log/build.log during compilation:
2017-04-04 20:17:55,610 [ 153647] INFO - .incremental.IncProjectBuilder - Building project; isRebuild:false; isMake:true parallel compilation:false
2017-04-04 20:17:55,612 [ 153649] INFO - kotlin.jps.build.KotlinBuilder - is Kotlin incremental compilation enabled: true
2017-04-04 20:17:55,612 [ 153649] INFO - kotlin.jps.build.KotlinBuilder - is Kotlin experimental incremental compilation enabled: true
2017-04-04 20:17:55,641 [ 153678] INFO - kotlin.jps.build.KotlinBuilder - is Kotlin compiler daemon enabled: true
2017-04-04 20:17:55,641 [ 153678] INFO - kotlin.jps.build.KotlinBuilder - Label in local history: build started 6f5d5515
2017-04-04 20:17:55,643 [ 153680] INFO - r.api.ClassFilesIndicesBuilder - class files data index disabled
2017-04-04 20:17:55,657 [ 153694] INFO - .incremental.IncProjectBuilder - Cleaned output directories in 2 ms
2017-04-04 20:17:55,712 [ 153749] INFO - brains.jps.incremental.Builder - Dependency analysis found 0 affected files
2017-04-04 20:17:55,754 [ 153791] INFO - s.incremental.java.JavaBuilder - Compiling 386 java files; module: JRogue_main
2017-04-04 20:17:57,917 [ 155954] INFO - brains.jps.incremental.Builder - Dependency analysis found 0 affected files
2017-04-04 20:17:57,929 [ 155966] INFO - s.incremental.java.JavaBuilder - javac 1.8.0_121 was used to compile [JRogue_main]
2017-04-04 20:17:58,140 [ 0] INFO - etbrains.jps.cmdline.BuildMain - Build process started. Classpath: /usr/share/intellij-idea-ultimate-edition/lib/jps-launcher.jar:/usr/lib/jvm/java-8-openjdk/lib/tools.jar:/usr/share/intellij-idea-ultimate-edition/lib/optimizedFileManager.jar
2017-04-04 20:17:58,302 [ 162] INFO - etbrains.jps.cmdline.BuildMain - Connection to IDE established in 145 ms
2017-04-04 20:17:58,354 [ 214] INFO - jps.cmdline.JpsModelLoaderImpl - Loading model: project path = /home/lem/Projects/JRogue, global options path = /home/lem/.IntelliJIdea2017.1/config/options
2017-04-04 20:17:58,662 [ 522] INFO - jps.cmdline.JpsModelLoaderImpl - Model loaded in 308 ms
2017-04-04 20:17:58,663 [ 523] INFO - jps.cmdline.JpsModelLoaderImpl - Project has 3 modules, 40 libraries
2017-04-04 20:17:58,744 [ 604] INFO - ellij.util.io.PagedFileStorage - lower=100; upper=500; buffer=10; max=602
2017-04-04 20:17:58,826 [ 686] INFO - etbrains.jps.cmdline.BuildMain - Pre-loaded process ready in 687 ms
~/.IntelliJIdea2017.1/system/log/idea.log also contains this extremely long text during building:
2017-04-04 20:17:57,969 [3471906] INFO - lij.compiler.impl.CompilerUtil - COMPILATION FINISHED (BUILD PROCESS); Errors: 1; warnings: 0 took 2418 ms: 0 min 2sec
2017-04-04 20:17:57,976 [3471913] INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [system]: /usr/lib/jvm/java-8-openjdk/bin/java -Xmx700m -Djava.awt.headless=true -Djava.endorsed.dirs=\"\" -Djdt.compiler.useSingleThread=true -Dpreload.project.path=/home/lem/Projects/JRogue -Dpreload.config.path=/home/lem/.IntelliJIdea2017.1/config/options -Dcompile.parallel=false -Drebuild.on.dependency.change=true -Djava.net.preferIPv4Stack=true -Dio.netty.initialSeedUniquifier=8560024355645472247 -Dfile.encoding=UTF-8 -Djps.file.types.component.name=FileTypeManager -Duser.language=en -Duser.country=GB -Didea.paths.selector=IntelliJIdea2017.1 -Didea.home.path=/usr/share/intellij-idea-ultimate-edition -Didea.config.path=/home/lem/.IntelliJIdea2017.1/config -Didea.plugins.path=/home/lem/.IntelliJIdea2017.1/config/plugins -Djps.log.dir=/home/lem/.IntelliJIdea2017.1/system/log/build-log -Djps.fallback.jdk.home=/usr/lib/jvm/java-8-openjdk -Djps.fallback.jdk.version=1.8.0_121 -Dio.netty.noUnsafe=true -Djava.io.tmpdir=/home/lem/.IntelliJIdea2017.1/system/compile-server/jrogue_d569555f/_temp_ -Djps.backward.ref.index.builder=true -Dkotlin.incremental.compilation.experimental=true -Dkotlin.daemon.enabled -Dkotlin.daemon.client.alive.path=\"/tmp/kotlin-idea-6180342113172379069-is-running\" -classpath /usr/share/intellij-idea-ultimate-edition/lib/jps-launcher.jar:/usr/lib/jvm/java-8-openjdk/lib/tools.jar:/usr/share/intellij-idea-ultimate-edition/lib/optimizedFileManager.jar org.jetbrains.jps.cmdline.Launcher /usr/share/intellij-idea-ultimate-edition/lib/log4j.jar:/usr/share/intellij-idea-ultimate-edition/lib/asm-all.jar:/usr/share/intellij-idea-ultimate-edition/lib/jps-builders-6.jar:/usr/share/intellij-idea-ultimate-edition/lib/protobuf-2.5.0.jar:/usr/share/intellij-idea-ultimate-edition/lib/jps-model.jar:/usr/share/intellij-idea-ultimate-edition/lib/nanoxml-2.2.3.jar:/usr/share/intellij-idea-ultimate-edition/lib/xercesImpl.jar:/usr/share/intellij-idea-ultimate-edition/lib/javac2.jar:/usr/share/intellij-idea-ultimate-edition/lib/jgoodies-forms.jar:/usr/share/intellij-idea-ultimate-edition/lib/jna.jar:/usr/share/intellij-idea-ultimate-edition/lib/jps-builders.jar:/usr/share/intellij-idea-ultimate-edition/lib/oromatcher.jar:/usr/share/intellij-idea-ultimate-edition/lib/openapi.jar:/usr/share/intellij-idea-ultimate-edition/lib/util.jar:/usr/share/intellij-idea-ultimate-edition/lib/resources_en.jar:/usr/share/intellij-idea-ultimate-edition/lib/idea_rt.jar:/usr/share/intellij-idea-ultimate-edition/lib/jdom.jar:/usr/share/intellij-idea-ultimate-edition/lib/annotations.jar:/usr/share/intellij-idea-ultimate-edition/lib/batik-all.jar:/usr/share/intellij-idea-ultimate-edition/lib/netty-all-4.1.6.Final.Patched.jar:/usr/share/intellij-idea-ultimate-edition/lib/jna-platform.jar:/usr/share/intellij-idea-ultimate-edition/lib/snappy-in-java-0.5.1.jar:/usr/share/intellij-idea-ultimate-edition/lib/trove4j.jar::/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/gradle-tooling-extension-impl.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/commons-io-2.2.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/objenesis-1.2.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/native-platform-linux-i386-ncurses6-0.12.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/guava-jdk5-17.0.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/gradle-model-groovy-3.3.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/native-platform-freebsd-amd64-libcpp-0.12.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/native-platform-windows-i386-0.12.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/minlog-1.2.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/gradle-native-3.3.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/gradle-base-services-groovy-3.3.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/native-platform-osx-amd64-0.12.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/resources_en.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/gradle-messaging-3.3.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/gradle-logging-3.3.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/gradle-wrapper-3.3.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/gradle.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/native-platform-linux-amd64-ncurses6-0.12.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/native-platform-0.12.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/native-platform-linux-i386-ncurses5-0.12.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/native-platform-linux-i386-0.12.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/gradle-version-info-3.3.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/reflectasm-1.07.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/native-platform-linux-amd64-0.12.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/native-platform-linux-amd64-ncurses5-0.12.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/gradle-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/jansi-1.14.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/native-platform-osx-i386-0.12.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/gradle-resources-3.3.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/native-platform-windows-amd64-0.12.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/gradle-model-core-3.3.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/gradle-tooling-api-3.3.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/gradle-tooling-extension-api.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/native-platform-freebsd-i386-libcpp-0.12.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/commons-lang-2.6.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/gradle-base-services-3.3.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/gradle-core-3.3.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/gradle-process-services-3.3.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/native-platform-freebsd-amd64-libstdcpp-0.12.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/gradle-cli-3.3.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/kryo-2.22.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/native-platform-freebsd-i386-libstdcpp-0.12.jar:/usr/share/intellij-idea-ultimate-edition/lib/ant/lib/ant.jar:/usr/share/intellij-idea-ultimate-edition/lib/groovy-all-2.4.6.jar:/usr/share/intellij-idea-ultimate-edition/lib/gson-2.5.jar:/usr/share/intellij-idea-ultimate-edition/lib/slf4j-api-1.7.10.jar:/usr/share/intellij-idea-ultimate-edition/lib/slf4j-log4j12-1.7.10.jar:/usr/share/intellij-idea-ultimate-edition/lib/gson-2.5.jar:/usr/share/intellij-idea-ultimate-edition/plugins/android/lib/jarutils.jar:/usr/share/intellij-idea-ultimate-edition/plugins/ant/lib/ant-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/devkit/lib/devkit-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/uiDesigner/lib/jps/ui-designer-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/IntelliLang/lib/intellilang-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/Groovy/lib/groovy-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/Groovy/lib/groovy-rt-constants.jar:/usr/share/intellij-idea-ultimate-edition/plugins/eclipse/lib/eclipse-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/eclipse/lib/common-eclipse-util.jar:/usr/share/intellij-idea-ultimate-edition/plugins/maven/lib/maven-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/maven/lib/aether-dependency-resolver.jar:/usr/share/intellij-idea-ultimate-edition/plugins/maven/lib/aether-1.1.0-all.jar:/usr/share/intellij-idea-ultimate-edition/plugins/maven/lib/maven-aether-provider-3.3.9-all.jar:/usr/share/intellij-idea-ultimate-edition/plugins/maven/lib/plexus-utils-2.0.6.jar:/usr/share/intellij-idea-ultimate-edition/plugins/osmorc/lib/osmorc-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/osmorc/lib/bndlib-3.3.0.jar:/usr/share/intellij-idea-ultimate-edition/plugins/osmorc/lib/bnd-repository-3.3.0.jar:/usr/share/intellij-idea-ultimate-edition/plugins/osmorc/lib/bnd-resolve-3.3.0.jar:/usr/share/intellij-idea-ultimate-edition/plugins/osmorc/lib/plexus-utils-3.0.10.jar:/usr/share/intellij-idea-ultimate-edition/plugins/osmorc/lib/bundlor-all.jar:/usr/share/intellij-idea-ultimate-edition/plugins/aspectj/lib/aspectj-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/flex/lib/flex-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/flex/lib/flex-shared.jar:/usr/share/intellij-idea-ultimate-edition/plugins/gradle/lib/gradle-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/JavaEE/lib/javaee-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/JavaEE/lib/jps/jpa-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/webSphereIntegration/lib/jps/webSphere-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/weblogicIntegration/lib/jps/weblogic-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/dmServer/lib/dmServer-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/GwtStudio/lib/gwt-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/GoogleAppEngine/lib/google-app-engine-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/GoogleAppEngine/lib/appEngine-runtime.jar:/usr/share/intellij-idea-ultimate-edition/plugins/Grails/lib/grails-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/Grails/lib/grails-compiler-patch.jar:/usr/share/intellij-idea-ultimate-edition/plugins/android/lib/jps/android-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/android/lib/jps/android-gradle-jps.jar:/usr/share/intellij-idea-ultimate-edition/plugins/android/lib/android-common.jar:/usr/share/intellij-idea-ultimate-edition/plugins/android/lib/android-rt.jar:/usr/share/intellij-idea-ultimate-edition/plugins/android/lib/sdk-common.jar:/usr/share/intellij-idea-ultimate-edition/plugins/android/lib/repository.jar:/usr/share/intellij-idea-ultimate-edition/plugins/android/lib/sdklib.jar:/usr/share/intellij-idea-ultimate-edition/plugins/android/lib/common.jar:/usr/share/intellij-idea-ultimate-edition/plugins/android/lib/jarutils.jar:/usr/share/intellij-idea-ultimate-edition/plugins/android/lib/layoutlib-api.jar:/usr/share/intellij-idea-ultimate-edition/plugins/android/lib/manifest-merger.jar:/usr/share/intellij-idea-ultimate-edition/plugins/Kotlin/lib/jps/kotlin-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/Kotlin/lib/kotlin-runtime.jar:/usr/share/intellij-idea-ultimate-edition/plugins/Kotlin/lib/kotlin-reflect.jar:/usr/share/intellij-idea-ultimate-edition/plugins/Kotlin/lib/kotlin-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/Kotlin/lib/kotlin-android-extensions-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/Kotlin/lib/kotlin-android-extensions-compiler-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/javaFX/lib/javaFX-jps-plugin.jar:/usr/share/intellij-idea-ultimate-edition/plugins/javaFX/lib/common-javaFX-plugin.jar org.jetbrains.jps.cmdline.BuildMain 127.0.0.1 39775 ecae4b95-a70b-4300-9f1c-cd6f8d210776 /home/lem/.IntelliJIdea2017.1/system/compile-server
2017-04-04 20:17:57,976 [3471913] INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stderr]: Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on
2017-04-04 20:17:58,140 [3472077] INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stdout]: Build process started. Classpath: /usr/share/intellij-idea-ultimate-edition/lib/jps-launcher.jar:/usr/lib/jvm/java-8-openjdk/lib/tools.jar:/usr/share/intellij-idea-ultimate-edition/lib/optimizedFileManager.jar
IDEA about:
IntelliJ IDEA 2017.1 Build #IU-171.3780.107, built on March 22, 2017
JRE: 1.8.0_121-b13 amd64
JVM: OpenJDK 64-Bit Server VM by Oracle Corporation
Linux 4.9.11-2-zen
Please sign in to leave a comment.
Related discussion: https://intellij-support.jetbrains.com/hc/en-us/community/posts/206807755-IntelliJ-15-bad-enclosing-method-attribute-for-class-compilation-problem.
Please file a bug at https://youtrack.jetbrains.com/issues/IDEA with the reproducible test case.