-
Bug
-
Resolution: Handled by Support
-
Medium
-
4.7.0
-
Severity 3 - Minor
-
23
-
Fisheye/Crucible 4.7+ unable to add additional HTTP connector as per documentation
Environment
- Fisheye/Crucible 4.7
- Jetty 9.4
Steps to Reproduce
Follow documentation for How to enable Fisheye/Crucible to listen to web requests on additional ports
Expected Results
Additional HTTP listen connection on port 8065
Actual Results
Unable to Start Fisheye and the following message will be logged to your atlassian-fisheye-yyyy-mm-dd.log
2019-03-08 17:50:22,082 INFO [main ] fisheye WebServer-<init> - Adding secondary content dir of /var/atlassian/application-data/fecru/content 2019-03-08 17:50:22,088 INFO [main ] org.eclipse.jetty.server.Server Server-doStart - jetty-9.4.12.v20180830; built: 2018-08-30T13:59:14.071Z; git: 27208684755d94a92186989f695db2d7b21ebc51; jvm 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12 2019-03-08 17:50:22,218 WARN [main ] org.eclipse.jetty.annotations.AnnotationParser AnnotationParser-asmVersion - Unknown asm implementation version, assuming version 393216 2019-03-08 17:50:22,490 INFO [main ] org.eclipse.jetty.annotations.AnnotationConfiguration AnnotationConfiguration-scanForAnnotations - Scanning elapsed time=271ms 2019-03-08 17:50:22,507 WARN [main ] org.eclipse.jetty.xml.XmlConfiguration XmlConfiguration$JettyXmlConfiguration-configure - Config error at <Call name="addConnector"><Arg> <New class="org.eclipse.jetty.server.nio.SelectChannelConnector"><Set name="port"><Property name="jetty.port" default="8065"/></Set></New> </Arg></Call> 2019-03-08 17:50:22,507 WARN [main ] org.eclipse.jetty.xml.XmlConfiguration XmlConfiguration$JettyXmlConfiguration-configure - Config error at <Get name="server"><Call name="addConnector"><Arg> <New class="org.eclipse.jetty.server.nio.SelectChannelConnector"><Set name="port"><Property name="jetty.port" default="8065"/></Set></New> </Arg></Call></Get> 2019-03-08 17:50:22,507 WARN [main ] org.eclipse.jetty.webapp.JettyWebXmlConfiguration JettyWebXmlConfiguration-configure - Error applying file:///opt/atlassian/fecru/4.7.0/content/WEB-INF/jetty-web.xml 2019-03-08 17:50:22,508 WARN [main ] org.eclipse.jetty.webapp.WebAppContext WebAppContext-doStart - Failed startup of context c.c.f.w.j.FishEyeWebApplicationContext@3688eb5b{/,file:///opt/atlassian/fecru/4.7.0/content/,UNAVAILABLE}{/opt/atlassian/fecru/4.7.0/content} java.lang.ClassNotFoundException: org.eclipse.jetty.server.nio.SelectChannelConnector at java.net.URLClassLoader.findClass(URLClassLoader.java:382) [?:1.8.0_191] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) [?:1.8.0_191] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) [?:1.8.0_191] at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:565) [jetty-webapp-9.4.12.v20180830.jar:9.4.12.v20180830] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) [?:1.8.0_191] at org.eclipse.jetty.util.Loader.loadClass(Loader.java:65) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.newObj(XmlConfiguration.java:834) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.itemValue(XmlConfiguration.java:1309) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.value(XmlConfiguration.java:1214) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.access$500(XmlConfiguration.java:326) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration$AttrOrElementNode.getList(XmlConfiguration.java:1442) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration$AttrOrElementNode.getList(XmlConfiguration.java:1417) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.call(XmlConfiguration.java:780) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:472) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.get(XmlConfiguration.java:749) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:475) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:354) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:297) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.webapp.JettyWebXmlConfiguration.lambda$configure$0(JettyWebXmlConfiguration.java:95) [jetty-webapp-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.webapp.WebAppClassLoader.runWithServerClassAccess(WebAppClassLoader.java:160) [jetty-webapp-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.webapp.JettyWebXmlConfiguration.configure(JettyWebXmlConfiguration.java:95) [jetty-webapp-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.webapp.WebAppContext.configure(WebAppContext.java:517) [jetty-webapp-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1454) [jetty-webapp-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:847) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:287) [jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:545) [jetty-webapp-9.4.12.v20180830.jar:9.4.12.v20180830] at com.cenqua.fisheye.web.jetty.FishEyeWebApplicationContext.doStart(FishEyeWebApplicationContext.java:26) [fisheye.jar:?] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:168) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:108) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:410) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.server.Server.start(Server.java:416) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:108) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.server.Server.doStart(Server.java:383) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at com.cenqua.fisheye.web.WebServer.start(WebServer.java:327) [fisheye.jar:?] at com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:236) [fisheye.jar:?] at com.cenqua.fisheye.ctl.Run.main(Run.java:55) [fisheye.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.8.0_191] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [?:1.8.0_191] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.8.0_191] at java.lang.reflect.Method.invoke(Method.java:498) [?:1.8.0_191] at com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:101) [fisheyeboot.jar:?] at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:44) [fisheyeboot.jar:?] 2019-03-08 17:50:22,558 ERROR [main ] fisheye FishEyeWebApplicationContext-doStart - The Web context could not be started java.lang.ClassNotFoundException: org.eclipse.jetty.server.nio.SelectChannelConnector at java.net.URLClassLoader.findClass(URLClassLoader.java:382) [?:1.8.0_191] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) [?:1.8.0_191] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) [?:1.8.0_191] at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:565) [jetty-webapp-9.4.12.v20180830.jar:9.4.12.v20180830] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) [?:1.8.0_191] at org.eclipse.jetty.util.Loader.loadClass(Loader.java:65) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.newObj(XmlConfiguration.java:834) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.itemValue(XmlConfiguration.java:1309) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.value(XmlConfiguration.java:1214) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.access$500(XmlConfiguration.java:326) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration$AttrOrElementNode.getList(XmlConfiguration.java:1442) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration$AttrOrElementNode.getList(XmlConfiguration.java:1417) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.call(XmlConfiguration.java:780) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:472) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.get(XmlConfiguration.java:749) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:475) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:354) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:297) [jetty-xml-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.webapp.JettyWebXmlConfiguration.lambda$configure$0(JettyWebXmlConfiguration.java:95) [jetty-webapp-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.webapp.WebAppClassLoader.runWithServerClassAccess(WebAppClassLoader.java:160) [jetty-webapp-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.webapp.JettyWebXmlConfiguration.configure(JettyWebXmlConfiguration.java:95) [jetty-webapp-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.webapp.WebAppContext.configure(WebAppContext.java:517) [jetty-webapp-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1454) [jetty-webapp-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:847) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:287) [jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:545) [jetty-webapp-9.4.12.v20180830.jar:9.4.12.v20180830] at com.cenqua.fisheye.web.jetty.FishEyeWebApplicationContext.doStart(FishEyeWebApplicationContext.java:26) [fisheye.jar:?] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:168) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:108) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:410) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.server.Server.start(Server.java:416) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:108) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.server.Server.doStart(Server.java:383) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830] at com.cenqua.fisheye.web.WebServer.start(WebServer.java:327) [fisheye.jar:?] at com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:236) [fisheye.jar:?] at com.cenqua.fisheye.ctl.Run.main(Run.java:55) [fisheye.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.8.0_191] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [?:1.8.0_191] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.8.0_191] at java.lang.reflect.Method.invoke(Method.java:498) [?:1.8.0_191] at com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:101) [fisheyeboot.jar:?] at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:44) [fisheyeboot.jar:?]
Workaround
- Create a file <Fisheye installation directory>/content/WEB-INF/jetty-web.xml
- Add this text to this file.
This text assumes 8061 is the alternate port and is not used.
Be sure to replace PATH_LOG_FOLDER with an existing directory where you want your access logs.<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure.dtd" > <Configure class="org.eclipse.jetty.webapp.WebAppContext"> <Call name="insertHandler"> <Arg> <New id="RequestLog" class="com.cenqua.fisheye.web.jetty.FishEyeRequestLogHandler"> <Set name="requestLog"> <New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog"> <Set name="filename"><Property name="jetty.logs" default="PATH_LOG_FOLDER"/>/access-yyyy_mm_dd.log</Set> <Set name="filenameDateFormat">yyyy_MM_dd</Set> <Set name="LogTimeZone">GMT</Set> <Set name="retainDays">90</Set> <Set name="append">true</Set> <Set name="LogLatency">true</Set> </New> </Set> </New> </Arg> </Call> </Configure>
- Restart Fisheye.