[ 
https://issues.apache.org/jira/browse/SOLR-7803?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14631265#comment-14631265
 ] 

Markus Heiden commented on SOLR-7803:
-------------------------------------

Stacktrace showing the TrieField thread. All other threads hang at at 
java.lang.Class.forName0(Native Method).

"coreLoadExecutor-6-thread-20-processing-{node_name=localhost:18080_solr}" #480 
prio=5 os_prio=31 tid=0x00007f9110653000 nid=0x8f03 in Object.wait() 
[0x000000012b8f2000]
   java.lang.Thread.State: RUNNABLE
        at org.apache.solr.schema.TrieField.<clinit>(TrieField.java:90)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:348)
        at 
org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:485)
        at 
org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:560)
        at 
org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:525)
        at 
org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:518)
        at 
org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:90)
        at 
org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:52)
        at 
org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:152)
        at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:489)
        at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:175)
        at 
org.apache.solr.schema.IndexSchemaFactory.create(IndexSchemaFactory.java:55)
        at 
org.apache.solr.schema.IndexSchemaFactory.buildIndexSchema(IndexSchemaFactory.java:69)
        at 
org.apache.solr.core.ConfigSetService.createIndexSchema(ConfigSetService.java:102)
        at 
org.apache.solr.core.ConfigSetService.getConfig(ConfigSetService.java:74)
        at org.apache.solr.core.CoreContainer.create(CoreContainer.java:635)
        at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:381)
        at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:375)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at 
org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor$1.run(ExecutorUtil.java:148)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

> Classloading deadlock in TrieField
> ----------------------------------
>
>                 Key: SOLR-7803
>                 URL: https://issues.apache.org/jira/browse/SOLR-7803
>             Project: Solr
>          Issue Type: Bug
>    Affects Versions: 5.2.1
>         Environment: OSX
>            Reporter: Markus Heiden
>            Priority: Critical
>              Labels: patch
>         Attachments: TrieField.patch
>
>
> When starting a test Sol instance, it locks up sometimes. We took a thread 
> dump and all threads are trying to load classes via Class.forName() and are 
> stuck in that method. One of these threads got one step further into the 
> <clinit> of TrieField where it creates an internal static instance of 
> TrieDateField (circular dependency). I don't know why this locks up exactly, 
> but this code smells anyway. So I removed that instance and made the used 
> methods static in TrieDateField.
> This does not completely remove the circular dependency, but at least it is 
> no more in <clinit>. For the future someone may extract a util class to 
> remove the circular dependency.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to