[
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: [email protected]
For additional commands, e-mail: [email protected]