-
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.
Form Name |
---|
Hi everyone!
We have tested the configuration in the current iteration of https://confluence.atlassian.com/fishkb/how-to-enable-fisheye-crucible-to-listen-to-web-requests-on-additional-ports-693896733.html and have confirmed that it works for Fisheye/Crucible versions 4.7.x and 4.8.x.
As such this bug report will be closed.
If you run into an issue in this regard, feel free to open a ticket with support and we will investigate further.
Kind regards,
Nate Hansberry
Fisheye/Crucible DoS | Bug Fixer | Infrastructure
Atlassian