Uploaded image for project: 'OpenJPA'
  1. OpenJPA
  2. OPENJPA-2240

JVMVRFY012 when using openjpa together with hyperjaxb3

    Details

      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()

      { 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.

        Attachments

        1. serp-1.14.1.pom
          4 kB
          Kevin Sutter
        2. serp-1.14.1.jar
          202 kB
          Kevin Sutter
        3. OpenJpa2240BugTestProject_v1.1.tar.gz
          4 kB
          Piotr Klimczak
        4. mvn.out
          2 kB
          Kevin Sutter

          Issue Links

            Activity

              People

              • Assignee:
                kwsutter Kevin Sutter
                Reporter:
                nannou9 Piotr Klimczak
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: