Uploaded image for project: 'XWiki Platform'
  1. XWiki Platform
  2. XWIKI-8617

"java.lang.LinkageError: loader constraint violation" when restarting after just installing the Workspace UI extension

    XMLWordPrintable

Details

    • Unit
    • Unknown
    • N/A
    • N/A

    Description

      This actually happens on 4.4/3-SNAPSHOT.
      How to reproduce:

      1. Download XE 4.4-SNAPSHOT jetty-hsqldb
      2. Add the snapshots repository and set to virtual=1
      3. Install org.xwiki.platform:xwiki-platform-workspace-ui 4.4-SNAPSHOT on the entire farm
      4. uninstall workspace-ui from the entire farm and re-install it but only on the main wiki
      5. Restart XWiki and access an open the homepage
      org.xwiki.velocity.XWikiVelocityException: Failed to evaluate content with id [/templates/menuview.vm]
              at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:247)
              at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:187)
              at com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.java:105)
              at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:1765)
              at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1705)
              at com.xpn.xwiki.api.XWiki.parseTemplate(XWiki.java:854)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:616)
              at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:395)
              at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:384)
              at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:173)
              at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280)
              at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:369)
              at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
              at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:216)
              at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:311)
              at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:230)
              at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207)
              at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
              at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:87)
              at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
              at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:228)
              at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:187)
              at com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.java:105)
              at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:1765)
              at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1705)
              at com.xpn.xwiki.api.XWiki.parseTemplate(XWiki.java:854)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:616)
              at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:395)
              at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:384)
              at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:173)
              at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280)
              at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:369)
              at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
              at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:216)
              at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:311)
              at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:230)
              at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207)
              at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
              at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
              at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106)
              at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
              at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:228)
              at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:187)
              at com.xpn.xwiki.render.XWikiVelocityRenderer.evaluate(XWikiVelocityRenderer.java:105)
              at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:1765)
              at com.xpn.xwiki.web.Utils.parseTemplate(Utils.java:155)
              at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:241)
              at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:116)
              at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
              at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
              at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
              at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:538)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1352)
              at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:120)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323)
              at org.xwiki.wysiwyg.server.filter.ConversionFilter.doFilter(ConversionFilter.java:144)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323)
              at com.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:66)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323)
              at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323)
              at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323)
              at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:476)
              at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
              at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:517)
              at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225)
              at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:937)
              at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
              at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
              at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:871)
              at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
              at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247)
              at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
              at org.eclipse.jetty.server.Server.handle(Server.java:346)
              at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:589)
              at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1048)
              at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:601)
              at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:214)
              at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:411)
              at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:535)
              at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
              at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:529)
              at java.lang.Thread.run(Thread.java:679)
      Caused by: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getWikiDocument' in  class com.xpn.xwiki.plugin.wikimanager.internal.WikiManagerScriptService threw exception java.lang.LinkageError: loader constraint violation: when resolving method "com.xpn.xwiki.plugin.wikimanager.WikiManagerPluginApi.<init>(Lcom/xpn/xwiki/plugin/wikimanager/WikiManagerPlugin;Lcom/xpn/xwiki/XWikiContext;)V" the class loader (instance of org/xwiki/classloader/NamespaceURLClassLoader) of the current class, com/xpn/xwiki/plugin/wikimanager/WikiManagerPlugin, and the class loader (instance of org/xwiki/classloader/NamespaceURLClassLoader) for resolved class, com/xpn/xwiki/plugin/wikimanager/WikiManagerPluginApi, have different Class objects for the type com/xpn/xwiki/plugin/wikimanager/WikiManagerPlugin used in the signature at /templates/menuview.vm[line 165, column 43]
              at org.apache.velocity.runtime.parser.node.ASTMethod.handleInvocationException(ASTMethod.java:261)
              at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:187)
              at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280)
              at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:567)
              at org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:71)
              at org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirective.java:142)
              at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
              at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:87)
              at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
              at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:87)
              at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
              at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:228)
              ... 93 more
      Caused by: java.lang.LinkageError: loader constraint violation: when resolving method "com.xpn.xwiki.plugin.wikimanager.WikiManagerPluginApi.<init>(Lcom/xpn/xwiki/plugin/wikimanager/WikiManagerPlugin;Lcom/xpn/xwiki/XWikiContext;)V" the class loader (instance of org/xwiki/classloader/NamespaceURLClassLoader) of the current class, com/xpn/xwiki/plugin/wikimanager/WikiManagerPlugin, and the class loader (instance of org/xwiki/classloader/NamespaceURLClassLoader) for resolved class, com/xpn/xwiki/plugin/wikimanager/WikiManagerPluginApi, have different Class objects for the type com/xpn/xwiki/plugin/wikimanager/WikiManagerPlugin used in the signature
              at com.xpn.xwiki.plugin.wikimanager.WikiManagerPlugin.getPluginApi(WikiManagerPlugin.java:84)
              at com.xpn.xwiki.plugin.wikimanager.internal.WikiManagerScriptService.getAPI(WikiManagerScriptService.java:93)
              at com.xpn.xwiki.plugin.wikimanager.internal.WikiManagerScriptService.getWikiDocument(WikiManagerScriptService.java:174)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:616)
              at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:395)
              at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:384)
              at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:173)
              ... 103 more
      

      Workaround: Uninstall the Workspace UI from the main wiki. This will avoid the usage of the wikimanager script service in the menuview.vm template.

      Attachments

        Issue Links

          Activity

            People

              tmortagne Thomas Mortagne
              enygma Eduard Moraru
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: