Uploaded image for project: 'MediaPortal 2'
  1. MediaPortal 2
  2. MP2-122

An unreachable IP address prevents the MP-II server from starting

    XMLWordPrintable

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • 2.0.0-alpha.1
    • None
    • None
    • None

    Description

      hwahrmann has the problem that the server always crashes when the UPnP SSDP controller tries starting receiving from an endpoint which is.. disconnected? Otherwise not available? He says it is always related to IPv6 addresses.

      h4. Steps to Reproduce
            2009-11-16 10:21:21.066157 [Info.][Main Thread]: UPnP server: HTTP listener started at port 49247
            A first chance exception of type 'System.Net.Sockets.SocketException' occurred in System.dll
            2009-11-16 10:21:21.097356 [Crit.][Main Thread]: Error executing application
            Exception: System.Net.Sockets.SocketException: The system detected an invalid pointer address in attempting to use a pointer argument in a call
               at System.Net.Sockets.Socket.DoBeginReceiveFrom(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint endPointSnapshot, SocketAddress socketAddress, OverlappedAsyncResult asyncResult)
               at System.Net.Sockets.Socket.BeginReceiveFrom(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint& remoteEP, AsyncCallback callback, Object state)
               at UPnP.Infrastructure.Dv.SSDP.SSDPServerController.StartReceive(UDPAsyncReceiveState state) in D:\Source\Mp\MP-II\Source\System\UPnP\Infrastructure\Dv\SSDP\SSDPServerController.cs:line 353
               at UPnP.Infrastructure.Dv.SSDP.SSDPServerController.StartSSDPEndpoint(EndpointConfiguration config) in D:\Source\Mp\MP-II\Source\System\UPnP\Infrastructure\Dv\SSDP\SSDPServerController.cs:line 299
               at UPnP.Infrastructure.Dv.UPnPServer.InitializeDiscoveryEndpoints() in D:\Source\Mp\MP-II\Source\System\UPnP\Infrastructure\Dv\UPnPServer.cs:line 415
               at UPnP.Infrastructure.Dv.UPnPServer.Bind(Int32 advertisementInterval) in D:\Source\Mp\MP-II\Source\System\UPnP\Infrastructure\Dv\UPnPServer.cs:line 192
               at MediaPortal.ClientCommunication.UPnPMediaServer.Start() in D:\Source\Mp\MP-II\Source\System\MediaPortal.Backend\ClientCommunication\UPnPMediaServer.cs:line 61
               at MediaPortal.Services.BackendServer.BackendServer.Startup() in D:\Source\Mp\MP-II\Source\System\MediaPortal.Backend\Services\BackendServer\BackendServer.cs:line 156
               at MediaPortal.BackendExtension.StartupBackendServices() in D:\Source\Mp\MP-II\Source\System\MediaPortal.Backend\BackendExtension.cs:line 57
               at MediaPortal.ApplicationLauncher.Main(String[] args) in D:\Source\Mp\MP-II\Source\Main\MediaPortal.Server\ApplicationLauncher.cs:line 118
              Message: The system detected an invalid pointer address in attempting to use a pointer argument in a call
              Site : Void DoBeginReceiveFrom(Byte[], Int32, Int32, System.Net.Sockets.SocketFlags, System.Net.EndPoint, System.Net.SocketAddress, System.Net.Sockets.OverlappedAsyncResult)
              Source : System
            Stack Trace:
               at System.Net.Sockets.Socket.DoBeginReceiveFrom(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint endPointSnapshot, SocketAddress socketAddress, OverlappedAsyncResult asyncResult)
               at System.Net.Sockets.Socket.BeginReceiveFrom(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint& remoteEP, AsyncCallback callback, Object state)
               at UPnP.Infrastructure.Dv.SSDP.SSDPServerController.StartReceive(UDPAsyncReceiveState state) in D:\Source\Mp\MP-II\Source\System\UPnP\Infrastructure\Dv\SSDP\SSDPServerController.cs:line 353
               at UPnP.Infrastructure.Dv.SSDP.SSDPServerController.StartSSDPEndpoint(EndpointConfiguration config) in D:\Source\Mp\MP-II\Source\System\UPnP\Infrastructure\Dv\SSDP\SSDPServerController.cs:line 299
               at UPnP.Infrastructure.Dv.UPnPServer.InitializeDiscoveryEndpoints() in D:\Source\Mp\MP-II\Source\System\UPnP\Infrastructure\Dv\UPnPServer.cs:line 415
               at UPnP.Infrastructure.Dv.UPnPServer.Bind(Int32 advertisementInterval) in D:\Source\Mp\MP-II\Source\System\UPnP\Infrastructure\Dv\UPnPServer.cs:line 192
               at MediaPortal.ClientCommunication.UPnPMediaServer.Start() in D:\Source\Mp\MP-II\Source\System\MediaPortal.Backend\ClientCommunication\UPnPMediaServer.cs:line 61
               at MediaPortal.Services.BackendServer.BackendServer.Startup() in D:\Source\Mp\MP-II\Source\System\MediaPortal.Backend\Services\BackendServer\BackendServer.cs:line 156
               at MediaPortal.BackendExtension.StartupBackendServices() in D:\Source\Mp\MP-II\Source\System\MediaPortal.Backend\BackendExtension.cs:line 57
               at MediaPortal.ApplicationLauncher.Main(String[] args) in D:\Source\Mp\MP-II\Source\Main\MediaPortal.Server\ApplicationLauncher.cs:line 118

      h4. Additional Information
      At startup, we should check which ones of the IP addresses don't work in for Bind or Receive, and remove them from the collection of available endpoints.

      Attachments

        Activity

          People

            Albert78 Daniel Hoeh (Inactive)
            Albert78 Daniel Hoeh (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: