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

when using APT to inject the code, it cause compiltion failure.

    • generic
    • generic

      ADDITIONAL SYSTEM INFORMATION :
      CPU: 12th Gen Intel(R) Core(TM) i5-1240P 1.70 GHz
      OS: Windows 10 21H2 19044.3086
      Java: jdk1.8.0_333

      A DESCRIPTION OF THE PROBLEM :
      java.lang.AssertionError: rootPackage missing!
      at com.sun.tools.javac.util.Assert.error(Assert.java:133)
      at com.sun.tools.javac.util.Assert.check(Assert.java:94)
      at com.sun.tools.javac.jvm.ClassReader.enterPackage(ClassReader.java:2647)
      at com.sun.tools.javac.jvm.ClassReader.enterPackage(ClassReader.java:2650)
      at com.sun.tools.javac.comp.Resolve.findIdent(Resolve.java:2118)
      at com.sun.tools.javac.comp.Resolve.resolveIdent(Resolve.java:2384)
      at com.sun.tools.javac.comp.Attr.visitIdent(Attr.java:3170)
      at com.sun.tools.javac.tree.JCTree$JCIdent.accept(JCTree.java:2011)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
      at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:3250)
      at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1897)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
      at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:3250)
      at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1897)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
      at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:3250)
      at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1897)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
      at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:1825)
      at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1465)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
      at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:625)
      at com.sun.tools.javac.comp.Attr.visitBinary(Attr.java:3056)
      at com.sun.tools.javac.tree.JCTree$JCBinary.accept(JCTree.java:1785)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
      at com.sun.tools.javac.comp.Attr.visitParens(Attr.java:2986)
      at com.sun.tools.javac.tree.JCTree$JCParens.accept(JCTree.java:1661)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
      at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:618)
      at com.sun.tools.javac.comp.Attr.visitIf(Attr.java:1581)
      at com.sun.tools.javac.tree.JCTree$JCIf.accept(JCTree.java:1269)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
      at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
      at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
      at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1124)
      at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:909)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
      at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
      at com.sun.tools.javac.comp.Attr.visitForLoop(Attr.java:1152)
      at com.sun.tools.javac.tree.JCTree$JCForLoop.accept(JCTree.java:1000)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
      at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
      at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
      at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1124)
      at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:909)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
      at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
      at com.sun.tools.javac.comp.Attr.visitIf(Attr.java:1584)
      at com.sun.tools.javac.tree.JCTree$JCIf.accept(JCTree.java:1269)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
      at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
      at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
      at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1124)
      at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:909)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
      at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
      at com.sun.tools.javac.comp.Attr.visitIf(Attr.java:1582)
      at com.sun.tools.javac.tree.JCTree$JCIf.accept(JCTree.java:1269)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
      at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
      at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:661)
      at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1124)
      at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:909)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
      at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
      at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:1013)
      at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:778)
      at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
      at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:645)
      at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4364)
      at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4272)
      at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4201)
      at com.sun.tools.javac.comp.Attr.attrib(Attr.java:4176)
      at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1248)
      at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:901)
      at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:860)
      at com.sun.tools.javac.main.Main.compile(Main.java:523)
      at com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:129)
      at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:138)
      at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess(JavaxToolsCompiler.java:126)
      at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile(JavacCompiler.java:174)
      at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:1134)
      at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:187)
      at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
      at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
      at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
      at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
      at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
      at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957)
      at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:193)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
      at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
      at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
      at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
      [INFO] -------------------------------------------------------------
      [ERROR] COMPILATION ERROR :
      [INFO] -------------------------------------------------------------
      [ERROR] An unknown compilation problem occurred
      [INFO] 1 error
      [INFO] -------------------------------------------------------------

      java code:
      Package com.github.lybgeek.test.service;
      import com.github.lybgeek.apt.annotation.ByteLock;
      import com.github.lybgeek.apt.annotation.CostTimeRecorder;


      public class EchoService {

          @CostTimeRecorder
          @ByteLock
          public void echo(String message){
              System.out.println("echo-->" + message);
          }
      }

      changed code:
      package com.github.lybgeek.test.service;
      import java.lang.Long;
      import java.util.concurrent.atomic.AtomicBoolean;
      import java.util.Map;
      import gnu.trove.procedure.TLongObjectProcedure;
      import gnu.trove.map.hash.TLongObjectHashMap;
      import com.github.lybgeek.apt.annotation.ByteLock;
      import com.github.lybgeek.apt.annotation.CostTimeRecorder;
      public class EchoService {
          public EchoService() {
              super();
          }
          @CostTimeRecorder()
          @ByteLock()
          public void echo(String message) {
              int abc123456 = 1;
              if (abc123456 == 2) {
                  long pf = (0 << 1) + 1;
                  int kk = (int)1;
                  final long ff = 1L << kk;
                  long p2 = pf & (ff - 1);
                  long tmp;
                  int kappa = 1;
                  if (kk < 10) kappa = 1; else kappa = 9;
                  if (kappa != 0) {
                      kk += --kappa;
                  } else {
                      for (; ; ) {
                          p2 *= 10;
                          if (java.lang.Long.compareUnsigned(p2, pf) < 0) {
                              kk -= kappa;
                              break;
                          }
                      }
                  }
              }
              System.out.println("echo-->" + message);
          }
      }


      REGRESSION : Last worked in version 8u391


      FREQUENCY : always


            jlahoda Jan Lahoda
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: