Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8239519

Compiler crash when inner classes were made static

XMLWordPrintable

    • x86_64
    • linux_ubuntu

      ADDITIONAL SYSTEM INFORMATION :
      Java 1.8.0_232
      Java 11.0.5

      A DESCRIPTION OF THE PROBLEM :
      When working on jenkins and changing an inner class to be static
      https://github.com/jenkinsci/jenkins/pull/4507
      When one of the public(not narrowed down) inner classes was made static it causes the compiler to crash on tests compilation.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Code to reproduce can be found https://github.com/jenkinsci/jenkins/pull/4507

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Expected to compilation to not throw an exception or a more helpful error if there was an issue with the code
      ACTUAL -
      16:00:06 [ERROR] An exception has occurred in the compiler (1.8.0_232). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you.
      16:00:06 [ERROR] java.lang.NullPointerException
      16:00:06 [ERROR] at com.sun.tools.javac.jvm.Code.width(Code.java:279)
      16:00:06 [ERROR] at com.sun.tools.javac.jvm.ClassReader.initParameterNames(ClassReader.java:2082)
      16:00:06 [ERROR] at com.sun.tools.javac.jvm.ClassReader.readMethod(ClassReader.java:2040)
      16:00:06 [ERROR] at com.sun.tools.javac.jvm.ClassReader.readClass(ClassReader.java:2252)
      16:00:06 [ERROR] at com.sun.tools.javac.jvm.ClassReader.readClassFile(ClassReader.java:2324)
      16:00:06 [ERROR] at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:2511)
      16:00:06 [ERROR] at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:2442)
      16:00:06 [ERROR] at com.sun.tools.javac.jvm.ClassReader.access$000(ClassReader.java:76)
      16:00:06 [ERROR] at com.sun.tools.javac.jvm.ClassReader$1.complete(ClassReader.java:240)
      16:00:06 [ERROR] at com.sun.tools.javac.code.Symbol.complete(Symbol.java:574)
      16:00:06 [ERROR] at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:1037)
      16:00:06 [ERROR] at com.sun.tools.javac.code.Symbol$ClassSymbol.flags(Symbol.java:973)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.Resolve.isAccessible(Resolve.java:369)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.Resolve.isAccessible(Resolve.java:365)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.Resolve.findImmediateMemberType(Resolve.java:1935)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.Resolve.findMemberType(Resolve.java:1990)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.Resolve.findInheritedMemberType(Resolve.java:1961)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.Resolve.findType(Resolve.java:2059)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.Resolve.findIdent(Resolve.java:2110)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.Resolve.resolveIdent(Resolve.java:2384)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.Attr.visitIdent(Attr.java:3170)
      16:00:06 [ERROR] at com.sun.tools.javac.tree.JCTree$JCIdent.accept(JCTree.java:2011)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.Attr.attribType(Attr.java:638)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.Attr.attribType(Attr.java:631)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.MemberEnter.signature(MemberEnter.java:390)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.MemberEnter.visitMethodDef(MemberEnter.java:581)
      16:00:06 [ERROR] at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:778)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:437)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:449)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.MemberEnter.finishClass(MemberEnter.java:459)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.MemberEnter.finish(MemberEnter.java:1404)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:1199)
      16:00:06 [ERROR] at com.sun.tools.javac.code.Symbol.complete(Symbol.java:574)
      16:00:06 [ERROR] at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:1037)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.Enter.complete(Enter.java:493)
      16:00:06 [ERROR] at com.sun.tools.javac.comp.Enter.main(Enter.java:471)
      16:00:06 [ERROR] at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:982)
      16:00:06 [ERROR] at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:857)
      16:00:06 [ERROR] at com.sun.tools.javac.main.Main.compile(Main.java:523)
      16:00:06 [ERROR] at com.sun.tools.javac.main.Main.compile(Main.java:381)
      16:00:06 [ERROR] at com.sun.tools.javac.main.Main.compile(Main.java:370)
      16:00:06 [ERROR] at com.sun.tools.javac.main.Main.compile(Main.java:361)
      16:00:06 [ERROR] at com.sun.tools.javac.Main.compile(Main.java:56)
      16:00:06 [ERROR] at com.sun.tools.javac.Main.main(Main.java:42)
      16:00:06 [ERROR] -> [Help 1]
      16:00:06 org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:testCompile (default-testCompile) on project jenkins-test: Compilation failure
      16:00:06 An exception has occurred in the compiler (1.8.0_232). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you.
      16:00:06 java.lang.NullPointerException
      16:00:06 at com.sun.tools.javac.jvm.Code.width(Code.java:279)
      16:00:06 at com.sun.tools.javac.jvm.ClassReader.initParameterNames(ClassReader.java:2082)
      16:00:06 at com.sun.tools.javac.jvm.ClassReader.readMethod(ClassReader.java:2040)
      16:00:06 at com.sun.tools.javac.jvm.ClassReader.readClass(ClassReader.java:2252)
      16:00:06 at com.sun.tools.javac.jvm.ClassReader.readClassFile(ClassReader.java:2324)
      16:00:06 at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:2511)
      16:00:06 at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:2442)
      16:00:06 at com.sun.tools.javac.jvm.ClassReader.access$000(ClassReader.java:76)
      16:00:06 at com.sun.tools.javac.jvm.ClassReader$1.complete(ClassReader.java:240)
      16:00:06 at com.sun.tools.javac.code.Symbol.complete(Symbol.java:574)
      16:00:06 at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:1037)
      16:00:06 at com.sun.tools.javac.code.Symbol$ClassSymbol.flags(Symbol.java:973)
      16:00:06 at com.sun.tools.javac.comp.Resolve.isAccessible(Resolve.java:369)
      16:00:06 at com.sun.tools.javac.comp.Resolve.isAccessible(Resolve.java:365)
      16:00:06 at com.sun.tools.javac.comp.Resolve.findImmediateMemberType(Resolve.java:1935)
      16:00:06 at com.sun.tools.javac.comp.Resolve.findMemberType(Resolve.java:1990)
      16:00:06 at com.sun.tools.javac.comp.Resolve.findInheritedMemberType(Resolve.java:1961)
      16:00:06 at com.sun.tools.javac.comp.Resolve.findType(Resolve.java:2059)
      16:00:06 at com.sun.tools.javac.comp.Resolve.findIdent(Resolve.java:2110)
      16:00:06 at com.sun.tools.javac.comp.Resolve.resolveIdent(Resolve.java:2384)
      16:00:06 at com.sun.tools.javac.comp.Attr.visitIdent(Attr.java:3170)
      16:00:06 at com.sun.tools.javac.tree.JCTree$JCIdent.accept(JCTree.java:2011)
      16:00:06 at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
      16:00:06 at com.sun.tools.javac.comp.Attr.attribType(Attr.java:638)
      16:00:06 at com.sun.tools.javac.comp.Attr.attribType(Attr.java:631)
      16:00:06 at com.sun.tools.javac.comp.MemberEnter.signature(MemberEnter.java:390)
      16:00:06 at com.sun.tools.javac.comp.MemberEnter.visitMethodDef(MemberEnter.java:581)
      16:00:06 at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:778)
      16:00:06 at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:437)
      16:00:06 at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:449)
      16:00:06 at com.sun.tools.javac.comp.MemberEnter.finishClass(MemberEnter.java:459)
      16:00:06 at com.sun.tools.javac.comp.MemberEnter.finish(MemberEnter.java:1404)
      16:00:06 at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:1199)
      16:00:06 at com.sun.tools.javac.code.Symbol.complete(Symbol.java:574)
      16:00:06 at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:1037)
      16:00:06 at com.sun.tools.javac.comp.Enter.complete(Enter.java:493)
      16:00:06 at com.sun.tools.javac.comp.Enter.main(Enter.java:471)
      16:00:06 at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:982)
      16:00:06 at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:857)
      16:00:06 at com.sun.tools.javac.main.Main.compile(Main.java:523)
      16:00:06 at com.sun.tools.javac.main.Main.compile(Main.java:381)
      16:00:06 at com.sun.tools.javac.main.Main.compile(Main.java:370)
      16:00:06 at com.sun.tools.javac.main.Main.compile(Main.java:361)
      16:00:06 at com.sun.tools.javac.Main.compile(Main.java:56)
      16:00:06 at com.sun.tools.javac.Main.main(Main.java:42)
      16:00:06
      16:00:06
      16:00:06 at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
      16:00:06 at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
      16:00:06 at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
      16:00:06 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
      16:00:06 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
      16:00:06 at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
      16:00:06 at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
      16:00:06 at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
      16:00:06 at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
      16:00:06 at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
      16:00:06 at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
      16:00:06 at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
      16:00:06 at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
      16:00:06 at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
      16:00:06 at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
      16:00:06 at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
      16:00:06 at java.lang.reflect.Method.invoke (Method.java:498)
      16:00:06 at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
      16:00:06 at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
      16:00:06 at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
      16:00:06 at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
      16:00:06 Caused by: org.apache.maven.plugin.compiler.CompilationFailureException: Compilation failure
      16:00:06 An exception has occurred in the compiler (1.8.0_232). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you.
      16:00:06 java.lang.NullPointerException
      16:00:06 at com.sun.tools.javac.jvm.Code.width(Code.java:279)
      16:00:06 at com.sun.tools.javac.jvm.ClassReader.initParameterNames(ClassReader.java:2082)
      16:00:06 at com.sun.tools.javac.jvm.ClassReader.readMethod(ClassReader.java:2040)
      16:00:06 at com.sun.tools.javac.jvm.ClassReader.readClass(ClassReader.java:2252)
      16:00:06 at com.sun.tools.javac.jvm.ClassReader.readClassFile(ClassReader.java:2324)
      16:00:06 at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:2511)
      16:00:06 at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:2442)
      16:00:06 at com.sun.tools.javac.jvm.ClassReader.access$000(ClassReader.java:76)
      16:00:06 at com.sun.tools.javac.jvm.ClassReader$1.complete(ClassReader.java:240)
      16:00:06 at com.sun.tools.javac.code.Symbol.complete(Symbol.java:574)
      16:00:06 at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:1037)
      16:00:06 at com.sun.tools.javac.code.Symbol$ClassSymbol.flags(Symbol.java:973)
      16:00:06 at com.sun.tools.javac.comp.Resolve.isAccessible(Resolve.java:369)
      16:00:06 at com.sun.tools.javac.comp.Resolve.isAccessible(Resolve.java:365)
      16:00:06 at com.sun.tools.javac.comp.Resolve.findImmediateMemberType(Resolve.java:1935)
      16:00:06 at com.sun.tools.javac.comp.Resolve.findMemberType(Resolve.java:1990)
      16:00:06 at com.sun.tools.javac.comp.Resolve.findInheritedMemberType(Resolve.java:1961)
      16:00:06 at com.sun.tools.javac.comp.Resolve.findType(Resolve.java:2059)
      16:00:06 at com.sun.tools.javac.comp.Resolve.findIdent(Resolve.java:2110)
      16:00:06 at com.sun.tools.javac.comp.Resolve.resolveIdent(Resolve.java:2384)
      16:00:06 at com.sun.tools.javac.comp.Attr.visitIdent(Attr.java:3170)
      16:00:06 at com.sun.tools.javac.tree.JCTree$JCIdent.accept(JCTree.java:2011)
      16:00:06 at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
      16:00:06 at com.sun.tools.javac.comp.Attr.attribType(Attr.java:638)
      16:00:06 at com.sun.tools.javac.comp.Attr.attribType(Attr.java:631)
      16:00:06 at com.sun.tools.javac.comp.MemberEnter.signature(MemberEnter.java:390)
      16:00:06 at com.sun.tools.javac.comp.MemberEnter.visitMethodDef(MemberEnter.java:581)
      16:00:06 at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:778)
      16:00:06 at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:437)
      16:00:06 at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:449)
      16:00:06 at com.sun.tools.javac.comp.MemberEnter.finishClass(MemberEnter.java:459)
      16:00:06 at com.sun.tools.javac.comp.MemberEnter.finish(MemberEnter.java:1404)
      16:00:06 at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:1199)
      16:00:06 at com.sun.tools.javac.code.Symbol.complete(Symbol.java:574)
      16:00:06 at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:1037)
      16:00:06 at com.sun.tools.javac.comp.Enter.complete(Enter.java:493)
      16:00:06 at com.sun.tools.javac.comp.Enter.main(Enter.java:471)
      16:00:06 at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:982)
      16:00:06 at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:857)
      16:00:06 at com.sun.tools.javac.main.Main.compile(Main.java:523)
      16:00:06 at com.sun.tools.javac.main.Main.compile(Main.java:381)
      16:00:06 at com.sun.tools.javac.main.Main.compile(Main.java:370)
      16:00:06 at com.sun.tools.javac.main.Main.compile(Main.java:361)
      16:00:06 at com.sun.tools.javac.Main.compile(Main.java:56)
      16:00:06 at com.sun.tools.javac.Main.main(Main.java:42)
      16:00:06
      16:00:06
      16:00:06 at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:1215)
      16:00:06 at org.apache.maven.plugin.compiler.TestCompilerMojo.execute (TestCompilerMojo.java:181)
      16:00:06 at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
      16:00:06 at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
      16:00:06 at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
      16:00:06 at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
      16:00:06 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
      16:00:06 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
      16:00:06 at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
      16:00:06 at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
      16:00:06 at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
      16:00:06 at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
      16:00:06 at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
      16:00:06 at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
      16:00:06 at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
      16:00:06 at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
      16:00:06 at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
      16:00:06 at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
      16:00:06 at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
      16:00:06 at java.lang.reflect.Method.invoke (Method.java:498)
      16:00:06 at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
      16:00:06 at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
      16:00:06 at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
      16:00:06 at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)

      CUSTOMER SUBMITTED WORKAROUND :
      Do not make the public classes static

            tongwan Andrew Wang
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: