Uploaded image for project: 'Forge'
  1. Forge
  2. FORGE-1969

Exception wrapping loses information

    XMLWordPrintable

Details

    Description

      In Forge, exceptions are wrapped by Javassist to prevent CCEx when exceptions traverse the addon boundaries.

      But this wrapping is done in a way that the hierarchy of exceptions is not treated correctly - seems that it's only getting to the bottom of causes, dropping the important context and linked information (e.g. InvocationTargetException's target, JAXB's linkedException, ...).

      One example:

      Shown exception:

      org.javassist.tmp.java.lang.Exception_$$_javassist_3c6f95f1-dabc-4ae0-b23a-7fe4056dfdf3: null
      at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:197)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:443)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:431)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:373)
      at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:118)
      at javax.xml.bind.ContextFinder.safeLoadClass(ContextFinder.java:563)
      at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:225)
      at javax.xml.bind.ContextFinder.find(ContextFinder.java:445)
      at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:637)
      at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:584)
      at org.jboss.windup.reporting.xslt.jaxb.FrameToJaxbTest.testFrameToJaxb(FrameToJaxbTest.java:80)

      Actual exception:

      javax.xml.bind.JAXBException

      • with linked exception:
        [java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory from [Module "_DEFAULT_:259a118d-0dc2-4d39-bce5-46b4de8d118b_84602e04-6399-449b-89b8-874e07e9bcf9" from AddonModuleLoader]]

      Other example, not sure if the same problem, but similar symptoms:

      Thrown:
      java.lang.reflect.InvocationTargetException: null
      at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:197)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:443)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:431)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:373)
      at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:118)
      at org.jboss.windup.reporting.xslt.jaxb.FrameToJaxbTest.testFrameToJaxb(FrameToJaxbTest.java:85)

      Actual exception:
      java.lang.reflect.InvocationTargetException
      target: java.lang.reflect.InvocationTargetException
      target: java.lang.NoClassDefFoundError: org/eclipse/persistence/jaxb/JAXBContextFactory
      cause: java.lang.ClassNotFoundException: org.eclipse.persistence.jaxb.JAXBContextFactory from [Module "_DEFAULT_:d6fe055f-7707-4e8e-ae01-3996910ddefe_3e63525b-91df-4f68-b300-a1166a74fa46" from AddonModuleLoader]

      Attachments

        Issue Links

          Activity

            People

              lincolnthree Lincoln Baxter III (Inactive)
              ozizka_jira Ondrej Zizka (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: