OSError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions

14,687

I got exact same error when trying to start Visdom server:

OSError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions

The reason was that there was another process using the same port as Visdom wanted to use which in my case is port 8097.

To debug this I followed these steps:

  1. Use TcpView from Sysinternals to find the process using the port.
  2. If the process turns out to be svchost.exe then you need to find the service that uses this port. To do this run the command: `tasklist /svc /FI "PID eq 1234" where replce 1234 from PID you see in TcpView.
  3. Open Windows Services applet and look for this server. In my case this turned out to be "Delivery Optimization" or DOSvc service which basically uses P2P download of Windows Update bits if you are on large network. I turned off that service temporarily and able to open the port again.
Share:
14,687
user1592380
Author by

user1592380

Updated on June 04, 2022

Comments

  • user1592380
    user1592380 about 2 years

    I'm experimenting with the use of Huey as a cross platform task queue . I've found https://github.com/pjcunningham/flask-huey-example , which I've cloned and set up a virtualenv for using conda (I'm working on windows). I've followed the updated readme and have managed to get all three windows running without error.However when I open http://localhost:6060/

    [![enter image description here][2]][2]

    I click on the send button and this breaks the Huey_consumer process :

    $ python ...envs/hueytest1/Scripts/huey_consumer.exe run_huey.huey
    [2018-08-06 10:19:25,949] INFO:huey.consumer:MainThread:Huey consumer started with 1 thread, PID 1704
    [2018-08-06 10:19:25,949] INFO:huey.consumer:MainThread:Scheduler runs every 1 seconds.
    [2018-08-06 10:19:25,949] INFO:huey.consumer:MainThread:Periodic tasks are enabled.
    [2018-08-06 10:19:25,950] INFO:huey.consumer:MainThread:UTC is enabled.
    [2018-08-06 10:19:25,950] INFO:huey.consumer:MainThread:The following commands are available:
    + send_async_email
    + dummy_task
    [2018-08-06 10:19:39,743] INFO:huey.consumer.Worker:Worker-1:Executing queuecmd_send_async_email: ba5e092d-b1de-41cd-8b27-72d11c2b13d8
    [2018-08-06 10:19:40,766] ERROR:huey.consumer.Worker:Worker-1:Unhandled exception in worker thread
    Traceback (most recent call last):
      File "...\envs\hueytest1\lib\site-packages\huey\consumer.py", line 153, in process_task
        self.huey.execute(task)
      File "...\envs\hueytest1\lib\site-packages\huey\api.py", line 271, in execute
        result = task.execute()
      File "...\envs\hueytest1\lib\site-packages\huey\api.py", line 565, in execute
        return func(*args, **kwargs)
      File "E:\ENVS\r3\hueytest1\app\tasks.py", line 23, in send_async_email
        mail.send(msg)
      File "...\envs\hueytest1\lib\site-packages\flask_mail.py", line 491, in send
        with self.connect() as connection:
      File "...\envs\hueytest1\lib\site-packages\flask_mail.py", line 144, in __enter__
        self.host = self.configure_host()
      File "...\envs\hueytest1\lib\site-packages\flask_mail.py", line 158, in configure_host
        host = smtplib.SMTP(self.mail.server, self.mail.port)
      File "...\envs\hueytest1\lib\smtplib.py", line 251, in __init__
        (code, msg) = self.connect(host, port)
      File "...\envs\hueytest1\lib\smtplib.py", line 336, in connect
        self.sock = self._get_socket(host, port, self.timeout)
      File "...\envs\hueytest1\lib\smtplib.py", line 307, in _get_socket
        self.source_address)
      File "...\envs\hueytest1\lib\socket.py", line 724, in create_connection
        raise err
      File "...\envs\hueytest1\lib\socket.py", line 713, in create_connection
        sock.connect(sa)
    OSError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions
    

    How Can I get this working?