BugRat Report # 676

Project: Ant Release: ant 1.2
Category: Feature Requests SubCategory: Enhancement
Class: feature State: received
Priority: medium Severity: serious
Confidence: public

Submitter: David Walend ( dwalend@sourceforge.net )
Date Submitted: Dec 29 2000, 06:51:54 CST
Responsible: Z_Ant Alias ( ant-bugs@cortexity.com )

Synopsis:
fork javac
Environment: (jvm, os, osrel, platform)
jdk 1.3, linux, redhat 6.2, dell inspiron 7000

Additional Environment Description:

Report Description:
I use ant to build multiple jar files, some which depend on others in the same build. If I change public API in a "depended on" jar file, I get lyophil-jdbc20: Compiling 1 source file to /home/dwalend/opensource/lyophilizer/build/lyophil-jdbc20 An exception has occurred in the compiler (1.3.0). Please file a bug at the Java Developer Connection (http://java.sun.com/cgi-bin/bugreport.cgi). Include your program and the following diagnostic in your report. Thank you. java.lang.InternalError: jzentry == 0 at java.util.zip.ZipFile$2.nextElement(ZipFile.java:297) at com.sun.tools.javac.v8.code.ClassReader.openArchive(ClassReader.java:893) at com.sun.tools.javac.v8.code.ClassReader.list(ClassReader.java:1095) at com.sun.tools.javac.v8.code.ClassReader.listAll(ClassReader.java:1180) at com.sun.tools.javac.v8.code.ClassReader.fillIn(ClassReader.java:1202) at com.sun.tools.javac.v8.code.ClassReader.complete(ClassReader.java:955) at com.sun.tools.javac.v8.code.Symbol.complete(Symbol.java:366) at com.sun.tools.javac.v8.comp.Enter._case(Enter.java:424) at com.sun.tools.javac.v8.tree.Tree$TopLevel.visit(Tree.java:349) at com.sun.tools.javac.v8.comp.Enter.classEnter(Enter.java:392) at com.sun.tools.javac.v8.comp.Enter.classEnter(Enter.java:410) at com.sun.tools.javac.v8.comp.Enter.main(Enter.java:540) at com.sun.tools.javac.v8.JavaCompiler.compile(JavaCompiler.java:357) at com.sun.tools.javac.v8.Main.compile(Main.java:247) at com.sun.tools.javac.Main.compile(Main.java:26) at java.lang.reflect.Method.invoke(Native Method) at org.apache.tools.ant.taskdefs.Javac.doModernCompile(Javac.java) at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java) at org.apache.tools.ant.Target.execute(Target.java) at org.apache.tools.ant.Project.runTarget(Project.java) at org.apache.tools.ant.Project.executeTarget(Project.java) at org.apache.tools.ant.Project.executeTargets(Project.java) at org.apache.tools.ant.Main.runBuild(Main.java) at org.apache.tools.ant.Main.main(Main.java) the first time I build. The next time, everything builds fine. I think the problem is this: ant doesn't fork the javac process. ant has already loaded stale versions of the classes its compiling. So when it compiles classes that depend on those, it barfs out that stack trace. I think forking the javac process would fix it. Thanks, Dave

View this report online...