[
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]