at org.jibx.binding.classes.MethodBuilder.verifyCompatible(MethodBuilder.java:420)
at org.jibx.binding.classes.MethodBuilder.verifyCallStack(MethodBuilder.java:537)
at org.jibx.binding.classes.MethodBuilder.appendCallVirtual(MethodBuilder.java:894)
at org.jibx.binding.def.ObjectBinding.genUnmarshalCall(ObjectBinding.java:579)
at org.jibx.binding.def.ObjectBinding.genUnmarshalContentCall(ObjectBinding.java:834)
at org.jibx.binding.def.ObjectBinding.genContentUnmarshal(ObjectBinding.java:943)
at org.jibx.binding.def.ComponentProperty.genContentUnmarshal(ComponentProperty.java:256)
at org.jibx.binding.def.ElementWrapper.genContentUnmarshal(ElementWrapper.java:315)
at org.jibx.binding.def.PassThroughComponent.genContentUnmarshal(PassThroughComponent.java:111)
at org.jibx.binding.def.NestedStructure.genContentUnmarshal(NestedStructure.java:190)
at org.jibx.binding.def.ObjectBinding.genUnmarshalContentCall(ObjectBinding.java:798)
at org.jibx.binding.def.ObjectBinding.genContentUnmarshal(ObjectBinding.java:943)
at org.jibx.binding.def.ComponentProperty.genContentUnmarshal(ComponentProperty.java:256)
at org.jibx.binding.def.ElementWrapper.genContentUnmarshal(ElementWrapper.java:315)
at org.jibx.binding.def.NestedCollection.genContentUnmarshal(NestedCollection.java:167)
at org.jibx.binding.def.ObjectBinding.genUnmarshalContentCall(ObjectBinding.java:798)
at org.jibx.binding.def.ObjectBinding.genContentUnmarshal(ObjectBinding.java:943)
at org.jibx.binding.def.ComponentProperty.genContentUnmarshal(ComponentProperty.java:256)
at org.jibx.binding.def.NestedStructure.genContentUnmarshal(NestedStructure.java:190)
at org.jibx.binding.def.ElementWrapper.genContentUnmarshal(ElementWrapper.java:315)
at org.jibx.binding.def.PassThroughComponent.genContentUnmarshal(PassThroughComponent.java:111)
at org.jibx.binding.def.NestedStructure.genContentUnmarshal(NestedStructure.java:190)
at org.jibx.binding.def.ObjectBinding.genUnmarshalContentCall(ObjectBinding.java:798)
at org.jibx.binding.def.ObjectBinding.genContentUnmarshal(ObjectBinding.java:943)
at org.jibx.binding.def.ComponentProperty.genContentUnmarshal(ComponentProperty.java:256)
at org.jibx.binding.def.ElementWrapper.genContentUnmarshal(ElementWrapper.java:315)
at org.jibx.binding.def.NestedCollection.genContentUnmarshal(NestedCollection.java:167)
at org.jibx.binding.def.ObjectBinding.genUnmarshalContentCall(ObjectBinding.java:798)
at org.jibx.binding.def.ObjectBinding.genContentUnmarshal(ObjectBinding.java:943)
at org.jibx.binding.def.ComponentProperty.genContentUnmarshal(ComponentProperty.java:256)
at org.jibx.binding.def.NestedStructure.genContentUnmarshal(NestedStructure.java:190)
at org.jibx.binding.def.ElementWrapper.genContentUnmarshal(ElementWrapper.java:315)
at org.jibx.binding.def.PassThroughComponent.genContentUnmarshal(PassThroughComponent.java:111)
at org.jibx.binding.def.NestedStructure.genContentUnmarshal(NestedStructure.java:190)
at org.jibx.binding.def.ObjectBinding.genUnmarshalContentCall(ObjectBinding.java:798)
at org.jibx.binding.def.ObjectBinding.genContentUnmarshal(ObjectBinding.java:943)
at org.jibx.binding.def.ComponentProperty.genContentUnmarshal(ComponentProperty.java:256)
at org.jibx.binding.def.ElementWrapper.genContentUnmarshal(ElementWrapper.java:315)
at org.jibx.binding.def.NestedCollection.genContentUnmarshal(NestedCollection.java:167)
at org.jibx.binding.def.ObjectBinding.genUnmarshalContentCall(ObjectBinding.java:798)
at org.jibx.binding.def.ObjectBinding.genContentUnmarshal(ObjectBinding.java:943)
at org.jibx.binding.def.ComponentProperty.genContentUnmarshal(ComponentProperty.java:256)
at org.jibx.binding.def.NestedStructure.genContentUnmarshal(NestedStructure.java:252)
at org.jibx.binding.def.ElementWrapper.genContentUnmarshal(ElementWrapper.java:315)
at org.jibx.binding.def.PassThroughComponent.genContentUnmarshal(PassThroughComponent.java:111)
at org.jibx.binding.def.NestedStructure.genContentUnmarshal(NestedStructure.java:252)
at org.jibx.binding.def.ObjectBinding.genUnmarshalContentCall(ObjectBinding.java:798)
at org.jibx.binding.def.ObjectBinding.genContentUnmarshal(ObjectBinding.java:943)
at org.jibx.binding.def.ElementWrapper.genContentUnmarshal(ElementWrapper.java:315)
at org.jibx.binding.def.MappingDefinition.generateCode(MappingDefinition.java:599)
at org.jibx.binding.def.DefinitionContext.generateCode(DefinitionContext.java:669)
at org.jibx.binding.def.BindingDefinition.generateCode(BindingDefinition.java:661)
at org.jibx.binding.Compile.compile(Compile.java:305)
at org.jibx.binding.Compile.main(Compile.java:385)

... I can't see anything obviously wrong with this binding file, either - I'm presently seeking a workaround for this specific issue (this is the last issue standing in my way from upgrading from beta3c to 1.1, at long, long last).

Activity

To reproduce, just unzip the attached "tvly_jibx.zip" file, modify the "JIBX_PATH" in the build.sh script to point to a jibx 1.1.3 installation, and run ./build.sh. You should see the same stack trace. This appears to happen in every 1.1.x version, but does not occur in rc1 or rc0 (or before that).

Joshua Davies
added a comment - 13/Feb/07 5:00 PM To reproduce, just unzip the attached "tvly_jibx.zip" file, modify the "JIBX_PATH" in the build.sh script to point to a jibx 1.1.3 installation, and run ./build.sh. You should see the same stack trace. This appears to happen in every 1.1.x version, but does not occur in rc1 or rc0 (or before that).

at org.jibx.binding.classes.MethodBuilder.verifyCompatible(MethodBuilder.java:420)
at org.jibx.binding.classes.MethodBuilder.verifyCallStack(MethodBuilder.java:537)
at org.jibx.binding.classes.MethodBuilder.appendCallVirtual(MethodBuilder.java:894)
at org.jibx.binding.def.ObjectBinding.genUnmarshalCall(ObjectBinding.java:579)
at org.jibx.binding.def.ObjectBinding.genUnmarshalContentCall(ObjectBinding.java:834)
at org.jibx.binding.def.ObjectBinding.genContentUnmarshal(ObjectBinding.java:943)
at org.jibx.binding.def.ComponentProperty.genContentUnmarshal(ComponentProperty.java:256)
at org.jibx.binding.def.ElementWrapper.genContentUnmarshal(ElementWrapper.java:315)
at org.jibx.binding.def.PassThroughComponent.genContentUnmarshal(PassThroughComponent.java:111)
at org.jibx.binding.def.NestedStructure.genContentUnmarshal(NestedStructure.java:190)
at org.jibx.binding.def.ObjectBinding.genUnmarshalContentCall(ObjectBinding.java:798)
at org.jibx.binding.def.ObjectBinding.genContentUnmarshal(ObjectBinding.java:943)
at org.jibx.binding.def.ComponentProperty.genContentUnmarshal(ComponentProperty.java:256)
at org.jibx.binding.def.ElementWrapper.genContentUnmarshal(ElementWrapper.java:315)
at org.jibx.binding.def.NestedCollection.genContentUnmarshal(NestedCollection.java:167)
at org.jibx.binding.def.ObjectBinding.genUnmarshalContentCall(ObjectBinding.java:798)
at org.jibx.binding.def.ObjectBinding.genContentUnmarshal(ObjectBinding.java:943)
at org.jibx.binding.def.ComponentProperty.genContentUnmarshal(ComponentProperty.java:256)
at org.jibx.binding.def.NestedStructure.genContentUnmarshal(NestedStructure.java:190)
at org.jibx.binding.def.ElementWrapper.genContentUnmarshal(ElementWrapper.java:315)
at org.jibx.binding.def.PassThroughComponent.genContentUnmarshal(PassThroughComponent.java:111)
at org.jibx.binding.def.NestedStructure.genContentUnmarshal(NestedStructure.java:190)
at org.jibx.binding.def.ObjectBinding.genUnmarshalContentCall(ObjectBinding.java:798)
at org.jibx.binding.def.ObjectBinding.genContentUnmarshal(ObjectBinding.java:943)
at org.jibx.binding.def.ElementWrapper.genContentUnmarshal(ElementWrapper.java:315)
at org.jibx.binding.def.MappingDefinition.generateCode(MappingDefinition.java:599)
at org.jibx.binding.def.DefinitionContext.generateCode(DefinitionContext.java:669)
at org.jibx.binding.def.BindingDefinition.generateCode(BindingDefinition.java:661)
at org.jibx.binding.Compile.compile(Compile.java:305)
at org.jibx.binding.Compile.main(Compile.java:385)

