Did you try latest solr? There was a library loading bug with multiple cores. Not a perfect match to your description but close enough.
Regards, Alex On 21 Sep 2013 02:28, "Hayden Muhl" <haydenm...@gmail.com> wrote: > I have two cores "favorite" and "user" running in the same Tomcat instance. > In each of these cores I have identical field types "text_en", "text_de", > "text_fr", and "text_ja". These fields use some custom token filters I've > written. Everything was going smoothly when I only had the "favorite" core. > When I added the "user" core, I started getting java.lang.LinkageErrors > being thrown when I start up Tomcat. The error always happens with one of > the classes I've written, but it's unpredictable which class the > classloader chokes on. > > Here's the really strange part. I comment out the "text_*" fields in the > user core and the errors go away (makes sense). I add "text_en" back in, no > error (OK). I add "text_fr" back in, no error (OK). I add "text_de" back > in, and I get the error (ah ha!). I comment "text_de" out again, and I > still get the same error (wtf?). > > I also put a break point at > > org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:424), > and when I load everything one at a time, I don't get any errors. > > I'm running Tomcat 5.5.28, Java version 1.6.0_39 and Solr 4.2.0. I'm > running this all within Eclipse 1.5.1 on a mac. I have not tested this on a > production-like system yet. > > Here's an example stack trace. In this case it was one of my Japanese > filters, but other times it will choke on my synonym filter, or my compound > word filter. The specific class it fails on doesn't seem to be relevant. > > SEVERE: null:java.lang.LinkageError: loader (instance of > org/apache/catalina/loader/WebappClassLoader): attempted duplicate class > definition for name: "com/shopstyle/solrx/KatakanaVuFilterFactory" > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) > at java.lang.ClassLoader.defineClass(ClassLoader.java:615) > at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) > at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) > at java.net.URLClassLoader.access$000(URLClassLoader.java:58) > at java.net.URLClassLoader$1.run(URLClassLoader.java:197) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:190) > at > > org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:904) > at > > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1353) > at java.lang.ClassLoader.loadClass(ClassLoader.java:295) > at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:627) > at java.lang.ClassLoader.loadClass(ClassLoader.java:247) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:249) > at > > org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:424) > at > > org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:462) > at > > org.apache.solr.util.plugin.AbstractPluginLoader.create(AbstractPluginLoader.java:89) > at > > org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:151) > at > > org.apache.solr.schema.FieldTypePluginLoader.readAnalyzer(FieldTypePluginLoader.java:392) > at > > org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:86) > at > > org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:43) > at > > org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:151) > at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:373) > at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:121) > at > org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:1018) > at org.apache.solr.core.CoreContainer.create(CoreContainer.java:1051) > at org.apache.solr.core.CoreContainer$3.call(CoreContainer.java:634) > at org.apache.solr.core.CoreContainer$3.call(CoreContainer.java:629) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) > at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) > at java.lang.Thread.run(Thread.java:680) > > - Hayden >