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.

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

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development