openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kevin Sutter (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OPENJPA-2240) JVMVRFY012 when using openjpa together with hyperjaxb3
Date Wed, 29 Aug 2012 16:58:09 GMT

    [ https://issues.apache.org/jira/browse/OPENJPA-2240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13444202#comment-13444202
] 

Kevin Sutter commented on OPENJPA-2240:
---------------------------------------

Piotr, As you can see by the attachment, I tried your "simple" project and I seem to be having
an issue with attempting to override the output directory...  I did some searching and it
doesn't look like this was supposed to be overridable...  But, maybe that changed in some
later version of maven?  Anyway, I don't have the project running yet...  I can see where
this is a bit more involved than what I had hoped...  Running with jaxb generated entities
and the XML types complicates the example just a bit...  Hopefully, you have some ideas on
how to quickly get the project building.  Thanks.
                
> 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.tar.bz2
>
>
> 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:
> <code>
>         @Basic
>         @Column(name = "DATATIMEITEM")
>         @Temporal(TemporalType.TIMESTAMP)
>         public Date getDataTimeItem() {
>             return XmlAdapterUtils.unmarshall(XMLGregorianCalendarAsDateTime.class, this.getDataTime());
>         }
> </code>
> then the XmlAdapterUtils.unmarshall looks like:
> <code>
> 	public static <ValueType, BoundType> BoundType unmarshall(
> 			Class<? extends XmlAdapter<ValueType, BoundType>> xmlAdapterClass,
> 			ValueType v) {
> 		try {
> 			final XmlAdapter<ValueType, BoundType> xmlAdapter = getXmlAdapter(xmlAdapterClass);
> 			return xmlAdapter.unmarshal(v);
> 		} catch (Exception ex) {
> 			throw new RuntimeException(ex);
> 		}
> 	}
> </code>
> 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

Mime
View raw message