Aries
  1. Aries
  2. ARIES-817

Upgrade to asm 4 for java 7 support

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Application, Blueprint, Proxy
    • Labels:
      None

      Description

      asm 3 generates java 7 incompatible classes. We need to upgrade to asm 4 to be able to support running on java 7. There are a few simple code changes needed in the proxy module, and a couple nasty workarounds for newly final methods and private fields. There is also a lot of work in integration tests and pom versions to make everything else work.

      I plan to add patches here as I proceed and when everything works I'll think about committing.

      1. ARIES-817-proxy.diff
        34 kB
        David Jencks
      2. ARIES-817-spi-fly.diff
        16 kB
        David Jencks

        Activity

        Hide
        Daniel Kulp added a comment -

        David, do you know what issues it has with Java7? CXF uses ASM 3 and it seems to work fine on Java7 for the limited use cases that it hits. Just curious what we'd need to look out for.

        Show
        Daniel Kulp added a comment - David, do you know what issues it has with Java7? CXF uses ASM 3 and it seems to work fine on Java7 for the limited use cases that it hits. Just curious what we'd need to look out for.
        Hide
        David Jencks added a comment -

        I don't know much, however I believe many generated classes fail java 7 class verification due to missing stack maps. Also apparently earlier asm's can't deal with java 7 class format.

        Show
        David Jencks added a comment - I don't know much, however I believe many generated classes fail java 7 class verification due to missing stack maps. Also apparently earlier asm's can't deal with java 7 class format.
        Hide
        David Bosschaert added a comment -

        The spi-fly component (OSGi RFC 167 implementation) also needs to get this done so I'll be following closely what changes you are making for this...

        Show
        David Bosschaert added a comment - The spi-fly component (OSGi RFC 167 implementation) also needs to get this done so I'll be following closely what changes you are making for this...
        Hide
        David Jencks added a comment -

        Most of spi-fly is easy to fix... would it be possible to pull in the proxy modules' osgi friendly class writer rather than copying the code?

        I'd suggest waiting to commit this until I'm more sure the new code works with the rest of aries, but I could commit it now if you'd like.

        Show
        David Jencks added a comment - Most of spi-fly is easy to fix... would it be possible to pull in the proxy modules' osgi friendly class writer rather than copying the code? I'd suggest waiting to commit this until I'm more sure the new code works with the rest of aries, but I could commit it now if you'd like.
        Hide
        David Jencks added a comment -

        One way to get asm4 into proxy.... I think Emily is also working on this.

        Show
        David Jencks added a comment - One way to get asm4 into proxy.... I think Emily is also working on this.
        Hide
        David Jencks added a comment -

        I opened an ASM issue to have asm support marking the SerialVersionUID field synthetic.

        http://forge.ow2.org/tracker/index.php?func=detail&aid=316318&group_id=23&atid=350023

        Show
        David Jencks added a comment - I opened an ASM issue to have asm support marking the SerialVersionUID field synthetic. http://forge.ow2.org/tracker/index.php?func=detail&aid=316318&group_id=23&atid=350023
        Hide
        Jean-Baptiste Onofré added a comment -

        Aries modules now use ASM5 (for Java8 support).

        Show
        Jean-Baptiste Onofré added a comment - Aries modules now use ASM5 (for Java8 support).

          People

          • Assignee:
            David Jencks
            Reporter:
            David Jencks
          • Votes:
            2 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development