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

    Details

    • Tests:
      Unit
    • Difficulty:
      Unknown
    • Documentation:
      N/A
    • Documentation in Release Notes:
      N/A
    • Similar issues:

      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

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

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Date of First Response: