-
Bug
-
Resolution: Done
-
Major
-
2.7.2.Final
-
None
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]
- blocks
-
WINDUP-197 Forge + Surefire hide exception's message and cause
-
- Closed
-
- relates to
-
FORGE-1970 Copy cause's message to InvocationTargetException
-
- Closed
-