Details
-
Bug
-
Resolution: Fixed
-
Medium
-
2.4.3, 2.5.4
-
None
Description
A config.xml with a blank proxy port configuration, such as:
<http bind=":8060" proxy-port=""/>
will fail to startup the application with the exception:
2011-05-01 17:26:54,598 INFO [main ] fisheye.app RootConfig-load - loading config from file: /usr/local/fisheye/FISHEYE_INST/config.xml 2011-05-01 17:26:55,718 ERROR [main ] fisheye.app RootConfig-load - Errors parsing /usr/local/fisheye/FISHEYE_INST/config.xml: 2011-05-01 17:26:55,719 ERROR [main ] fisheye.app RootConfig-logXmlErrors - at line 159: Invalid decimal value: expected at least one digit 2011-05-01 17:26:55,721 INFO [main ] fisheye.app Run-mainImpl - CE com.cenqua.fisheye.config.ConfigException: Error parsing config file (see logs): /usr/local/fisheye/FISHEYE_INST/config.xml at com.cenqua.fisheye.config.RootConfig.load(RootConfig.java:183) at com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:102) at com.cenqua.fisheye.ctl.Run.main(Run.java:69) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:113) at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:41)
Additionally, it seems like there is no way to remove the proxy port configuration via the UI, once it has been set. All attempts to remove the port number and saving it will fail with the following exception in the logs:
java.lang.NullPointerException at java.io.File.<init>(File.java:222) at com.cenqua.fisheye.web.admin.util.SSLUtils.isCorrectKeystorePassword(SSLUtils.java:33) at com.cenqua.fisheye.web.admin.actions.EditServerSettingsAction.isCorrectKeystorePassword(EditServerSettingsAction.java:312) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)
There are no on-screen errors reported and the original value is still retained in the proxy port field after deleting and saving.
Workaround:
Edit the above configuration in config.xml as follows:
<http bind=":8060"/>
and restart Fisheye.