I'm getting the above error message when I try and run the daemon. It also states "error read in tcp s". Can anyone explain how to fix this? Thanks.

  • 1
    Possibly because the ports that the daemon is trying use are already used by other programs, or because it's blocked by a firewall/antivirus. Windows or linux?
    – assylias
    Jan 27, 2017 at 18:41

2 Answers 2


There are two main reasons a program can not bind to a socket:

  • the port is already used: typically, for the Monero daemon, this means another monerod is already running. You can check whether monerod is running by looking at the process list (ps, top, or other tool), or whether monerod or another program is already bound on that socket using netstat -ntpa (flags may vary based on netstat variant used). The fix for this is to stop the program currently using that port, and try again (or, if it's already monerod, do nothing, since it's already running)

  • the kernel or other software controls binding and denies the attempt: this happens on Windows, where firewall and/or antivirus software can be set to prevent software (or unprivileged users) from setting up a server process on the machine, or on Linux (and maybe Windows) when trying to find to a privileged port (below 1024). monerod's default P2P port is not privileged, however, but Windows might have different rules for this. The fix for this is to configure the kernel/firewall/antivirus to allow such access.


trying releasing all the binds by running the following in a command prompt

net stop winnat
net start winnat 

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.