Error 1502 occurred at AB_Source_VI.lvclass:Close_Reference.vi -> AB_Build.lvclass:Save.vi -> AB_Build.lvclass:Copy_Files.vi -> AB_Application.lvclass:Copy_Files.vi -> AB_EXE.lvclass:Copy_Files.vi -> AB_Build.lvclass:Build.vi -> AB_Application.lvclass:Build.vi -> AB_EXE.lvclass:Build.vi -> AB_Build.lvclass:Build_from_Wizard.vi -> AB_UI_Frmwk_Build.lvclass:Build.vi -> AB_UI_FRAMEWORK.vi -> AB_Item_OnDoProperties.vi -> AB_Item_OnDoProperties.vi.ProxyCaller
LabVIEW: Cannot save a bad VI without its block diagram.
Update: Enable Debug resolved the issue.
I also found that enabling debugging eliminated the error 1502 during build, but then I looked and found a Boolean constant wired to the selector terminal of a True/False case structure. Changing that Boolean constant to a control allowed us to turn debugging back off.
I had this occur when trying to trigger an event based on "value change" of a latched Boolean.
The latched boolean was not the real issue. The issue ended up being a use of Match Pattern where I only wired String and Regular Expression inputs and only the before match output. Once I wired to handle the offset past match it was able to compile and save.