We had a bizarre problem crop up deploying code to one of our RoboRIOs. Deploying to the test robot worked fine, but the production robot would fail, claiming the image was not correct. The “correct” version given was 2016 v19… which is what we had installed.
The “installed” version given was the nefarious “ImageRegExFail”.
After uninstalling and reinstalling plugins, Eclipse itself, and toolchains, and reformatting and reimaging and re-firmware’ing the RIO a dozen times over the course of the week, I finally found it.
If, in the NI Web-based Configuration of the RIO, you put a carriage return in the “Comments” field of the System Settings, the sysProps.xml file generated by the deploy mechanism is created with spaces between every character. Thus, the regular expression matching in build.xml that pulls out the year and version number will fail, and the deploy script promptly faceplants.
2016 Production Robot
Team 1622, Poway HS
is bad. However
2016 Production Robot Team 1622, Poway HS
is perfectly acceptable.
Either that comments field should not accept a carriage return, or the process that generates sysProps.xml needs to be modified not to choke on it.
Barring that, the Google Fairy will find this post for the next poor schmuck to run into this!