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

Uwe Schindler commented on SOLR-7803:
-------------------------------------

bq. One of these the threads got one step further into the <clinit> of 
TrieField where it creates an internal static instance of TrieDateField 
(circular dependency).

There is no deadlock in triefield. What is done there is 100% correct according 
to JVM requirements (classes are allowed to init subclasses from clinit of the 
parent class.

Especially as there is no Class#forName() in this code, this cannot have to do 
with this. If you see Class#forName() in the stack trace, this is more related 
to other problems, because forName() only appears in stack traces when the 
initialization is done from reflection.

Could it be that this issue is related to LUCENE-6482, which was fixed in 5.2.1?

> 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