in Tribler 4.1.5 on Windows a nasty concurrency problem shows itself which causes the network thread to hang for minutes at a time, also burning the CPU. May also occur on Mac.
The problem is caused by some lack of insight on the part of one of the original authors of ABC, the package on which Tribler is based, and the Python developers, the language in which Tribler is written. Why it didn't surface in earlier versions I don't know.
In detail:
The problem turns out to be that when opening a new connection, the network thread calls the socket.getaddrinfo() function (=DNS resolve), as apparently the input sometimes is a hostname. At the same time the tracker thread uses this same function to resolve the tracker name to an IP address. However,
this method appears to have some concurrency control protection that allows only 1 request at a time.
It seems that resolving the tracker name takes a very long time for some reason, meanwhile blocking the network thread. And that only wanted to resolve some IP address to some IP address, i.e., do nothing!
Will be fixed in 4.1.6 to be released ASAP.