Joshua Davies
added a comment - 08/Mar/07 2:31 PM And the corresponding stack trace (essentially the same, but with slightly less clutter):
Error during code generation for file 'binding1.xml' - please enter a bug report for this error in Jira if the problem is not listed as fixed on the online status page ***
java.lang.IllegalStateException: Internal error: Expected ParagraphType on stack, found java.lang.Object
full stack:
0: java.lang.Object
1: org.jibx.runtime.impl.UnmarshallingContext
at org.jibx.binding.classes.MethodBuilder.verifyCompatible(MethodBuilder.java:420)
at org.jibx.binding.classes.MethodBuilder.verifyCallStack(MethodBuilder.java:537)
at org.jibx.binding.classes.MethodBuilder.appendCallVirtual(MethodBuilder.java:894)
at org.jibx.binding.def.ObjectBinding.genUnmarshalCall(ObjectBinding.java:579)
at org.jibx.binding.def.ObjectBinding.genUnmarshalContentCall(ObjectBinding.java:834)
at org.jibx.binding.def.ObjectBinding.genContentUnmarshal(ObjectBinding.java:943)
at org.jibx.binding.def.ComponentProperty.genContentUnmarshal(ComponentProperty.java:256)
at org.jibx.binding.def.ElementWrapper.genContentUnmarshal(ElementWrapper.java:315)
at org.jibx.binding.def.PassThroughComponent.genContentUnmarshal(PassThroughComponent.java:111)
at org.jibx.binding.def.NestedStructure.genContentUnmarshal(NestedStructure.java:190)
at org.jibx.binding.def.ObjectBinding.genUnmarshalContentCall(ObjectBinding.java:798)
at org.jibx.binding.def.ObjectBinding.genContentUnmarshal(ObjectBinding.java:943)
at org.jibx.binding.def.ComponentProperty.genContentUnmarshal(ComponentProperty.java:256)
at org.jibx.binding.def.ElementWrapper.genContentUnmarshal(ElementWrapper.java:315)
at org.jibx.binding.def.NestedCollection.genContentUnmarshal(NestedCollection.java:167)
at org.jibx.binding.def.ObjectBinding.genUnmarshalContentCall(ObjectBinding.java:798)
at org.jibx.binding.def.ObjectBinding.genContentUnmarshal(ObjectBinding.java:943)
at org.jibx.binding.def.ComponentProperty.genContentUnmarshal(ComponentProperty.java:256)
at org.jibx.binding.def.NestedStructure.genContentUnmarshal(NestedStructure.java:190)
at org.jibx.binding.def.ElementWrapper.genContentUnmarshal(ElementWrapper.java:315)
at org.jibx.binding.def.PassThroughComponent.genContentUnmarshal(PassThroughComponent.java:111)
at org.jibx.binding.def.NestedStructure.genContentUnmarshal(NestedStructure.java:190)
at org.jibx.binding.def.ObjectBinding.genUnmarshalContentCall(ObjectBinding.java:798)
at org.jibx.binding.def.ObjectBinding.genContentUnmarshal(ObjectBinding.java:943)
at org.jibx.binding.def.ElementWrapper.genContentUnmarshal(ElementWrapper.java:315)
at org.jibx.binding.def.MappingDefinition.generateCode(MappingDefinition.java:599)
at org.jibx.binding.def.DefinitionContext.generateCode(DefinitionContext.java:669)
at org.jibx.binding.def.BindingDefinition.generateCode(BindingDefinition.java:661)
at org.jibx.binding.Compile.compile(Compile.java:305)
at org.jibx.binding.Compile.main(Compile.java:385)

element up above the collection element, it compiles correctly... I believe that this doesn't change the semantics, so I might have a workaround... although I'd still like to know what's triggering the bug.

Joshua Davies
added a comment - 08/Mar/07 4:46 PM After playing around with this a little, I found that if I move the
<structure name="Feature" usage="optional">
element up above the collection element, it compiles correctly... I believe that this doesn't change the semantics, so I might have a workaround... although I'd still like to know what's triggering the bug.

Dennis Sosnoski
added a comment - 13/May/07 5:51 AM The problem here is the nested <structure>s within the <collection>, with the type only specified on the inner one. Changing this to:
<collection field="roomPromotions" usage="optional">
<structure name="Feature" type="ParagraphType" usage="optional">
<structure name="Description" usage="optional">
<value style="element" name="Text" field="text" usage="optional"/>
</structure>
</structure>
</collection>
compiles fine, though I haven't tried actually testing the code (since you didn't include the test program or data). I'll see about adding a check to catch this during binding validation.