Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-9672

Detects deadlock occurring at static initialization timing

    XMLWordPrintableJSON

    Details

    • Type: Task
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Lucene Fields:
      New

      Description

      This issue relates to LUCENE-9661.

      Deadlock can be happened when a parent class uses a child class at static initialization timing.
      Currently we don't check it at build time, so we can push the code to repository even if there's a problem.
      So we need some detecting feature for it.

      IntelliJ provides an inspection for this, but Eclipse(ECJ Compiler) doesn't.
      (What about NetBeans...?)

      To make it without IDE dependencies, we just need a script to check if the parent class has code that directly references to the child class during static initialization.

      It looks simple, but providing the ability to check each class's inheritance relationship at build time can be harder than I think.
      (I didn't check about some technical details.)

      Anyway, if there is a tool(static checker?) that can check this problem even if it is not the above method, it would be a great help to the stability of our project.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                danmuzi Namgyu Kim
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: