Deeplink problem again classloader?

0
We are testing our application after migration from 5.16.1 to 5.21.2 but run in all kind of weird errors. Now the deeplink. When I invoke a deeplink I get the stacktrace below. But I do see a pattern emerging. All my problems are always classloading or classpath issues (see my post about the CKEditor [here][1]. Are we the only one encountering these kind of problems lately? My gut feeling is that is must be a combination of Java 7 and Java 8 that is the cause of these problems. Any thought, hints or tips? Regards, Ronald [EDIT] I have updated the deeplink module with the new one from the appstore (V4.4). Only the stacktrace does become different (the top one is from V4.4 the other two of V4.3). [EDIT2] Jaap Pulleman had the correct answer. The javax.servlet-3.0.0.jar in the userlib should be removed because it is part of the Mendix runtime files. Would be nice though if the modeler could detect this and give a warning / error. An unhandled error occurred in the MxRuntime. -------- java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoaderJava5) previously initiated loading for a different type with name "javax/servlet/http/HttpServletRequest" at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:760) at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2279) at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1501) at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75) at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at deeplink.actions.StartDeeplinkJava$DeepLinkHandler.serveLogin(StartDeeplinkJava.java:328) at deeplink.actions.StartDeeplinkJava$DeepLinkHandler.serveDeeplink(StartDeeplinkJava.java:189) at deeplink.actions.StartDeeplinkJava$DeepLinkHandler.processRequest(StartDeeplinkJava.java:154) at com.mendix.externalinterface.connector.MxRuntimeConnector$1.execute(MxRuntimeConnector.java:69) at com.mendix.externalinterface.connector.MxRuntimeConnector$1.execute(MxRuntimeConnector.java:66) at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:32) at com.mendix.externalinterface.connector.MxRuntimeConnector.processRequest(MxRuntimeConnector.java:72) at com.mendix.core.impl.MxRuntimeImpl.processRequest(MxRuntimeImpl.java:723) at com.mendix.m2ee.appcontainer.server.handler.RuntimeHandler.handle(RuntimeHandler.java:41) at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:368) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) at java.lang.Thread.run(Thread.java:745) java.lang.LinkageError: javax/servlet/http/HttpServletRequest at deeplink.actions.StartDeeplinkJava$DeepLinkHandler.serveLogin(StartDeeplinkJava.java:322) at deeplink.actions.StartDeeplinkJava$DeepLinkHandler.serveDeeplink(StartDeeplinkJava.java:188) at deeplink.actions.StartDeeplinkJava$DeepLinkHandler.processRequest(StartDeeplinkJava.java:153) at com.mendix.externalinterface.connector.MxRuntimeConnector$1.execute(MxRuntimeConnector.java:69) at com.mendix.externalinterface.connector.MxRuntimeConnector$1.execute(MxRuntimeConnector.java:66) at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:32) at com.mendix.externalinterface.connector.MxRuntimeConnector.processRequest(MxRuntimeConnector.java:72) at com.mendix.core.impl.MxRuntimeImpl.processRequest(MxRuntimeImpl.java:723) at com.mendix.m2ee.appcontainer.server.handler.RuntimeHandler.handle(RuntimeHandler.java:41) at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:368) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) at java.lang.Thread.run(Thread.java:745) [EDIT] To double check the behaviour in the cloud instead of local it still throws an error: Feb 29 13:25:39.906 127.0.0.1 tr10000: CRITICAL - M2EE: An unhandled error occurred in the MxRuntime. Feb 29 13:25:39.907 127.0.0.1 tr10000: CRITICAL - M2EE: (1/31) java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoaderJava5) previously initiated loading for a different type with name "javax/servlet/http/HttpServletRequest" Feb 29 13:25:39.907 127.0.0.1 tr10000: CRITICAL - M2EE: (2/31) at java.lang.ClassLoader.defineClass1(Native Method) Feb 29 13:25:39.907 127.0.0.1 tr10000: CRITICAL - M2EE: (3/31) at java.lang.ClassLoader.defineClass(ClassLoader.java:760) Feb 29 13:25:39.907 127.0.0.1 tr10000: CRITICAL - M2EE: (4/31) at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2279) Feb 29 13:25:39.907 127.0.0.1 tr10000: CRITICAL - M2EE: (5/31) at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1501) Feb 29 13:25:39.907 127.0.0.1 tr10000: CRITICAL - M2EE: (6/31) at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75) Feb 29 13:25:39.908 127.0.0.1 tr10000: CRITICAL - M2EE: (7/31) at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955) Feb 29 13:25:39.908 127.0.0.1 tr10000: CRITICAL - M2EE: (8/31) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) Feb 29 13:25:39.908 127.0.0.1 tr10000: CRITICAL - M2EE: (9/31) at deeplink.actions.StartDeeplinkJava$DeepLinkHandler.serveLogin(StartDeeplinkJava.java:324) Feb 29 13:25:39.908 127.0.0.1 tr10000: CRITICAL - M2EE: (10/31) at deeplink.actions.StartDeeplinkJava$DeepLinkHandler.serveDeeplink(StartDeeplinkJava.java:184) Feb 29 13:25:39.908 127.0.0.1 tr10000: CRITICAL - M2EE: (11/31) at deeplink.actions.StartDeeplinkJava$DeepLinkHandler.processRequest(StartDeeplinkJava.java:155) Feb 29 13:25:39.908 127.0.0.1 tr10000: CRITICAL - M2EE: (12/31) at com.mendix.externalinterface.connector.MxRuntimeConnector$1.execute(MxRuntimeConnector.java:69) Feb 29 13:25:39.908 127.0.0.1 tr10000: CRITICAL - M2EE: (13/31) at com.mendix.externalinterface.connector.MxRuntimeConnector$1.execute(MxRuntimeConnector.java:66) Feb 29 13:25:39.908 127.0.0.1 tr10000: CRITICAL - M2EE: (14/31) at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:32) Feb 29 13:25:39.908 127.0.0.1 tr10000: CRITICAL - M2EE: (15/31) at com.mendix.externalinterface.connector.MxRuntimeConnector.processRequest(MxRuntimeConnector.java:72) Feb 29 13:25:39.908 127.0.0.1 tr10000: CRITICAL - M2EE: (16/31) at com.mendix.core.impl.MxRuntimeImpl.processRequest(MxRuntimeImpl.java:723) Feb 29 13:25:39.908 127.0.0.1 tr10000: CRITICAL - M2EE: (17/31) at com.mendix.m2ee.appcontainer.server.handler.RuntimeHandler.handle(RuntimeHandler.java:41) Feb 29 13:25:39.909 127.0.0.1 tr10000: CRITICAL - M2EE: (18/31) at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52) Feb 29 13:25:39.909 127.0.0.1 tr10000: CRITICAL - M2EE: (19/31) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) Feb 29 13:25:39.909 127.0.0.1 tr10000: CRITICAL - M2EE: (20/31) at org.eclipse.jetty.server.Server.handle(Server.java:368) Feb 29 13:25:39.909 127.0.0.1 tr10000: CRITICAL - M2EE: (21/31) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) Feb 29 13:25:39.909 127.0.0.1 tr10000: CRITICAL - M2EE: (22/31) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942) Feb 29 13:25:39.909 127.0.0.1 tr10000: CRITICAL - M2EE: (23/31) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004) Feb 29 13:25:39.909 127.0.0.1 tr10000: CRITICAL - M2EE: (24/31) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) Feb 29 13:25:39.909 127.0.0.1 tr10000: CRITICAL - M2EE: (25/31) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) Feb 29 13:25:39.910 127.0.0.1 tr10000: CRITICAL - M2EE: (26/31) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) Feb 29 13:25:39.910 127.0.0.1 tr10000: CRITICAL - M2EE: (27/31) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628) Feb 29 13:25:39.910 127.0.0.1 tr10000: CRITICAL - M2EE: (28/31) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) Feb 29 13:25:39.910 127.0.0.1 tr10000: CRITICAL - M2EE: (29/31) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) Feb 29 13:25:39.910 127.0.0.1 tr10000: CRITICAL - M2EE: (30/31) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) Feb 29 13:25:39.910 127.0.0.1 tr10000: CRITICAL - M2EE: (31/31) at java.lang.Thread.run(Thread.java:745) [1]: https://forum.mendix.com/questions/10442/Again-the-no-constructor-found-issue
asked
1 answers
1

I've checked the latest deeplink module from the appstore based on your error/stacktrace. The row numbers don't match, but I have a guess on which row it fails when a deeplink has been called. What I discoverd in the javasource incombination is with a Java library what should be delivered by the Mendix environment. The Java library isn't added in the module from the appstore.

What you can do is search in de Mendix Modeler installation to javax.servlet.api.jar and add this library in the userlib folder.

answered