Inspectopedia
 
2024.3

Potential deadlock in service initialization

Error
Performance
New
Last modified: 03 December 2024

Reports read/write actions and invokeAndWait called from the scope of service initialization:

  • service constructors and initialization blocks (including static)

  • service companion object's initialization blocks (Kotlin)

  • service methods used in initialization blocks and fields initialization

  • PersistentStateComponent initialization lifecycle methods:

    • loadState

    • noStateLoaded

    • initializeComponent

Running a read/write action or calling invokeAndWait during service initialization may cause deadlocks.

Examples:

Kotlin:

Java:

PersistentStateComponent:

New in 2024.2