Sentinel 7.0 web services do not listen on default port or seem to start after installation.

  • 7009968
  • 09-Jan-2012
  • 26-Apr-2012

Environment


Novell Sentinel
SUSE Linux Enterprise Server (SLES) 11

Situation

After installation of Sentinel 7.0 on a server everything looked complete except that the web interface could never be reached on its default port of TCP 8443.  The firewall had a valid exception for this port and packets were able to reach the server for other services (SSH) ruling out a routing problem in their environment.

Resolution

During startup TCP port 8443 never started listening though the other ports all worked correctly.  Looking in the server's log file (server0.0.log specifically) the following error was found:

Mon Jan 09 19:15:35 GMT 2012|SEVERE|Container Startup Thread|esecurity.base.ccs.proxy.ComponentElementProxy.activate
  ; Exception java.lang.reflect.InvocationTargetException; java.lang.RuntimeException; ; Caused by internal error: ObjID already

Searching with Google it was discovered that this happens with some services when the process cannot resolve the system's hostname.  The documentation mentions a requirement to have the system able to resolve to itself by its hostname, often by adding a valid entry to the /etc/hosts file on the server itself; doing so resolved the issue.  An example line follows for a server with hostname 'sentinelbox', DNS name 'sentinelbox.netiq.com' and IP address 10.1.1.1:

10.1.1.1     sentinelbox.netiq.com     sentinelbox

Once the /etc/hosts file was modified correctly the Sentinel service was restarted and the web service's port was listening properly.

Additional Information

Full Java Stack from server0.0.log file during startup of Sentinel 7.0:

Mon Jan 09 19:15:35 GMT 2012|SEVERE|Container Startup Thread|esecurity.base.ccs.proxy.ComponentElementProxy.activate
  ; Exception java.lang.reflect.InvocationTargetException; java.lang.RuntimeException; ; Caused by internal error: ObjID already in use; java.rmi.server.ExportException;
Mon Jan 09 19:15:35 GMT 2012|SEVERE|Container Startup Thread|esecurity.base.ccs.proxy.ComponentElementProxy.activate
  java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at esecurity.ccs.comp.webapp.WebappServerComponent.componentActivated(WebappServerComponent.java:85)
    at esecurity.base.ccs.BasicComponent.activate(BasicComponent.java:227)
    at esecurity.base.ccs.proxy.ComponentElementProxy.activate(ComponentElementProxy.java:141)
    at esecurity.base.ccs.proxy.ComponentElementProxy.changeChildrenStatus(ComponentElementProxy.java:213)
    at esecurity.base.ccs.proxy.ComponentElementProxy.activate(ComponentElementProxy.java:134)
    at esecurity.base.ccs.proxy.ComponentElementProxy.componentStateChange(ComponentElementProxy.java:121)
    at esecurity.base.ccs.services.ComponentListenerSupport.fireListenerChange(ComponentListenerSupport.java:74)
    at esecurity.base.ccs.services.ComponentListenerSupport.fireListenerChange(ComponentListenerSupport.java:55)
    at esecurity.base.ccs.services.ComponentServices.activateAllComponents(ComponentServices.java:65)
    at esecurity.base.ccs.proxy.ContainerProxy.activateContainer(ContainerProxy.java:61)
    at esecurity.util.service.ContainerService$1.run(ContainerService.java:82)
    at java.lang.Thread.run(Unknown Source)
  Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.newObj(XmlConfiguration.java:752)
    at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:377)
    at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:329)
    at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:285)
    at esecurity.ccs.comp.webapp.WebappServerComponent.componentActivated(WebappServerComponent.java:81)
    ... 11 more
  Caused by: java.rmi.server.ExportException: internal error: ObjID already in use
    at sun.rmi.transport.ObjectTable.putTarget(Unknown Source)
    at sun.rmi.transport.Transport.exportObject(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport.exportObject(Unknown Source)
    at sun.rmi.transport.tcp.TCPEndpoint.exportObject(Unknown Source)
    at sun.rmi.transport.LiveRef.exportObject(Unknown Source)
    at sun.rmi.server.UnicastServerRef.exportObject(Unknown Source)
    at sun.rmi.registry.RegistryImpl.setup(Unknown Source)
    at sun.rmi.registry.RegistryImpl.<init>(Unknown Source)
    at java.rmi.registry.LocateRegistry.createRegistry(Unknown Source)
    at org.eclipse.jetty.jmx.ConnectorServer.startRegistry(ConnectorServer.java:163)
    at org.eclipse.jetty.jmx.ConnectorServer.<init>(ConnectorServer.java:82)
    ... 20 more