Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
2.2.0, 2.2.1, 2.3.0
-
IBM-JDK, SUN-JDK
Description
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()
</code>
then the XmlAdapterUtils.unmarshall looks like:
<code>
public static <ValueType, BoundType> BoundType unmarshall(
Class<? extends XmlAdapter<ValueType, BoundType>> xmlAdapterClass,
ValueType v) {
try
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.
Attachments
Attachments
Issue Links
- is related to
-
OPENJPA-2122 VerifyError with Java 7 when using javaagent or dynamic container enhancement
- Closed