You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Namgyu Kim (Jira)" <ji...@apache.org> on 2021/01/13 15:19:00 UTC

[jira] [Comment Edited] (LUCENE-9661) Another classloader deadlock?

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

Namgyu Kim edited comment on LUCENE-9661 at 1/13/21, 3:18 PM:
--------------------------------------------------------------

Hi [~dsmiley] and [~mdrob],

*To David*
{quote}Couldn't this sort of thing be caught via static analysis? Classes that refer to their subclasses? 
 Perhaps not that broad but it's a start.
 I don't see an IntelliJ "Intention" for anything like this; perhaps there is something for other tools?
{quote}
I'm not sure if we can catch that by using static analysis.
 IntelliJ is providing inspection for that.
 You can configure it through the following guide.
 (File -> Settings -> Editor -> Inspections -> Static initializer references subclass)
 Here is a screenshot.
 !deadlock inspections.jpg|width=819,height=588!
 If we use only IntelliJ for ide, I think that setting the severity option to Error can be a good idea.
 But I didn't checked if Netbeans and Eclipse provide it.

*To Mike*
{quote}There's an IntelliJ inspection that I've seen for classes referring to subclasses before.
{quote}
Yeah. Is it the same option as the above?


was (Author: danmuzi):
Hi [~dsmiley] and [~mdrob],
{quote}Couldn't this sort of thing be caught via static analysis? Classes that refer to their subclasses? 
 Perhaps not that broad but it's a start.
 I don't see an IntelliJ "Intention" for anything like this; perhaps there is something for other tools?
{quote}
I'm not sure if we can catch that by using static analysis.
 IntelliJ is providing inspection for that.
 You can configure it through the following guide.
 (File -> Settings -> Editor -> Inspections -> Static initializer references subclass)
 Here is a screenshot.
 !deadlock inspections.jpg|width=819,height=588!
 If we use only IntelliJ for ide, I think that setting the severity option to Error can be a good idea.
 But I didn't checked if Netbeans and Eclipse provide it.
{quote}There's an IntelliJ inspection that I've seen for classes referring to subclasses before.
{quote}
Yeah. Is it the same option as the above?

> Another classloader deadlock?
> -----------------------------
>
>                 Key: LUCENE-9661
>                 URL: https://issues.apache.org/jira/browse/LUCENE-9661
>             Project: Lucene - Core
>          Issue Type: Bug
>    Affects Versions: 8.0, master (9.0)
>            Reporter: Michael McCandless
>            Priority: Blocker
>             Fix For: master (9.0), 8.8
>
>         Attachments: deadlock inspections.jpg, 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-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org