SAML module with uncaught fatal error on starting the app

0
Hi guys, I am setting up SAML 2.0 on a client's app which is running agains Ping Fed, but even before I get setup anything I get the stack trace below.  I have tried a test project where I only have Mx reflection and SAML with the same versions of modeler and SAML module and all works quite well.  I have checked the jars and the app has the same ones as the test proj and there is nothing too obvious on a particular jar conflict. This app was recently upgraded from v5.21 to v6.10.7, so not sure if the issue resides here with the version upgrades, although it has been running ok for a few weeks until we've plugged in SAML. On the odd occasion we can run it, when toggling the IDP to "enabled" also fails with some unreachable exception. Has anyone seen similar behaviour?    Modeler: v6.10.7 Saml module: v1.8.4 Uncaught fatal error from thread [MxRuntimeSystem-action-dispatcher-14] shutting down ActorSystem [MxRuntimeSystem] -------- java.lang.LinkageError: loader constraint violation: when resolving overridden method "org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl.getXMLSchemaType()Ljavax/xml/namespace/QName;" the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoaderJava5) of the current class, org/apache/xerces/jaxp/datatype/XMLGregorianCalendarImpl, and its superclass loader (instance of <bootloader>), have different Class objects for the type javax/xml/namespace/QName used in the signature at org.apache.xerces.jaxp.datatype.DurationImpl.<clinit>(Unknown Source) at org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl.newDuration(Unknown Source) at org.opensaml.xml.util.XMLHelper.durationToLong(XMLHelper.java:1170) at org.opensaml.saml2.metadata.impl.EntitiesDescriptorUnmarshaller.processAttribute(EntitiesDescriptorUnmarshaller.java:69) at org.opensaml.xml.io.AbstractXMLObjectUnmarshaller.unmarshallAttribute(AbstractXMLObjectUnmarshaller.java:254) at org.opensaml.xml.io.AbstractXMLObjectUnmarshaller.unmarshall(AbstractXMLObjectUnmarshaller.java:113) at saml20.implementation.common.SAMLUtil.unmarshallElementFromFile(SAMLUtil.java:156) at saml20.implementation.metadata.IMetadata.getListOfIdpMetadata(IMetadata.java:47) at saml20.implementation.metadata.IdpMetadata.getIdpEntityDescriptor(IdpMetadata.java:170) at saml20.implementation.metadata.IdpMetadata.updateConfiguration(IdpMetadata.java:71) at saml20.implementation.SAMLRequestHandler.initServlet(SAMLRequestHandler.java:99) at saml20.implementation.SAMLRequestHandler.<init>(SAMLRequestHandler.java:67) at saml20.implementation.SAMLRequestHandler.getInstance(SAMLRequestHandler.java:59) at saml20.implementation.SSOServerConfiguration.start(SSOServerConfiguration.java:18) at saml20.actions.StartSSO.executeAction(StartSSO.java:27) at saml20.actions.StartSSO.executeAction(StartSSO.java:16) at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:49) at com.mendix.core.actionmanagement.CoreAction.doCall(CoreAction.java:260) at com.mendix.core.actionmanagement.CoreAction.call(CoreAction.java:248) at com.mendix.core.actionmanagement.ActionManager$1.execute(ActionManager.java:168) at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:36) at com.mendix.core.actionmanagement.ActionManager.executeSync(ActionManager.java:172) at com.mendix.core.component.InternalCore.execute(InternalCore.java:487) at com.mendix.modules.microflowengine.actions.actioncall.JavaAction.execute(JavaAction.scala:52) at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.execute(MicroflowObject.java:47) at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAfterBreakingIfNecessary(MicroflowImpl.java:192) at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAction(MicroflowImpl.java:149) at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:49) at com.mendix.core.actionmanagement.CoreAction.doCall(CoreAction.java:260) at com.mendix.core.actionmanagement.CoreAction.call(CoreAction.java:248) at com.mendix.core.actionmanagement.ActionManager$1.execute(ActionManager.java:168) at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:36) at com.mendix.core.actionmanagement.ActionManager.executeSync(ActionManager.java:172) at com.mendix.core.component.InternalCore.executeSync(InternalCore.java:569) at com.mendix.modules.microflowengine.actions.SubMicroflowAction.execute(SubMicroflowAction.scala:43) at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.execute(MicroflowObject.java:47) at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAfterBreakingIfNecessary(MicroflowImpl.java:192) at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAction(MicroflowImpl.java:149) at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:49) at com.mendix.core.actionmanagement.CoreAction.doCall(CoreAction.java:260) at com.mendix.core.actionmanagement.CoreAction.call(CoreAction.java:248) at com.mendix.core.actionmanagement.CustomActionMonitorImpl$$anonfun$run$1.apply(CustomMonitoredAction.scala:14) at com.mendix.core.session.Worker$$anonfun$receive$3$$anonfun$2$$anon$1.execute(ActionDispatching.scala:144) at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:36) at com.mendix.core.session.Worker$$anonfun$receive$3$$anonfun$2.apply(ActionDispatching.scala:146) at scala.util.Try$.apply(Try.scala:192) at com.mendix.core.session.Worker$$anonfun$receive$3.applyOrElse(ActionDispatching.scala:140) at akka.actor.Actor$class.aroundReceive(Actor.scala:465) at com.mendix.core.session.Worker.aroundReceive(ActionDispatching.scala:136) at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516) at akka.actor.ActorCell.invoke(ActorCell.scala:487) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238) at akka.dispatch.Mailbox.run(Mailbox.scala:220) at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393) at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)   regards, Luis.
asked
1 answers
0

Hi Luis,

  The first thing to confirm is that you have the correct version of the SAML module from the app store.  For Mendix 6.10.7 it looks like you need to download the version 3.1.0 which is specific to Mendix 6.  I also recommending all other modules with the correct version for Mendix 6.10 from the app store.  The issue you are seeing is definitely related to the class loader for app store modules you are using.  Once you have re-downloaded the modules, you can look at the specific class that is causing the issue and check your <projectD_directory>/userlib folder for possible duplicate versions of the JAR file that contains that class. 

 

answered