users@jaxb.java.net

Re: schema generation error

From: Kohsuke Kawaguchi <Kohsuke.Kawaguchi_at_Sun.COM>
Date: Fri, 20 Oct 2006 06:56:32 -0700

Hmm.

What I've been noticing is that after APT reported a few errors (that
is, if the source code contains errors), it will start to break the
interface contract and return null where it's not supposed to, and it
eventually kills JAXB like this.

But if you haven't seen any error message before this happens, then this
might be another bug.

Is there any chance you can attach a debugger to Ant (you can do that by
doing export ANT_OPTS="-Xdebug
-Xrunjdwp:transport=dt_socket,server=y,address=8000" then run Ant), and
see what is null in APTNavigator.java:391? The JAXB RI distribution
should have all the source bundles you need.

Or if you can send us the test case, that would be great, too.

Trevor Kramer wrote:
> Hello,
>
> I have been using the ant task to generate my schema from my annotated
> java classes and at some point it started throwing an error. I don't
> know what change I made to cause this. Any ideas? Using 2.0.3 (also
> happened with 2.0.2).
>
> Thanks,
>
> Trevor
>
> java.lang.NullPointerException
> at com.sun.tools.jxc.model.nav.APTNavigator$2.onDeclaredType(APTNavigator.java:391)
> at com.sun.tools.jxc.model.nav.APTNavigator$2.onClassType(APTNavigator.java:365)
> at com.sun.tools.jxc.model.nav.APTNavigator$2.onClassType(APTNavigator.java:419)
> at com.sun.istack.tools.APTTypeVisitor.apply(APTTypeVisitor.java:27)
> at com.sun.tools.jxc.model.nav.APTNavigator.getBaseClass(APTNavigator.java:73)
> at com.sun.tools.jxc.model.nav.APTNavigator.getBaseClass(APTNavigator.java:49)
> at com.sun.xml.bind.v2.model.impl.PropertyInfoImpl.getIndividualType(PropertyInfoImpl.java:118)
> at com.sun.xml.bind.v2.model.impl.PropertyInfoImpl.<init>(PropertyInfoImpl.java:78)
> at com.sun.xml.bind.v2.model.impl.ERPropertyInfoImpl.<init>(ERPropertyInfoImpl.java:17)
> at com.sun.xml.bind.v2.model.impl.ReferencePropertyInfoImpl.<init>(ReferencePropertyInfoImpl.java:50)
> at com.sun.xml.bind.v2.model.impl.ClassInfoImpl.createReferenceProperty(ClassInfoImpl.java:796)
> at com.sun.xml.bind.v2.model.impl.ClassInfoImpl.addProperty(ClassInfoImpl.java:766)
> at com.sun.xml.bind.v2.model.impl.ClassInfoImpl.getProperties(ClassInfoImpl.java:265)
> at com.sun.xml.bind.v2.model.impl.ModelBuilder.getClassInfo(ModelBuilder.java:127)
> at com.sun.xml.bind.v2.model.impl.ModelBuilder.getTypeInfo(ModelBuilder.java:189)
> at com.sun.xml.bind.v2.model.impl.ModelBuilder.getTypeInfo(ModelBuilder.java:204)
> at com.sun.tools.xjc.api.impl.j2s.JavaCompilerImpl.bind(JavaCompilerImpl.java:54)
> at com.sun.tools.jxc.apt.SchemaGenerator$1.process(SchemaGenerator.java:73)
> at com.sun.mirror.apt.AnnotationProcessors$CompositeAnnotationProcessor.process(AnnotationProcessors.java:60)
> at com.sun.tools.apt.comp.Apt.main(Apt.java:454)
> at com.sun.tools.apt.main.JavaCompiler.compile(JavaCompiler.java:448)
> at com.sun.tools.apt.main.Main.compile(Main.java:1075)
> at com.sun.tools.apt.main.Main.compile(Main.java:938)
> at com.sun.tools.apt.Main.processing(Main.java:95)
> at com.sun.tools.apt.Main.process(Main.java:85)
> at com.sun.tools.apt.Main.process(Main.java:67)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at com.sun.tools.jxc.AptBasedTask$InternalAptAdapter.execute(AptBasedTask.java:61)
> at com.sun.tools.jxc.AptBasedTask.compile(AptBasedTask.java:108)
> at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:757)
> at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
> at org.apache.tools.ant.Task.perform(Task.java:364)
> at org.apache.tools.ant.Target.execute(Target.java:341)
> at org.apache.tools.ant.Target.performTasks(Target.java:369)
> at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
> at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
> at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
> at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
> at org.apache.tools.ant.Main.runBuild(Main.java:668)
> at org.apache.tools.ant.Main.startAnt(Main.java:187)
> at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
> at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at com.intellij.rt.ant.execution.AntMain2.main(AntMain2.java:17)
> /Users/kramer/Documents/src/vbook/build_2.0.xml:205: schema generation failed
> at com.sun.tools.jxc.AptBasedTask.compile(AptBasedTask.java:110)
> at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:757)
> at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
> at org.apache.tools.ant.Task.perform(Task.java:364)
> at org.apache.tools.ant.Target.execute(Target.java:341)
> at org.apache.tools.ant.Target.performTasks(Target.java:369)
> at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
> at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
> at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
> at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
> at org.apache.tools.ant.Main.runBuild(Main.java:668)
> at org.apache.tools.ant.Main.startAnt(Main.java:187)
> at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
> at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at com.intellij.rt.ant.execution.AntMain2.main(AntMain2.java:17)
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jaxb.dev.java.net
> For additional commands, e-mail: users-help_at_jaxb.dev.java.net
>
>


-- 
Kohsuke Kawaguchi
Sun Microsystems                   kohsuke.kawaguchi_at_sun.com