Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-4632

Class loading is not thread-safe

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.0-alpha-7
    • 3.0-beta-1
    • Class Loading
    • None

    Description

      During his work on parallel build execution, Kristian Rosenvold discovered

      Caused by: java.lang.LinkageError: loader (instance of  org/codehaus/plexus/classworlds/realm/ClassRealm): attempted  duplicate class definition for name: "antlr/TokenWithIndex"
      	at java.lang.ClassLoader.defineClass1(Native Method)
      	at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
      	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
      	at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
      	at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
      	at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
      	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:386)
      	at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42)
      	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
      	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
      	at antlr.Utils.loadClass(Utils.java:18)
      	at antlr.CharScanner.setTokenObjectClass(CharScanner.java:335)
      	at org.antlr.tool.Grammar.parseAndBuildAST(Grammar.java:608)
      	at org.antlr.Tool.getRootGrammar(Tool.java:612)
      	at org.antlr.tool.BuildDependencyGenerator.<init>(BuildDependencyGenerator.java:89)
      	at org.antlr.Tool.buildRequired(Tool.java:359)
      	at org.antlr.Tool.process(Tool.java:423)
      	at org.antlr.mojo.antlr3.Antlr3Mojo.execute(Antlr3Mojo.java:391)
      	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:105)
      	... 14 more
      

      He also provided a patch for classworlds that was already applied r8689.

      Attachments

        Activity

          People

            krosenvold Kristian Rosenvold
            bentmann Benjamin Bentmann
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: