[feature - 15805] Gateway Startup Failed

I installed ignition version 8.0.7.20191220-1439. I cannot get the gateway to start. Any ideas?

Running Java -version returns

java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) Client VM (build 25.241-b07, mixed mode, sharing)

Wrapper log file:

STATUS | wrapperm | 2020/01/18 20:52:54 | Starting the Ignition Gateway service...
STATUS | wrapper  | 2020/01/18 20:52:54 | --> Wrapper Started as Service
STATUS | wrapper  | 2020/01/18 20:52:54 | Java Service Wrapper Standard Edition 64-bit 3.5.35
STATUS | wrapper  | 2020/01/18 20:52:54 |   Copyright (C) 1999-2018 Tanuki Software, Ltd. All Rights Reserved.
STATUS | wrapper  | 2020/01/18 20:52:54 |     http://wrapper.tanukisoftware.com
STATUS | wrapper  | 2020/01/18 20:52:54 |   Licensed to Inductive Automation for Inductive Automation
STATUS | wrapper  | 2020/01/18 20:52:54 | 
STATUS | wrapper  | 2020/01/18 20:52:54 | Launching a JVM...
INFO   | jvm 1    | 2020/01/18 20:52:54 | WrapperManager: Initializing...
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,236 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [data\\logback.xml] at [file:/E:/Ignition/data/logback.xml]
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,289 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,290 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [SysoutAppender]
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,291 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,305 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [com.inductiveautomation.logging.SQLiteAppender]
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,311 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [DB]
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,438 |-INFO in ch.qos.logback.core.db.DataSourceConnectionSource@1ade3be2 - Driver name=SQLite JDBC
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,438 |-INFO in ch.qos.logback.core.db.DataSourceConnectionSource@1ade3be2 - Driver version=3.28.0
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,438 |-INFO in ch.qos.logback.core.db.DataSourceConnectionSource@1ade3be2 - supportsGetGeneratedKeys=true
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,441 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender]
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,442 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [SysoutAsync]
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,442 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [SysoutAppender] to ch.qos.logback.classic.AsyncAppender[SysoutAsync]
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,442 |-INFO in ch.qos.logback.classic.AsyncAppender[SysoutAsync] - Attaching appender named [SysoutAppender] to AsyncAppender.
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,443 |-INFO in ch.qos.logback.classic.AsyncAppender[SysoutAsync] - Setting discardingThreshold to 51
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,444 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.AsyncAppender]
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,444 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [DBAsync]
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,444 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [DB] to ch.qos.logback.classic.AsyncAppender[DBAsync]
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,444 |-INFO in ch.qos.logback.classic.AsyncAppender[DBAsync] - Attaching appender named [DB] to AsyncAppender.
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,444 |-INFO in ch.qos.logback.classic.AsyncAppender[DBAsync] - Setting discardingThreshold to 51
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,444 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,444 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [SysoutAsync] to Logger[ROOT]
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,444 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [DBAsync] to Logger[ROOT]
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,444 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
INFO   | jvm 1    | 2020/01/18 20:52:55 | 20:52:55,445 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@37e11b24 - Registering current configuration as safe fallback point
INFO   | jvm 1    | 2020/01/18 20:52:55 | W [WebResourceManagerImpl        ] [02:52:55]: Unable to read "gateway.metroKeystoreAlias" gateway.xml property. Assuming metro keystore alias is: metro-key 
INFO   | jvm 1    | 2020/01/18 20:52:55 | I [o.e.j.u.log                   ] [02:52:55]: Logging initialized @756ms to org.eclipse.jetty.util.log.Slf4jLog 
INFO   | jvm 1    | 2020/01/18 20:52:55 | I [g.WebServerManager            ] [02:52:55]: Starting setup 
INFO   | jvm 1    | 2020/01/18 20:52:55 | I [g.WebServerManager            ] [02:52:55]: Setup complete 
INFO   | jvm 1    | 2020/01/18 20:52:55 | I [Commissioning                 ] [02:52:55]: Commissioning State updated from commissioning to needs_commissioning 
INFO   | jvm 1    | 2020/01/18 20:52:55 | I [o.e.j.s.Server                ] [02:52:55]: jetty-9.4.20.v20190813; built: 2019-08-13T21:28:18.144Z; git: 84700530e645e812b336747464d6fbbf370c9a20; jvm 11.0.5+10-LTS 
INFO   | jvm 1    | 2020/01/18 20:52:55 | I [o.e.j.w.StandardDescriptorProcessor] [02:52:55]: NO JSP Support for /, did not find org.apache.jasper.servlet.JspServlet 
INFO   | jvm 1    | 2020/01/18 20:52:55 | I [o.e.j.s.session               ] [02:52:55]: DefaultSessionIdManager workerName=node0 
INFO   | jvm 1    | 2020/01/18 20:52:55 | I [o.e.j.s.session               ] [02:52:55]: No SessionScavenger set, using defaults 
INFO   | jvm 1    | 2020/01/18 20:52:55 | I [o.e.j.s.session               ] [02:52:55]: node0 Scavenging every 600000ms 
INFO   | jvm 1    | 2020/01/18 20:52:55 | I [o.e.j.s.h.ContextHandler      ] [02:52:55]: Started o.e.j.w.WebAppContext@503c3104{Commissioning,/,file:///E:/Ignition/webserver/webapps/commissioning/,AVAILABLE} 
INFO   | jvm 1    | 2020/01/18 20:52:55 | I [o.e.j.s.AbstractConnector     ] [02:52:55]: Started ServerConnector@4f8db8ae{HTTP/1.1,[http/1.1]}{0.0.0.0:8088} 
INFO   | jvm 1    | 2020/01/18 20:52:55 | I [o.e.j.s.Server                ] [02:52:55]: Started @1092ms 
STATUS | wrapperm | 2020/01/18 20:52:58 | Ignition Gateway service started.
INFO   | jvm 1    | 2020/01/18 20:53:25 | I [o.e.j.s.h.ContextHandler      ] [02:53:25]: Stopped o.e.j.w.WebAppContext@503c3104{Commissioning,/,file:///E:/Ignition/webserver/webapps/commissioning/,UNAVAILABLE} 
INFO   | jvm 1    | 2020/01/18 20:53:25 | I [o.e.j.s.AbstractConnector     ] [02:53:25]: Stopped ServerConnector@4f8db8ae{HTTP/1.1,[http/1.1]}{0.0.0.0:8088} 
INFO   | jvm 1    | 2020/01/18 20:53:25 | I [Commissioning                 ] [02:53:25]: Commissioning State updated from needs_commissioning to commissioned 
INFO   | jvm 1    | 2020/01/18 20:53:25 | E [IgnitionServer                ] [02:53:25]: Error starting server connector for port 8060 
INFO   | jvm 1    | 2020/01/18 20:53:25 | java.io.IOException: Failed to bind to 0.0.0.0/0.0.0.0:8060
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:346)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:307)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:231)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at com.inductiveautomation.catapult.IgnitionServer.metroSslConfig(IgnitionServer.java:1033)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at com.inductiveautomation.catapult.IgnitionServer.setupConnectors(IgnitionServer.java:838)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at com.inductiveautomation.catapult.IgnitionServer.lambda$new$2(IgnitionServer.java:233)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at com.inductiveautomation.ignition.gateway.commissioning.CommissioningContext.continueGatewayStartup(CommissioningContext.java:203)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at com.inductiveautomation.ignition.gateway.servlets.CommissioningServlet.handleFinish(CommissioningServlet.java:435)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at com.inductiveautomation.ignition.gateway.servlets.CommissioningServlet.doPost(CommissioningServlet.java:162)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at com.inductiveautomation.ignition.gateway.servlets.CommissioningServlet.service(CommissioningServlet.java:184)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:844)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:544)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:536)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1581)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1307)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:482)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1549)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1204)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.Server.handle(Server.java:494)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:374)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:268)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:367)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:782)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:918)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at java.base/java.lang.Thread.run(Unknown Source)
INFO   | jvm 1    | 2020/01/18 20:53:25 | Caused by: java.net.BindException: Address already in use: bind
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at java.base/sun.nio.ch.Net.bind0(Native Method)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at java.base/sun.nio.ch.Net.bind(Unknown Source)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at java.base/sun.nio.ch.Net.bind(Unknown Source)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at java.base/sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:342)
INFO   | jvm 1    | 2020/01/18 20:53:25 | 	... 45 common frames omitted

executing Netstat -an | find "8088" returns nothing

Thank you for your help!

Try changing the SSL port on the gateway to something other than 8060--or remove whatever other application is binding to port 8060. See Gateway Port Reference.

Your running Java is version 8, which won't run Ignition 8 (requires Java 11), however that shouldn't matter as version 8 has it's own Java embedded in the Ignition install.

This same error “Failed to bind to 0.0.0.0/0.0.0.0:8060” started happening to me when installing 8.0.14 (didn’t happen on versions before this). First happened when installing Maker Edition at home (a.k.a. HomeMaker). I thought maybe because I decided to change the default port to just 80. And again when installing Ignition “Pro” for customer using default port 8088. Both were on clean Windows 10 PCs. Restarting the PC didn’t help. However, re-installing Ignition again solved the problem both times. Something isn’t working right in the installer.

1 Like

This just happened to me upgrading an 8.0.12 version to 8.0.15 on Linux, I now need to run the installer to get the gateway to run, it will not start after a proper reboot of the server.

INFO   | jvm 1    | 2020/08/05 13:43:10 | I [o.e.j.s.AbstractConnector     ] [13:43:10]: Started ServerConnector@618f3a94{SSL,[ssl, http/1.1]}{0.0.0.0:8060} 
INFO   | jvm 1    | 2020/08/05 13:43:10 | WrapperSimpleApp: 
INFO   | jvm 1    | 2020/08/05 13:43:10 | WrapperSimpleApp Error: Encountered an error running main:
INFO   | jvm 1    | 2020/08/05 13:43:10 | WrapperSimpleApp Error: java.io.IOException: Failed to bind to 0.0.0.0/0.0.0.0:8088

Hi @accyroy, you don’t have to run the installer, you can use the gwcmd utility to change the http and https port. unfortunately, you can’t change the Gateway Network port with the gateway command utility.

Also, in 8.1.1 (the nightly starting tomorrow) Fresh installs now have the ability to set their Gateway Network port during commissioning in addition to the http and https port. The gateway will also will look for ports which aren’t taken by iterating on the default port values until an available one is found. This ensures that the gateway starts up and commissioning is available. (again, only on fresh gateway installs, not upgrades or re-commissioning)

1 Like