Discussion:
[libtorrent] Deadlock type behaviour
Maran
2016-10-03 10:34:32 UTC
Permalink
Hi,

I'm debugging deadlocked Deluge instances across my cluster and the thread I'm currently on seems to imply Libtorrent is at fault but I have a hard time finding any hard evidence so I could use your help.

This issue occurs with all Deluge versions tested from 1.3.6 to 1.3.13 and Libtorrent 0.16.x and 1.0.x.

Whenever a certain number of https trackers are added to Deluge the daemon will lock during startup or shutdown. Whenever I remove all https trackers or switch them to http the problem goes away. It seems that the Deluge daemon code always locks on calls to Libtorrent.

For instance when shutting down the daemon these are the last debug lines I'm getting from Libtorrent:

00:00:03.115: f4e8b2: *** announce with tracker: considering "" [ announce_to_all_tiers: 0 announce_to_all_trackers: 0 i->tier: 0 tier: 2147483647 is_working: 1 fails: 0 fail_limit: 0 updating: 0 can_announce: 1 sent_announce: 0 ]

00:00:03.115: f4e8b2: ==> TRACKER REQUEST "<removed>" event: stopped abort: 0

00:00:03.115: f4e8b2: ==> TRACKER_REQUEST [ url: https://<removed>?info_hash=<REMOVED>&peer_id=-DE13C0-swwwMQ2UlTXb&port=51483&uploaded=0&downloaded=0&left=0&corrupt=0&key=<REMOVED>&event=stopped&numwant=0&compact=1&no_peer_id=1&supportcrypto=1&redundant=0 ]

After that nothing happens and I have to -9 the process.

To be honest I don't have a lot of experience debugging big libraries like these so I could use some pointers on where to go from here.

I would appreciate any hints you could give me.

Maran

Loading...