OSError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions
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?
Solution 1:
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:
- Use TcpView from Sysinternals to find the process using the port.
- 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.
- 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.