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

Namgyu Kim commented on LUCENE-9661:
------------------------------------

Hi Mike,

I checked this issue and there is a problem with the static initialize part of 
TermsEnum class.
Deadlocks can occur if the constructor part of BaseTermsEnum is executed during 
initializing of TermsEnum.
I uploaded the issue reproduction patch.
(Run testDeadlock in TestTermsEnum class)

I think fixing the issue is simple.
1) Change from "TermsEnum EMPTY = new BaseTermsEnum()" to "TermsEnum EMPTY = 
new TermsEnum()" -> Commented out on my patch
2) Make EmptyTermsEnum class

However, it is difficult how to write a test for this issue.
Is there a good way?

> Another classloader deadlock?
> -----------------------------
>
>                 Key: LUCENE-9661
>                 URL: https://issues.apache.org/jira/browse/LUCENE-9661
>             Project: Lucene - Core
>          Issue Type: Bug
>    Affects Versions: master (9.0)
>            Reporter: Michael McCandless
>            Priority: Major
>         Attachments: deadlock_test.patch
>
>
> The {{java}} processes spawned by our Lucene nightly benchmarks sometimes 
> randomly hang, apparently while loading classes across threads, under 
> contention.
> I've opened [this {{luceneutil}} issue with some 
> details|https://github.com/mikemccand/luceneutil/issues/89], but 
> [~uschindler] suggested I open an issue here too since he has been seeing 
> this in CI builds too.
> It is rare, maybe once a week in the nightly benchmarks (which spawn many 
> {{java}} processes with many threads across 128 CPU cores).  It is clearly a 
> deadlock – when it strikes, the process hangs forever until I notice and 
> {{kill -9}} it.  I posted a coupled {{jstacks}} in the issue above.
> [~rcmuir] suggested using {{classcycle}} to maybe statically dig into 
> possible deadlocks ... I have not tried that yet.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to