[ 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-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org