[bug-13518]Resource Upgrade Problem on Windows

Hey,
While I was upgrading from Ignition 7.9 to 8.0 I ran into a problem with the project resources not being migrated from the internal database to the file system. The stack trace that comes with the error is

INFO   | jvm 1    | 2019/04/09 13:15:57 | I [c.i.i.g.p.r.ProjectRecordConverter] [20:15:57]:   Writing 3 'sr.script.shared' resources to: data\projects\global\ignition\script-python\shared 
INFO   | jvm 1    | 2019/04/09 13:15:57 | I [c.i.i.g.p.r.ProjectRecordConverter] [20:15:57]:     #1. Resource: name=aux, type=sr.script.shared, parent=fe2c4de4-b1bb-4f0c-a370-a7eb702efc55, path=data\projects\global\ignition\script-python\shared\aux 
INFO   | jvm 1    | 2019/04/09 13:15:57 | W [c.i.i.g.p.r.ProjectRecordConverter] [20:15:57]: Unable to convert project '[global]': java.io.IOException: unable to create resource dir: data\projects\global\ignition\script-python\shared\aux 
INFO   | jvm 1    | 2019/04/09 13:15:57 | E [IgnitionGateway               ] [20:15:57]: Error during context startup. 
INFO   | jvm 1    | 2019/04/09 13:15:57 | java.lang.RuntimeException: Error during project conversion: unable to create resource dir: data\projects\global\ignition\script-python\shared\aux
INFO   | jvm 1    | 2019/04/09 13:15:57 | 	at com.inductiveautomation.ignition.gateway.IgnitionGateway.startupInternal(IgnitionGateway.java:1011)
INFO   | jvm 1    | 2019/04/09 13:15:57 | 	at com.inductiveautomation.ignition.gateway.redundancy.RedundancyManagerImpl.startup(RedundancyManagerImpl.java:275)
INFO   | jvm 1    | 2019/04/09 13:15:57 | 	at com.inductiveautomation.ignition.gateway.IgnitionGateway.initRedundancy(IgnitionGateway.java:664)
INFO   | jvm 1    | 2019/04/09 13:15:57 | 	at com.inductiveautomation.ignition.gateway.IgnitionGateway.lambda$initInternal$0(IgnitionGateway.java:602)
INFO   | jvm 1    | 2019/04/09 13:15:57 | 	at com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$ThrowableCatchingRunnable.run(BasicExecutionEngine.java:518)
INFO   | jvm 1    | 2019/04/09 13:15:57 | 	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
INFO   | jvm 1    | 2019/04/09 13:15:57 | 	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
INFO   | jvm 1    | 2019/04/09 13:15:57 | 	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
INFO   | jvm 1    | 2019/04/09 13:15:57 | 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
INFO   | jvm 1    | 2019/04/09 13:15:57 | 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
INFO   | jvm 1    | 2019/04/09 13:15:57 | 	at java.base/java.lang.Thread.run(Unknown Source)
INFO   | jvm 1    | 2019/04/09 13:15:57 | Caused by: java.io.IOException: unable to create resource dir: data\projects\global\ignition\script-python\shared\aux
INFO   | jvm 1    | 2019/04/09 13:15:57 | 	at com.inductiveautomation.ignition.gateway.project.records.ProjectRecordConverter$ProjectToConvert.writeResource(ProjectRecordConverter.java:693)
INFO   | jvm 1    | 2019/04/09 13:15:57 | 	at com.inductiveautomation.ignition.gateway.project.records.ProjectRecordConverter$ProjectToConvert.writeResources(ProjectRecordConverter.java:616)
INFO   | jvm 1    | 2019/04/09 13:15:57 | 	at com.inductiveautomation.ignition.gateway.project.records.ProjectRecordConverter.convert(ProjectRecordConverter.java:278)
INFO   | jvm 1    | 2019/04/09 13:15:57 | 	at com.inductiveautomation.ignition.gateway.IgnitionGateway.startupInternal(IgnitionGateway.java:1009)
INFO   | jvm 1    | 2019/04/09 13:15:57 | 	... 10 common frames omitted

after some quick searching it seems like there are Windows file names that are reserved by the OS but valid as Ignition resource names:

CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9

and if any of your project resources, scripts, vision windows, etc have that name the upgrade cannot complete because the OS prevents files with that name from being created, leaving the gateway stuck in a faulted state.

Thanks for reporting this, we’ll get it fixed for 8.0.1.

The resources will be automatically renamed, unfortunately, which may require updates elsewhere in the projects.

This issue was fixed in the build that was uploaded today (4/22).