"Project Structure" Dialog breaks after adding an Illuminated Cloud module to an Empty Project

Issue #1187 new
quietopus created an issue

Context

  • IntelliJ IDEA Version: 2018.3.1 (Ultimate Edition)
  • IntelliJ IDEA Build: UI-183.4588.61
  • Illuminated Cloud Version: 2.0.4.4
  • OS: Windows 10 Pro, Version 1803, Build 17134.407
  • Problem Since: At least 1.5 years ago.

Steps to Reproduce

  1. File > New... > Project
  2. Select Empty Project
  3. Select project location and Finish.
  4. If Project Structure dialog does not open automatically, go to File > Project Structure.
  5. Click Modules on the left panel. Middle panel should be empty. Click + at the top of the middle panel.
  6. Choose New Module and select Illuminated Cloud in the leftmost column.
  7. Configure the remainder of the Illuminated Cloud module, selecting a valid Sandbox org connection and some Metadata components. Continue until the UI returns to the Project Structure dialog.
  8. Select the Modules panel if it is not already selected.

Results

Expected Actual
Middle panel displays an Illuminated Cloud module. Middle panel either says Nothing to show or displays a twisty hierarchy where the module and its facet would be, but with no text or icons.
Clicking Apply causes the Apply button to be grayed out. Clicking Apply has no effect.
Clicking OK causes the dialog to close. Clicking OK has no effect.

At this point, the Project Structure dialog can be closed by clicking Cancel or clicking the X in its upper-right corner. After this, re-opening the Project Structure dialog (File > Project Structure...) yields the same unexpected behavior as above, although additional modules can still be added.

The Project Structure dialog does not return to normal until IntelliJ is re-started. For projects initially created as Empty Projects, the issue re-emerges every time an Illuminated Cloud module is added to the project.

Comments (2)

  1. Scott Wells repo owner

    Easily reproduced. Thanks for all the details. Here's the relevant stack trace:

    java.lang.NullPointerException
        at com.intellij.lang.javascript.flex.projectStructure.FlexBCConfigurator.isModified(FlexBCConfigurator.java:259)
        at com.intellij.lang.javascript.flex.projectStructure.FlexBuildConfigurationsExtension.isModified(FlexBuildConfigurationsExtension.java:90)
        at com.intellij.openapi.roots.ui.configuration.projectRoot.ModuleStructureConfigurable.isModified(ModuleStructureConfigurable.java:387)
        at com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable.apply(ProjectStructureConfigurable.java:309)
        at com.illuminatedcloud.intellij.moduletype.IlluminatedCloudModuleBuilder.dismissModalDialogIfNecessary(IlluminatedCloudModuleBuilder.java:491)
        at com.illuminatedcloud.intellij.moduletype.IlluminatedCloudModuleBuilder.retrieveMetadata(IlluminatedCloudModuleBuilder.java:398)
        at com.illuminatedcloud.intellij.moduletype.IlluminatedCloudModuleBuilder.access$1000(IlluminatedCloudModuleBuilder.java:65)
        at com.illuminatedcloud.intellij.moduletype.IlluminatedCloudModuleBuilder$2.run(IlluminatedCloudModuleBuilder.java:355)
        at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:315)
        at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.doRun$$$capture(LaterInvocator.java:435)
        at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.doRun(LaterInvocator.java)
        at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:419)
        at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:403)
    

    I'll need to report this to JetBrains as that's an NPE in their plugin causing the issue. It's obviously uncovered by this particular workflow in Illuminated Cloud and I may be able to work around it, but there's no reason it should result in an NPE.

    Thanks for reporting!

  2. quietopus reporter

    Thanks for the quick response! Glad to help.

    While logging Issue #1188, I found that this issue also seems to occur when the project is not initially started as an Empty Project (as described above).

  3. Log in to comment