GDS File different than PLCNext Engineer

I’m working on a borrowed starter kit, 2021.9 firmware, 2021.9 PLCNext Engineer

I'm working through understanding IO mapping.  I have a simple input = output program running and have the GDS moving data

I have the following porting going on:

BOOL
IN00 -> IN1h (global)-> IN_START (local MainProgram) 
IN01 -> IN2h (global)-> IN2 (local MainProgram)

I also have IN1h and IN2h in the HMI for visibility, and being mapped to output (direct, no global on that one).

Now, I get an error when I run this, no compile faults.  What I've found in the gds file is that the globals are going to IN1 and IN2.  I've tried renaming the globals (IN1_h and IN2_h were the original) but the GDS does the same thing.  When I manually edit the GDS file and reboot, it works, no problems. 

I have an analog value (AI2 AO2) WORD mapped (AI1 -> Dial -> Analog_Demand) and have no issues with that.  However, DIAL is far more unique than IN1h.

I've been able to duplicate this in a fresh project.  Any ideas?

I’ve sent an answer by email.

When we figure out the solution it can be posted here for others to see, if necessary.

The issue was caused by a bug in PLCnext Engineer and/or the eCLR that appeared in this specific case, with the combination of global variables, external variables, port variables and the GDS connections between them, when the global variable(s) were renamed.

This bug has now been reported to the developers, and it should be fixed in a future version.

If anyone does run into this, there is a fairly simple workaround, if possibly a bit manual labor intensive. I logged into my controller via WinSCP (SFTP) and modified the gds.config file directly. Once corrected, it stayed corrected unless you tried do change the variable again.