[ https://issues.apache.org/jira/browse/OPENJPA-2240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Piotr Klimczak updated OPENJPA-2240: ------------------------------------ Attachment: OpenJpa2240BugTestProject_v1.1.tar.gz Fixed Spring dep. missing form jaxb2 plugin > JVMVRFY012 when using openjpa together with hyperjaxb3 > ------------------------------------------------------ > > Key: OPENJPA-2240 > URL: https://issues.apache.org/jira/browse/OPENJPA-2240 > Project: OpenJPA > Issue Type: Bug > Components: Enhance > Affects Versions: 2.2.0 > Environment: IBM-JDK, SUN-JDK > Reporter: Piotr Klimczak > Priority: Critical > Labels: enhancement, hyperjaxb3, jpa, stubs, xsd > Attachments: mvn.out, OpenJpa2240BugTestProject_v1.1.tar.gz > > > We are facing a problem with class enhancing generated by hyperjaxb3. > "Caused by: java.lang.VerifyError: JVMVRFY012 stack shape inconsistent; class=foo/Bar, metoda=pcgetDataTimeItem()Ljava/util/Date;, pc=7" > The problem occurs on every usage of non JPA compatible type like XMLGregorianCalendar. > For those types, the hyperjaxb3 plugin creates a kind of "proxy" setter/getter that uses JPA capable type. > Example of such proxy getter/setter: > > @Basic > @Column(name = "DATATIMEITEM") > @Temporal(TemporalType.TIMESTAMP) > public Date getDataTimeItem() { > return XmlAdapterUtils.unmarshall(XMLGregorianCalendarAsDateTime.class, this.getDataTime()); > } > > then the XmlAdapterUtils.unmarshall looks like: > > public static BoundType unmarshall( > Class> xmlAdapterClass, > ValueType v) { > try { > final XmlAdapter xmlAdapter = getXmlAdapter(xmlAdapterClass); > return xmlAdapter.unmarshal(v); > } catch (Exception ex) { > throw new RuntimeException(ex); > } > } > > I have found that the problem occurs only because of the type of XmlAdapterUtils.unmarshall method. The problem is that it's 1st type is a "Class". Changing the 1st type from Class type to any other like Object solves the problem but it is not a solution. > I think the problem is somewhere in serp project as after the enhancment process of classes containing non JPA capable XSD types, each call of that class generates the JVMVRFY012 exception- even during junit tests. > Please note, that this bug is a blocker for my project. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira