Troubleshooting VisualSVN HTTP Service start failure

VisualSVN Server installs a Windows service named VisualSVN HTTP Service that makes the server accessible to end users through the HTTP(S) protocol. This article addresses possible misconfigurations that can result in service start failure identified by the 'The HTTP service failed to start' error message.

Further troubleshooting is based on the specific error codes shown in the log. To check the VisualSVN Server log, click the Start Event Viewer link in the error message.

Tip
You can also find the VisualSVN Server log under the Applications and Services Logs node in the Windows Event Viewer. Read the KB28: Where VisualSVN Server logs are stored article for more information.

TCP/IP port is occupied by another service or application

The TCP/IP port configured to be used by VisualSVN Server can be occupied by another application. In this case the VisualSVN HTTP Service will be unable to start.

This situation is usually identified by one of the following messages in the VisualSVN Server logs:

make_sock: could not bind to address 0.0.0.0:443
(OS 10048) Only one usage of each socket address (protocol/network address/port) is normally permitted.
make_sock: unable to listen for connections on address 192.168.1.2:443
(OS 10013) An attempt was made to access a socket in a way forbidden by its access permissions.

There are the following ways to solve the problem in the case of occupied TCP/IP port:

  • Configure VisualSVN Server to use another TCP/IP port.
    Choose the server port different from the defaults on the Network tab in VisualSVN Server Properties. It is suggested to use 8080/8433 ports if the default 80/443 ports are already occupied.
  • Find out which application occupies the desired TCP/IP port and disable or reconfigure this application.

How to find out if a port is occupied

To check whether a specific network port is currently occupied on your machine, you can use one of the two commands listed below, depending on your version of Windows. In these commands, replace 443 with any port number that you want to check.

  • Option 1. On Windows 10 and later or Windows Server 2016 and later, in the PowerShell, run the following command:

    Get-NetTCPConnection -LocalPort 443 | Format-Table LocalAddress, LocalPort, OwningProcess

    If this command does not find any matches, the specified local port is currently free. If it finds any matches, then the specified local port is currently occupied. In the latter case, the OwningProcess column will indicate the Process ID of the application that is occupying the local port displayed in the LocalPort column in the same row. For more information about this command and its parameters, see the documentation for the Get-NetTCPConnection command.

  • Option 2. On Windows 8.1 or Windows Server 2012 R2, in the Windows Command Prompt, run the following command:

    netstat -ano | find ":443"

    In the output of this command (if there is any), the second and third columns stand for the Local Address and the Foreign Address respectively.

    If in the Local Address column there are any entries that end with our specified port number (:443 in our case), it means that this local port is currently occupied. For such entries, in the same row, the rightmost column (PID) indicates the Process ID of the application that is occupying this local port. For more information about this command, its parameters, and its output format, see the documentation for the netstat command.

How to find the application by its Process ID

To find the name of the application that is running under a particular Process ID, you can use the following PowerShell command:

Get-Process -Id SOME_PID_NUM

Replace SOME_PID_NUM with a Process ID number to search for. For more information about this command and its parameters, see the documentation for the Get-Process command.

VisualSVN Server is bound to an invalid IP address

VisualSVN HTTP Service may be unable to start due to an attempt to bind to an address that is not valid for the local computer running VisualSVN Server.

This situation is identified by the following message in the VisualSVN Server logs:

AH00072: make_sock: could not bind to address 192.168.18.4:443
(OS 10049) The requested address is not valid in its context.

To resolve the issue, go to the Network tab in VisualSVN Server Properties. Then edit the invalid address in the Server Binding section.

Tip
Run the ipconfig command to display IP addresses valid for the local computer. Learn more about the ipconfig command and its parameters.

No access to repositories root folder

VisualSVN Server stores all repositories and any related data in a single folder called repositories root folder. By default it's a C:\Repositories folder on the local disk. The VisualSVN HTTP Service will be unable to start if the repositories root folder is configured incorrectly.

This situation is usually identified by the following messages in the VisualSVN Server logs:

could not create C:/Repositories/server.pid
(OS 5) Access is denied.
VisualSVNServer.exe: could not log pid to file C:/Repositories/server.pid

In most cases the repositories root folder becomes unavailable if it is stored on a network share. There are the following ways to solve the problem in this case:

  • Make sure that Network Service built-in account has read/write permissions for the repositories root folder.
    Learn more about storing repositories on a network share.
  • Make sure that UNC path is used to specify the path to the repositories root folder.
    Any kinds of mapped drives are unsupported if your repositories root folder is stored on a network share.

Conflict with third-party antivirus or firewall software

The VisualSVN Server can be unable to setup appropriate TCP/IP connections due to conflicts with third-party antivirus or firewall software. The VisualSVN HTTP Service will be unable to start in this case.

This situation is usually identified by one of the following messages in the VisualSVN Server logs:

alloc_listener: failed to get a socket for (null)
(OS 10106) The requested service provider could not be loaded or initialized.
Too many errors in select loop. Child process exiting.
(OS 10038) An operation was attempted on something that is not a socket.

There are the following ways to solve the problem in the case of conflicts with a third-party software:

  • Uninstall third-party antivirus/firewall software and make sure that VisualSVN Server becomes to work properly.
  • Reconfigure the antivirus/firewall software according to provided third-party documentation.

No access to VisualSVN Server installation folder parent folders

For some technical reasons, it is required that the account under which VisualSVN HTTP Service is running should have read access permissions for the folder where the VisualSVN Server is installed and for all its parent folders. With the default settings, this account should have read access permissions to the following folders (see KB37 for the full list of required permissions):

  • C:\Program Files\VisualSVN Server\
  • C:\Program Files\
  • C:\

VisualSVN HTTP Service might be unable to start if your VisualSVN Server is installed to an alternative location (D:\Applications\VisualSVN Server\, for example) or non-standard security settings are applied to your computer.

This situation is usually identified by the following log messages:

  • In VisualSVN Server Logs:

    Since version 2.0.8 there is no any related message in the VisualSVN Server logs.

  • In Windows System log:
    The VisualSVN HTTP Service service terminated with the following service-specific error: Incorrect function.

To resolve the issue, grant the VisualSVN HTTP Service account Read & Execute permission for the VisualSVN Server installation folder and all its parent folders.

Other issues

Please contact us using the online feedback form if your VisualSVN HTTP Service fails to start and you cannot identify the reason of the problem using to instructions provided above.

Last Modified: