This article was created in response to a support issue logged with K2. The content may include typographical errors and may be revised at any time without notice This article is not considered official documentation for K2 software and is provided “as is” with no warranties.

Issue

The K2 service does not start up successfully and the following error is logged in the HostServer logs:

2001 Error Starting Host Server: HTTP could not register URL http://k2.denallix.com:8080/. Another application has already registered this URL with HTTP.SYS.

Symptoms

The SmartObject Services was enabled and configured to use URL http://k2.denallix.com:8080/ as per:

http://help.k2.com/onlinehelp/k2blackpearl/DevRef/4.7/default.htm#K2_SmartObject_Services_Introduction.html

* SmartObject Services is hosted by the 'K2HostServer.exe' process (running in console mode or as a service); not via the K2 IIS site

The following was executed in CMD prompt:

netstat -o -n -a | findstr "8080"

If this should return some rows, the furthest right row is the PID number. Please use the cmd below to see which process the PID belongs to:

tasklist | findstr "[PIDfromNetstatResult]"

It was determined that 'ntoskrnl.exe' was already bound to the same URL (hostname:port) in question; as such SmartObject Services was not able to bind to the same URL on K2 blackpearl service startup.

It was established that an IIS site was using the same hostname and port as the SmartObject Services configuration, similar to:

https://superuser.com/questions/486999/ntoskrnl-blocking-port-8080

Resolution

Possible solutions include:

1. Disable SmartObject Services, if it is not in use via setting enableEndpoints="false" similar to:

http://help.k2.com/onlinehelp/k2blackpearl/DevRef/4.7/default.htm#Configuration2.html

2. Bind the IIS site to another hostname/port, as to allow the SmartObject Services usage of the desired URL.

3. Change the SmartObject Services configuration to using a different hostname/port if the IIS site should require this binding.