GGist / bip-rs

BitTorrent Infrastructure Project In Rust
Apache License 2.0
296 stars 33 forks source link

Unable to run bip_dht example #121

Closed adamhammes closed 7 years ago

adamhammes commented 7 years ago

When I run the bip_dht example (debug.rs), I get output like the following (just showing the tail end):

INFO - bip_dht: bootstrap::send_bootstrap_requests 154
INFO - bip_dht: bootstrap::send_bootstrap_requests 155
INFO - bip_dht: bootstrap::send_bootstrap_requests 156
INFO - bip_dht: bootstrap::send_bootstrap_requests 157
INFO - bip_dht: bootstrap::send_bootstrap_requests 158
INFO - bip_dht: bootstrap::send_bootstrap_requests 159
WARN - bip_dht: Bootstrap attempt 3 failed, attempting a rebootstrap...

Received Dht Event ShuttingDown(BootstrapFailed)
INFO - bip_dht: Outgoing messenger received a channel hangup, exiting thread...
ERROR - bip_dht: Failed to send a wake up message to the incoming channel...
INFO - bip_dht: DhtHandler gracefully shut down, exiting thread...

I found the corresponding error line, but don't know enough to interpret it.

I am running Windows 10, in case that's relevant. I double checked to verify that the program was allowed through the firewall.

GGist commented 7 years ago

@adamhammes Are you running with the latest commit that uses the uTorrent bootstrap server? If you are, can try some of the other bootstrap servers (via the Router enum)?

I am running Windows 10 myself and was able to get enough responses to finish bootstrapping using the uTorrent boostrap server.

Another thing to note, I have been on some networks (university networks specifically) that will filter bittorrent dht packets, so something like that may be happening. To test that you should be able to use something like Deluge to see if it is able to contact dht nodes.

adamhammes commented 7 years ago

🤦 It was the university network. Just tried at the mall and it worked like a charm.

Sorry to bother you with this (somewhat trivial issues). I do appreciate your preternatural ability to figure out what's wrong.