0 Replies Latest reply on Jul 16, 2009 11:39 AM by greg@solarwinds.net

    TFTP Server Service won't start with various errors - Some repair steps

      I have seen a few issues regarding the TFTP server (Free and Toolset editions).  The steps to fix vary based on the error / stack trace. 

      The service logs the stack in the application event log (start->run->eventvwr.msc).

      If the  stack resembles this:

      Service cannot be started. System.NullReferenceException: Object reference not set to an instance of an object.
         at TFTPServer.Service.ConnectionPool.Dispose()
         at TFTPServer.Service.TFTPServer.Stop()
         at TFTPServer.Service.TFTPService.OnStop()
         at System.ServiceProcess.ServiceBase.DeferredStop()
         at System.ServiceProcess.ServiceBase.Stop()
         at TFTPServer.Service.TFTPService.OnStart(String[] args)
         at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)


      Then see the post TFTP Server Service Fails to Start - System.NullReferenceExceptionto fix… TFTP Server Service Fails to Start - System.NullReferenceException


      If the exception is a SocketException, and the stack looks like this:

      Service cannot be started. System.Net.Sockets.SocketException: Only one usage of each socket address (protocol/network address/port) is normally permitted
         at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
         at System.Net.Sockets.Socket.Bind(EndPoint localEP)
         at System.Net.Sockets.TcpListener.Start(Int32 backlog)
         at System.Net.Sockets.TcpListener.Start()
         at System.Runtime.Remoting.Channels.ExclusiveTcpListener.Start(Boolean exclusiveAddressUse)
         at System.Runtime.Remoting.Channels.Tcp.TcpServerChannel.StartListening(Object data)
         at System.Runtime.Remoting.Channels.Tcp.TcpServerChannel.SetupChannel()
         at System.Runtime.Remoting.Channels.Tcp.TcpServerChannel..ctor(Int32 port)
         at TFTPServer.Service.TFTPServer..ctor()
         at TFTPServer.Service.TFTPServer.get_Current()
         at TFTPServer.Service.TFTPService.OnStop()
         at System.ServiceProcess.ServiceBase.DeferredStop()
         at System.ServiceProcess.ServiceBase.Stop()
         at TFTPServer.Service.TFTPService.OnStart(Str...


      Then see the post Re: TFTP Server Service Fails to Start - System.NullReferenceException for the fix:  Re: TFTP Server Service Fails to Start - System.NullReferenceException



      If you are getting the message "Another TFTP server is already running on port 69":

      Steps to debug:
      • Run "netstat -a -p udp -b -n" from a command line
      • Look for any open socket on port 69.
          ? Sockets will be in the endpoint format <IPAddress>:<port>.
      • If you find one, look at the process name in brackets directly below the open socket information, and stop that service or process.

      HTH,
      Greg