FULL PRODUCT VERSION :
java version "1.7.0_06"
Java(TM) SE Runtime Environment (build 1.7.0_06-b24)
Java HotSpot(TM) 64-Bit Server VM (build 23.2-b09, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Linux devaccarch 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
A DESCRIPTION OF THE PROBLEM :
I'm trying to rewrite some classes from Weld with my own implementations. I don't want to touch the existing code, so I copied the classes into my own project, keeping all the dependencies to the original.
One of the classes that I want to replace is a nested private static class that I moved into a file with the name of the container class + $ + inner, and made it public. This has worked fine in other occasions.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
The setup is a little bit difficult to describe, but simple im maven. I haven't found an attachment feature here, so I gzipped the minimized maven project and base64-ed it.
To unpack and run do the following:
1. put the text in the source field into a file called javac-npe-example.tar.gz.base64
2. base64 -d javac-npe-example.tar.gz.base64 > javac-npe-example.tar.gz
3. tar xzf javac-npe-example.tar.gz
4. cd dummy
5. mvn clean install
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
the compiler should either just do it's work or report a specific error message
ACTUAL -
javac fails with a NullPointerException
ERROR MESSAGES/STACK TRACES THAT OCCUR :
An exception has occurred in the compiler (1.7.0_06). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you.
java.lang.NullPointerException
at com.sun.tools.javac.comp.Flow.visitIdent(Flow.java:1397)
at com.sun.tools.javac.tree.JCTree$JCIdent.accept(JCTree.java:1705)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.comp.Flow.scanExpr(Flow.java:549)
at com.sun.tools.javac.comp.Flow.visitApply(Flow.java:1277)
at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1321)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.tree.TreeScanner.visitExec(TreeScanner.java:173)
at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1167)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.comp.Flow.scanStat(Flow.java:533)
at com.sun.tools.javac.comp.Flow.scanStats(Flow.java:541)
at com.sun.tools.javac.comp.Flow.visitBlock(Flow.java:801)
at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:781)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.comp.Flow.scanStat(Flow.java:533)
at com.sun.tools.javac.comp.Flow.visitMethodDef(Flow.java:747)
at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:669)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.comp.Flow.visitClassDef(Flow.java:695)
at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:591)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.comp.Flow.analyzeTree(Flow.java:1464)
at com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1244)
at com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1218)
at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:870)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:829)
at com.sun.tools.javac.main.Main.compile(Main.java:439)
at com.sun.tools.javac.main.Main.compile(Main.java:353)
at com.sun.tools.javac.main.Main.compile(Main.java:342)
at com.sun.tools.javac.main.Main.compile(Main.java:333)
at com.sun.tools.javac.Main.compile(Main.java:94)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.plexus.compiler.javac.JavacCompiler.compileInProcess0(JavacCompiler.java:551)
at org.codehaus.plexus.compiler.javac.JavacCompiler.compileInProcess(JavacCompiler.java:526)
at org.codehaus.plexus.compiler.javac.JavacCompiler.compile(JavacCompiler.java:167)
at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:678)
at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
H4sIALw3O1AAA+1Y227jNhD1a/wVQtCHLdBQV9tAohpNsw81kGwCJOn2lZYYm6lEaknJdrDIv++Q
kmXZsetLYhVFdRAgvAxnhnNmSMphFscvphSBGWPKzGc8wSYXI/N5yKU0pyQKYYLhERHm7wSzm7w9
iJPopwGTKWYBGbBnEqSUsztOWYqUitYSLEC366n/dq9jVf9r2K7dsh3L7nZd2/W6LcsFcbdlWK0a
kMEmhGG0RMjHDG+W2zb/H0WCg7+BUQM4R5pzpDhHBecX7XaSDSMaGEGEpTR2SwHje/u1/W9vrMFO
CLfX/1eVEG+rendsqX/HdZ1F/fc6LcuxOk3914P19Q91T+OEi9RQvKMIsxHCjPEUqyJHl2XzYkku
S2mEBikROOViWccMEQYTiaCSIKqPCzQ/PS62CcqEoqvPg81y2vDDS0KuqbIeLWyvP9fQykG2es6p
lPcf+gaZpYSF0gDjqvu9bQB+u50QIWhIdK9Yt6LQGJG0MvTp52KtgiBpJpjBsgjsqoHXdq5J8BR2
S0LjPhWUjZSOKxxF0LxSXn3BMdlJ0VoH57SofdCifbi2B+XcO5wpmFfOSBLBrj8tcgohZHzLcESf
KBHyYBv+Y0kfWCktPpYWdVB1PxumkDu/GPX7UMnZ43oy5DyCfDSofGQSFEtQF64j8AlHkuyj7zIe
0lHGM/kObUXCpzxv7FYu+dIJpyFULfiSJeW61+YBsiPy+z/hMZrF0ZFsbLn/7Z7jlve/58L9b7uW
5zX3fx3w4dZRd6wB9DP56+k4TZNzEx6DE8IQhtfBmCD1Hry7vTE9ZCHrNJc8n0laSk+nUzR1tZwD
fJp/3Vzfw8IYn9HiyDttn8CCc6lHr3mgj7YdrBmbJGYyzAfPtByC/mm/feLHPCTRn3BSgv6+nvLN
pTGQGQmeJYOwr3PfN+ddmMEipU84SBeTlRGYnxRKbGSd3X+5vLv/4/bBN+ejbZBIBBHkW0YlHOoS
loBHysu+C654fu6y0mSuCMLQMKNRqJckUTaCyKn2vKPbC9fVs6aIRh6aYkl1N0q+4n4erYDHCY2I
OMsXrGxQLZnvxkEdZFc2pycDzp7gtBeav3zsxJc8EwGBoHR9s2gXM1Ba8E7IZ4r2fM2YTz8TCEKe
Cv1UZARWr4xWhL9iweBqkBXJcij3zXzrHIS5jN68LXX4i2BDMyQJXNCEBbQgrBx4yXVUY754Si5H
uhpoNQtxFuRNcCuxVTl7GSVj7C6H2JcBT0gfqnICdyRYyfva/yXHKl3tuMooXcn9vep/h++/+e8/
B58x6pDvqe+6Db//AJZ//3EsdQ0YnYMt7oH/+fm/A//vtrEP/7bdg/u/B38N/3Xgn/n/GBv789+1
4LnY8F8DNvH/kTb259/reQ3/tWAd/x9t4wD+7U5z/9eCFf6PYmMP/t2O66nvf8ezG/7rwIL/49nY
i3/HBf4d+BBo+K8DOf/HtbEP/13HBv5tlQYN/w0aNGjQoMGR8AOjznT7ACgAAA==
---------- END SOURCE ----------
java version "1.7.0_06"
Java(TM) SE Runtime Environment (build 1.7.0_06-b24)
Java HotSpot(TM) 64-Bit Server VM (build 23.2-b09, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Linux devaccarch 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
A DESCRIPTION OF THE PROBLEM :
I'm trying to rewrite some classes from Weld with my own implementations. I don't want to touch the existing code, so I copied the classes into my own project, keeping all the dependencies to the original.
One of the classes that I want to replace is a nested private static class that I moved into a file with the name of the container class + $ + inner, and made it public. This has worked fine in other occasions.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
The setup is a little bit difficult to describe, but simple im maven. I haven't found an attachment feature here, so I gzipped the minimized maven project and base64-ed it.
To unpack and run do the following:
1. put the text in the source field into a file called javac-npe-example.tar.gz.base64
2. base64 -d javac-npe-example.tar.gz.base64 > javac-npe-example.tar.gz
3. tar xzf javac-npe-example.tar.gz
4. cd dummy
5. mvn clean install
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
the compiler should either just do it's work or report a specific error message
ACTUAL -
javac fails with a NullPointerException
ERROR MESSAGES/STACK TRACES THAT OCCUR :
An exception has occurred in the compiler (1.7.0_06). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you.
java.lang.NullPointerException
at com.sun.tools.javac.comp.Flow.visitIdent(Flow.java:1397)
at com.sun.tools.javac.tree.JCTree$JCIdent.accept(JCTree.java:1705)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.comp.Flow.scanExpr(Flow.java:549)
at com.sun.tools.javac.comp.Flow.visitApply(Flow.java:1277)
at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1321)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.tree.TreeScanner.visitExec(TreeScanner.java:173)
at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1167)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.comp.Flow.scanStat(Flow.java:533)
at com.sun.tools.javac.comp.Flow.scanStats(Flow.java:541)
at com.sun.tools.javac.comp.Flow.visitBlock(Flow.java:801)
at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:781)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.comp.Flow.scanStat(Flow.java:533)
at com.sun.tools.javac.comp.Flow.visitMethodDef(Flow.java:747)
at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:669)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.comp.Flow.visitClassDef(Flow.java:695)
at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:591)
at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
at com.sun.tools.javac.comp.Flow.analyzeTree(Flow.java:1464)
at com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1244)
at com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1218)
at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:870)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:829)
at com.sun.tools.javac.main.Main.compile(Main.java:439)
at com.sun.tools.javac.main.Main.compile(Main.java:353)
at com.sun.tools.javac.main.Main.compile(Main.java:342)
at com.sun.tools.javac.main.Main.compile(Main.java:333)
at com.sun.tools.javac.Main.compile(Main.java:94)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.plexus.compiler.javac.JavacCompiler.compileInProcess0(JavacCompiler.java:551)
at org.codehaus.plexus.compiler.javac.JavacCompiler.compileInProcess(JavacCompiler.java:526)
at org.codehaus.plexus.compiler.javac.JavacCompiler.compile(JavacCompiler.java:167)
at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:678)
at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
H4sIALw3O1AAA+1Y227jNhD1a/wVQtCHLdBQV9tAohpNsw81kGwCJOn2lZYYm6lEaknJdrDIv++Q
kmXZsetLYhVFdRAgvAxnhnNmSMphFscvphSBGWPKzGc8wSYXI/N5yKU0pyQKYYLhERHm7wSzm7w9
iJPopwGTKWYBGbBnEqSUsztOWYqUitYSLEC366n/dq9jVf9r2K7dsh3L7nZd2/W6LcsFcbdlWK0a
kMEmhGG0RMjHDG+W2zb/H0WCg7+BUQM4R5pzpDhHBecX7XaSDSMaGEGEpTR2SwHje/u1/W9vrMFO
CLfX/1eVEG+rendsqX/HdZ1F/fc6LcuxOk3914P19Q91T+OEi9RQvKMIsxHCjPEUqyJHl2XzYkku
S2mEBikROOViWccMEQYTiaCSIKqPCzQ/PS62CcqEoqvPg81y2vDDS0KuqbIeLWyvP9fQykG2es6p
lPcf+gaZpYSF0gDjqvu9bQB+u50QIWhIdK9Yt6LQGJG0MvTp52KtgiBpJpjBsgjsqoHXdq5J8BR2
S0LjPhWUjZSOKxxF0LxSXn3BMdlJ0VoH57SofdCifbi2B+XcO5wpmFfOSBLBrj8tcgohZHzLcESf
KBHyYBv+Y0kfWCktPpYWdVB1PxumkDu/GPX7UMnZ43oy5DyCfDSofGQSFEtQF64j8AlHkuyj7zIe
0lHGM/kObUXCpzxv7FYu+dIJpyFULfiSJeW61+YBsiPy+z/hMZrF0ZFsbLn/7Z7jlve/58L9b7uW
5zX3fx3w4dZRd6wB9DP56+k4TZNzEx6DE8IQhtfBmCD1Hry7vTE9ZCHrNJc8n0laSk+nUzR1tZwD
fJp/3Vzfw8IYn9HiyDttn8CCc6lHr3mgj7YdrBmbJGYyzAfPtByC/mm/feLHPCTRn3BSgv6+nvLN
pTGQGQmeJYOwr3PfN+ddmMEipU84SBeTlRGYnxRKbGSd3X+5vLv/4/bBN+ejbZBIBBHkW0YlHOoS
loBHysu+C654fu6y0mSuCMLQMKNRqJckUTaCyKn2vKPbC9fVs6aIRh6aYkl1N0q+4n4erYDHCY2I
OMsXrGxQLZnvxkEdZFc2pycDzp7gtBeav3zsxJc8EwGBoHR9s2gXM1Ba8E7IZ4r2fM2YTz8TCEKe
Cv1UZARWr4xWhL9iweBqkBXJcij3zXzrHIS5jN68LXX4i2BDMyQJXNCEBbQgrBx4yXVUY754Si5H
uhpoNQtxFuRNcCuxVTl7GSVj7C6H2JcBT0gfqnICdyRYyfva/yXHKl3tuMooXcn9vep/h++/+e8/
B58x6pDvqe+6Db//AJZ//3EsdQ0YnYMt7oH/+fm/A//vtrEP/7bdg/u/B38N/3Xgn/n/GBv789+1
4LnY8F8DNvH/kTb259/reQ3/tWAd/x9t4wD+7U5z/9eCFf6PYmMP/t2O66nvf8ezG/7rwIL/49nY
i3/HBf4d+BBo+K8DOf/HtbEP/13HBv5tlQYN/w0aNGjQoMGR8AOjznT7ACgAAA==
---------- END SOURCE ----------
- duplicates
-
JDK-8016152 javac needs a refactoring of it's class loading process
-
- Closed
-
- relates to
-
JDK-8016152 javac needs a refactoring of it's class loading process
-
- Closed
-
-
JDK-8024207 javac crash in Flow.AssignAnalyzer.visitIdent
-
- Closed
-