com.cenqua.fisheye.config.ConfigException

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • h3. Summary The documentation [Connecting to Crowd|https://confluence.atlassian.com/display/FISHEYE/Connecting+to+Crowd#ConnectingtoCrowd-Singlesign-on(SSO)withCrowd] to configure SSO for FishEye contains the following suggestion to modify FishEye {{config.xml}} file to achieve it. The example provided is: {code:xml} <config> ... <security> ... <ajp... <crowd sso-enabled="true"/> <custom... ... </security> ... </config> {code} however placing {{<crowd sso-enabled="true"/>}} as the firts element of the {{security}} tag throws a ConfigException during FishEye startup while trying to parse the file. h3. Steps to Reproduce # Open {{$FISHEYE_INST/config.xml}} # Add the crowd configuration as the first element of the {{<security>}} tag: {code:xml} <security allow-anon="false" allow-cru-anon="false"> <crowd sso-enabled="true"/> <built-in> <signup enabled="true"/> </built-in> <admins> <system-admins> <group>confluence-users</group> </system-admins> </admins> <avatar><disabled/></avatar> <emailVisibility/> </security> {code} # Start FishEye h3. Expected Results FishEye starting normally with SSO enabled. h3. Actual Results FishEye does not start and the following is showed in {{$FISHEYE_INST/var/log/fisheye.out}}: {noformat} 2016-04-20 18:34:08,209 ERROR - at line 124: Expected elements 'custom@http://www.cenqua.com/fisheye/config-1 admins@http://www.cenqua.com/fisheye/config-1 avatar@http://www.cenqua.com/fisheye/config-1 emailVisibility@http://www.cenqua.com/fisheye/config-1 rawPolicy@http://www.cenqua.com/fisheye/config-1 restApiKey@http://www.cenqua.com/fisheye/config-1' instead of 'built-in@http://www.cenqua.com/fisheye/config-1' here in element security@http://www.cenqua.com/fisheye/config-1 2016-04-20 18:34:08,210 ERROR - Problem with config file: Error parsing config file (see logs): /opt/fecru_data/config.xml com.cenqua.fisheye.config.ConfigException: Error parsing config file (see logs): /opt/fecru_data/config.xml at com.cenqua.fisheye.config.RootConfig.load(RootConfig.java:190) [fisheye.jar:?] at com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:112) [fisheye.jar:?] at com.cenqua.fisheye.ctl.Run.main(Run.java:56) [fisheye.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.8.0_72] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [?:1.8.0_72] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.8.0_72] at java.lang.reflect.Method.invoke(Method.java:498) [?:1.8.0_72] at com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:101) [fisheyeboot.jar:?] at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:44) [fisheyeboot.jar:?] {noformat} h3.Workaround Modify the {{config.xml}} configuration to look like the following: {code:xml} <security allow-anon="false" allow-cru-anon="false"> <!--crowd sso-enabled="true"/--> <built-in> <signup enabled="true"/> </built-in> <crowd sso-enabled="true"/> <admins> <system-admins> <group>confluence-users</group> </system-admins> </admins> <avatar><disabled/></avatar> <emailVisibility/> </security> {code} Once the {{crowd}} tag is placed after the {{built-in}} tag FishEye is able to start properly and successfully use SSO.
    via by Daniele Carcasole,
  • h3. Summary The documentation [Connecting to Crowd|https://confluence.atlassian.com/display/FISHEYE/Connecting+to+Crowd#ConnectingtoCrowd-Singlesign-on(SSO)withCrowd] to configure SSO for FishEye contains the following suggestion to modify FishEye {{config.xml}} file to achieve it. The example provided is: {code:xml} <config> ... <security> ... <ajp... <crowd sso-enabled="true"/> <custom... ... </security> ... </config> {code} however placing {{<crowd sso-enabled="true"/>}} as the first element of the {{security}} tag throws a ConfigException during FishEye startup while trying to parse the file. h3. Steps to Reproduce # Open {{$FISHEYE_INST/config.xml}} # Add the crowd configuration as the first element of the {{<security>}} tag: {code:xml} <security allow-anon="false" allow-cru-anon="false"> <crowd sso-enabled="true"/> <built-in> <signup enabled="true"/> </built-in> <admins> <system-admins> <group>confluence-users</group> </system-admins> </admins> <avatar><disabled/></avatar> <emailVisibility/> </security> {code} # Start FishEye h3. Expected Results FishEye starting normally with SSO enabled. h3. Actual Results FishEye does not start and the following is showed in {{$FISHEYE_INST/var/log/fisheye.out}}: {noformat} 2016-04-20 18:34:08,209 ERROR - at line 124: Expected elements 'custom@http://www.cenqua.com/fisheye/config-1 admins@http://www.cenqua.com/fisheye/config-1 avatar@http://www.cenqua.com/fisheye/config-1 emailVisibility@http://www.cenqua.com/fisheye/config-1 rawPolicy@http://www.cenqua.com/fisheye/config-1 restApiKey@http://www.cenqua.com/fisheye/config-1' instead of 'built-in@http://www.cenqua.com/fisheye/config-1' here in element security@http://www.cenqua.com/fisheye/config-1 2016-04-20 18:34:08,210 ERROR - Problem with config file: Error parsing config file (see logs): /opt/fecru_data/config.xml com.cenqua.fisheye.config.ConfigException: Error parsing config file (see logs): /opt/fecru_data/config.xml at com.cenqua.fisheye.config.RootConfig.load(RootConfig.java:190) [fisheye.jar:?] at com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:112) [fisheye.jar:?] at com.cenqua.fisheye.ctl.Run.main(Run.java:56) [fisheye.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.8.0_72] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [?:1.8.0_72] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.8.0_72] at java.lang.reflect.Method.invoke(Method.java:498) [?:1.8.0_72] at com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:101) [fisheyeboot.jar:?] at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:44) [fisheyeboot.jar:?] {noformat} h3.Workaround Modify the {{config.xml}} configuration to look like the following: {code:xml} <security allow-anon="false" allow-cru-anon="false"> <!--crowd sso-enabled="true"/--> <built-in> <signup enabled="true"/> </built-in> <crowd sso-enabled="true"/> <admins> <system-admins> <group>confluence-users</group> </system-admins> </admins> <avatar><disabled/></avatar> <emailVisibility/> </security> {code} Once the {{crowd}} tag is placed after the {{built-in}} tag FishEye is able to start properly and successfully use SSO.
    via by Daniele Carcasole,
  • If the p4 binary is set to a location which does not exist, then FishEye will not start. {noformat} 2011-06-13 21:58:12,663 ERROR [main] fisheye.app Run-mainImpl - Problem with config file: P4 executable does not exist at configured location: /opt/j2ee/domains/atlassian.com/eac-fisheye/fecru/fecru-2.7.0-M1-1466/sdfasfasfasf 2011-06-13 21:58:12,752 INFO [main] fisheye.app Run-mainImpl - CE com.cenqua.fisheye.config.ConfigException: P4 executable does not exist at configured location: /opt/j2ee/domains/atlassian.com/eac-fisheye/fecru/fecru-2.7.0-M1-1466/sdfasfasfasf at com.cenqua.fisheye.perforce.client.P4Exec.setupExecutable(P4Exec.java:293) at com.cenqua.fisheye.config.RootConfig.setSCMConfigInfo(RootConfig.java:407) at com.cenqua.fisheye.config.RootConfig.start(RootConfig.java:350) at com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:153) at com.cenqua.fisheye.ctl.Run.main(Run.java:72) 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:114) at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:42) {noformat} Culprit is at [P4Exec.java|https://extranet.atlassian.com/crucible/browse/FE-hg/src/java/com/cenqua/fisheye/perforce/client/P4Exec.java?r=HEAD&hb=true#l289] which probably should warn rather than throw a ConfigException. {code} public static void setupExecutable(File p4ExecutableFile) throws ConfigException { if (p4ExecutableFile.exists()) { setP4Executable(p4ExecutableFile.getAbsolutePath()); } else { throw new ConfigException("P4 executable does not exist at configured location: " + p4ExecutableFile.getAbsolutePath()); } } {code}
    via by Seb Ruiz,
  • A {{config.xml}} with a blank proxy port configuration, such as: {noformat} <http bind=":8060" proxy-port=""/> {noformat} will fail to startup the application with the exception: {noformat} 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) {noformat} 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: {noformat} 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) {noformat} 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: {noformat} <http bind=":8060"/> {noformat} and restart Fisheye.
    via by Gurleen Anand [Atlassian],
  • If the p4 binary is set to a location which does not exist, then FishEye will not start. {noformat} 2011-06-13 21:58:12,663 ERROR [main] fisheye.app Run-mainImpl - Problem with config file: P4 executable does not exist at configured location: /opt/j2ee/domains/atlassian.com/eac-fisheye/fecru/fecru-2.7.0-M1-1466/sdfasfasfasf 2011-06-13 21:58:12,752 INFO [main] fisheye.app Run-mainImpl - CE com.cenqua.fisheye.config.ConfigException: P4 executable does not exist at configured location: /opt/j2ee/domains/atlassian.com/eac-fisheye/fecru/fecru-2.7.0-M1-1466/sdfasfasfasf at com.cenqua.fisheye.perforce.client.P4Exec.setupExecutable(P4Exec.java:293) at com.cenqua.fisheye.config.RootConfig.setSCMConfigInfo(RootConfig.java:407) at com.cenqua.fisheye.config.RootConfig.start(RootConfig.java:350) at com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:153) at com.cenqua.fisheye.ctl.Run.main(Run.java:72) 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:114) at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:42) {noformat} Culprit is at [P4Exec.java|https://extranet.atlassian.com/crucible/browse/FE-hg/src/java/com/cenqua/fisheye/perforce/client/P4Exec.java?r=HEAD&hb=true#l289] which probably should warn rather than throw a ConfigException. {code} public static void setupExecutable(File p4ExecutableFile) throws ConfigException { if (p4ExecutableFile.exists()) { setP4Executable(p4ExecutableFile.getAbsolutePath()); } else { throw new ConfigException("P4 executable does not exist at configured location: " + p4ExecutableFile.getAbsolutePath()); } } {code}
    via by Seb Ruiz,
  • A {{config.xml}} with a blank proxy port configuration, such as: {noformat} <http bind=":8060" proxy-port=""/> {noformat} will fail to startup the application with the exception: {noformat} 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) {noformat} 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: {noformat} 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) {noformat} 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: {noformat} <http bind=":8060"/> {noformat} and restart Fisheye.
    via by Gurleen Anand [Atlassian],
    • com.cenqua.fisheye.config.ConfigException: Error parsing config file (see logs): /opt/fecru_data/config.xml at com.cenqua.fisheye.config.RootConfig.load(RootConfig.java:190)[fisheye.jar:?] at com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:112)[fisheye.jar:?] at com.cenqua.fisheye.ctl.Run.main(Run.java:56)[fisheye.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[?:1.8.0_72] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[?:1.8.0_72] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[?:1.8.0_72] at java.lang.reflect.Method.invoke(Method.java:498)[?:1.8.0_72] at com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:101)[fisheyeboot.jar:?] at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:44)[fisheyeboot.jar:?]
    No Bugmate found.