Edge gateway won't start with error java.lang.IllegalStateException: Could not read catapult properties

Hello,

I am trying to start an 8.0.16 edge gateway and I am getting the following output in the wrapper.log file:

STATUS | wrapper | 2021/03/11 14:08:30 | --> Wrapper Started as Daemon
STATUS | wrapper | 2021/03/11 14:08:30 | Java Service Wrapper Standard Edition 32-bit 3.5.42
STATUS | wrapper | 2021/03/11 14:08:30 | Copyright © 1999-2020 Tanuki Software, Ltd. All Rights Reserved.
STATUS | wrapper | 2021/03/11 14:08:30 | http://wrapper.tanukisoftware.com
STATUS | wrapper | 2021/03/11 14:08:30 | Licensed to Inductive Automation for Inductive Automation
STATUS | wrapper | 2021/03/11 14:08:30 |
STATUS | wrapper | 2021/03/11 14:08:32 | Launching a JVM…
INFO | jvm 1 | 2021/03/11 14:08:34 | WrapperManager: Initializing…
INFO | jvm 1 | 2021/03/11 14:08:45 | 14:08:45,423 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
INFO | jvm 1 | 2021/03/11 14:08:45 | 14:08:45,496 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [SysoutAppender]
INFO | jvm 1 | 2021/03/11 14:08:45 | 14:08:45,570 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
INFO | jvm 1 | 2021/03/11 14:08:45 | 14:08:45,927 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [com.inductiveautomation.logging.SQLiteAppender]
INFO | jvm 1 | 2021/03/11 14:08:46 | 14:08:46,049 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [DB]
INFO | jvm 1 | 2021/03/11 14:08:47 | 14:08:47,291 |-INFO in ch.qos.logback.core.db.DataSourceConnectionSource@1e9eae2 - Driver name=SQLite JDBC
INFO | jvm 1 | 2021/03/11 14:08:47 | 14:08:47,292 |-INFO in ch.qos.logback.core.db.DataSourceConnectionSource@1e9eae2 - Driver version=3.23.1
INFO | jvm 1 | 2021/03/11 14:08:47 | 14:08:47,292 |-INFO in ch.qos.logback.core.db.DataSourceConnectionSource@1e9eae2 - supportsGetGeneratedKeys=true
INFO | jvm 1 | 2021/03/11 14:08:47 | 14:08:47,369 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender]
INFO | jvm 1 | 2021/03/11 14:08:47 | 14:08:47,416 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [SysoutAsync]
INFO | jvm 1 | 2021/03/11 14:08:47 | 14:08:47,418 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [SysoutAppender] to ch.qos.logback.classic.AsyncAppender[SysoutAsync]
INFO | jvm 1 | 2021/03/11 14:08:47 | 14:08:47,419 |-INFO in ch.qos.logback.classic.AsyncAppender[SysoutAsync] - Attaching appender named [SysoutAppender] to AsyncAppender.
INFO | jvm 1 | 2021/03/11 14:08:47 | 14:08:47,429 |-INFO in ch.qos.logback.classic.AsyncAppender[SysoutAsync] - Setting discardingThreshold to 51
INFO | jvm 1 | 2021/03/11 14:08:47 | 14:08:47,433 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender]
INFO | jvm 1 | 2021/03/11 14:08:47 | 14:08:47,435 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [DBAsync]
INFO | jvm 1 | 2021/03/11 14:08:47 | 14:08:47,444 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [DB] to ch.qos.logback.classic.AsyncAppender[DBAsync]
INFO | jvm 1 | 2021/03/11 14:08:47 | 14:08:47,444 |-INFO in ch.qos.logback.classic.AsyncAppender[DBAsync] - Attaching appender named [DB] to AsyncAppender.
INFO | jvm 1 | 2021/03/11 14:08:47 | 14:08:47,445 |-INFO in ch.qos.logback.classic.AsyncAppender[DBAsync] - Setting discardingThreshold to 51
INFO | jvm 1 | 2021/03/11 14:08:47 | 14:08:47,455 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
INFO | jvm 1 | 2021/03/11 14:08:47 | 14:08:47,466 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [SysoutAsync] to Logger[ROOT]
INFO | jvm 1 | 2021/03/11 14:08:47 | 14:08:47,474 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [DBAsync] to Logger[ROOT]
INFO | jvm 1 | 2021/03/11 14:08:47 | 14:08:47,475 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
INFO | jvm 1 | 2021/03/11 14:08:47 | 14:08:47,489 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@6b5c2a - Registering current configuration as safe fallback point
INFO | jvm 1 | 2021/03/11 14:08:48 | E [IgnitionGateway ] [06:08:48]: Error initializing web manager:
INFO | jvm 1 | 2021/03/11 14:08:48 | java.lang.IllegalStateException: Could not read catapult properties.
INFO | jvm 1 | 2021/03/11 14:08:48 | at com.inductiveautomation.ignition.gateway.web.WebResourceManagerImpl.readGatewayProperties(WebResourceManagerImpl.java:430)
INFO | jvm 1 | 2021/03/11 14:08:48 | at com.inductiveautomation.ignition.gateway.web.WebResourceManagerImpl.(WebResourceManagerImpl.java:106)
INFO | jvm 1 | 2021/03/11 14:08:48 | at com.inductiveautomation.ignition.gateway.IgnitionGateway.(IgnitionGateway.java:483)
INFO | jvm 1 | 2021/03/11 14:08:48 | at com.inductiveautomation.ignition.gateway.IgnitionGateway.main(IgnitionGateway.java:273)
INFO | jvm 1 | 2021/03/11 14:08:48 | at com.inductiveautomation.catapult.Catapult.main(Catapult.java:8)
INFO | jvm 1 | 2021/03/11 14:08:48 | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO | jvm 1 | 2021/03/11 14:08:48 | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
INFO | jvm 1 | 2021/03/11 14:08:48 | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
INFO | jvm 1 | 2021/03/11 14:08:48 | at java.base/java.lang.reflect.Method.invoke(Method.java:566)
INFO | jvm 1 | 2021/03/11 14:08:48 | at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:349)
INFO | jvm 1 | 2021/03/11 14:08:48 | at java.base/java.lang.Thread.run(Thread.java:834)
INFO | jvm 1 | 2021/03/11 14:08:48 | Caused by: java.util.InvalidPropertiesFormatException: jdk.internal.org.xml.sax.SAXParseException;
INFO | jvm 1 | 2021/03/11 14:08:48 | at java.base/jdk.internal.util.xml.PropertiesDefaultHandler.load(PropertiesDefaultHandler.java:85)
INFO | jvm 1 | 2021/03/11 14:08:48 | at java.base/java.util.Properties.loadFromXML(Properties.java:983)
INFO | jvm 1 | 2021/03/11 14:08:48 | at com.inductiveautomation.catapult.util.PersistentProperties.tryLoad(PersistentProperties.java:114)
INFO | jvm 1 | 2021/03/11 14:08:48 | at com.inductiveautomation.catapult.util.PersistentProperties.(PersistentProperties.java:73)
INFO | jvm 1 | 2021/03/11 14:08:48 | at com.inductiveautomation.catapult.util.PersistentProperties.(PersistentProperties.java:54)
INFO | jvm 1 | 2021/03/11 14:08:48 | at com.inductiveautomation.catapult.util.PersistentProperties.(PersistentProperties.java:43)
INFO | jvm 1 | 2021/03/11 14:08:48 | at com.inductiveautomation.ignition.gateway.web.WebResourceManagerImpl.readGatewayProperties(WebResourceManagerImpl.java:428)
INFO | jvm 1 | 2021/03/11 14:08:48 | … 10 common frames omitted
INFO | jvm 1 | 2021/03/11 14:08:48 | Caused by: jdk.internal.org.xml.sax.SAXParseException:
INFO | jvm 1 | 2021/03/11 14:08:48 | at java.base/jdk.internal.util.xml.impl.ParserSAX.panic(ParserSAX.java:652)
INFO | jvm 1 | 2021/03/11 14:08:48 | at java.base/jdk.internal.util.xml.impl.Parser.step(Parser.java:494)
INFO | jvm 1 | 2021/03/11 14:08:48 | at java.base/jdk.internal.util.xml.impl.ParserSAX.parse(ParserSAX.java:436)
INFO | jvm 1 | 2021/03/11 14:08:48 | at java.base/jdk.internal.util.xml.impl.ParserSAX.parse(ParserSAX.java:411)
INFO | jvm 1 | 2021/03/11 14:08:48 | at java.base/jdk.internal.util.xml.impl.ParserSAX.parse(ParserSAX.java:374)
INFO | jvm 1 | 2021/03/11 14:08:48 | at java.base/jdk.internal.util.xml.impl.SAXParserImpl.parse(SAXParserImpl.java:97)
INFO | jvm 1 | 2021/03/11 14:08:48 | at java.base/jdk.internal.util.xml.PropertiesDefaultHandler.load(PropertiesDefaultHandler.java:83)
INFO | jvm 1 | 2021/03/11 14:08:48 | … 16 common frames omitted
INFO | jvm 1 | 2021/03/11 14:08:48 | WrapperSimpleApp:
INFO | jvm 1 | 2021/03/11 14:08:48 | WrapperSimpleApp Error: Encountered an error running main:
INFO | jvm 1 | 2021/03/11 14:08:48 | WrapperSimpleApp Error: java.lang.NullPointerException
INFO | jvm 1 | 2021/03/11 14:08:48 | WrapperSimpleApp Error: at com.inductiveautomation.ignition.gateway.IgnitionGateway.start(IgnitionGateway.java:538)
INFO | jvm 1 | 2021/03/11 14:08:48 | WrapperSimpleApp Error: at com.inductiveautomation.ignition.gateway.IgnitionGateway.main(IgnitionGateway.java:275)
INFO | jvm 1 | 2021/03/11 14:08:48 | WrapperSimpleApp Error: at com.inductiveautomation.catapult.Catapult.main(Catapult.java:8)
INFO | jvm 1 | 2021/03/11 14:08:48 | WrapperSimpleApp Error: at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO | jvm 1 | 2021/03/11 14:08:48 | WrapperSimpleApp Error: at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
INFO | jvm 1 | 2021/03/11 14:08:48 | WrapperSimpleApp Error: at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
INFO | jvm 1 | 2021/03/11 14:08:48 | WrapperSimpleApp Error: at java.base/java.lang.reflect.Method.invoke(Method.java:566)
INFO | jvm 1 | 2021/03/11 14:08:48 | WrapperSimpleApp Error: at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:349)
INFO | jvm 1 | 2021/03/11 14:08:48 | WrapperSimpleApp Error: at java.base/java.lang.Thread.run(Thread.java:834)
STATUS | wrapper | 2021/03/11 14:08:50 | <-- Wrapper Stopped

I thought maybe it was a permissions problem somewhere but I am pretty certain I have updated permissions for all needed files/folders now and I am still seeing it.

In the $IGNITION/data folder there should be a gateway.xml and gateway.xml_clean file. Do you have those? Can you upload gateway.xml? If you do have both, try moving or renaming gateway.xml so the clean version gets used.

That did it. The gateway.xml file was empty. moved it from that directory and all was good.