Opened 8 years ago

Closed 8 years ago

#2895 closed bug (Fixed)

Daemon deadlocks on start-up/shutdown when using SSL trackers

Reported by: Animazing Owned by:
Priority: minor Milestone: not applicable
Component: Unknown Version: 1.3.13
Keywords: ssl Cc: etienne@edechamps.fr

Description

Hi guys,

I have been trying to diagnose a problem happening over multiple Deluge and Libtorrent versions but I'm getting stuck and could use some pointers.

Since a week or so I have multiple Deluge instances locking up on multiple servers (all Ubuntu 14.04) when the clients are using SSL trackers. It will either get stuck during boot or during shutdown. I could only replicate it with more then 3 torrents, with just one or two nothing happened.

sed-ing all the https announce urls to http solves it.

This happens on Deluge 1.3.6 to 1.3.13 and libtorrent 0.16.x to 1.0.1. Since it happens on almost every combination possible I'm assuming there is something else on my servers interfering with the normal operation. I did notice an unattended upgrade for openssl but even when downgrading the problems kept happening.

Any hints as to how to debug this further would be greatly welcomed.

Change History (6)

comment:1 by Animazing, 8 years ago

Last 50 or so lines with tracing: http://pastebin.com/V33CWPG0

comment:2 by m!nus, 8 years ago

The issue only happens with PyOpenSSL 16.1, <=16.0 works. A call to openssl originating from libtorrent somehow ends up returning to Python code and deadlocking on the GIL (probably).

comment:3 by Etienne Dechamps, 8 years ago

I hit the same issue - couldn't start one of my instances which had many torrents using SSL trackers. Thanks m!nus for providing a workaround - I can indeed confirm that downgrading PyOpenSSL from 16.1 to 16.0 fixes the issue.

comment:4 by Etienne Dechamps, 8 years ago

Cc: etienne@edechamps.fr added

comment:5 by Calum, 8 years ago

Milestone: needs verifiednot applicable
Version: other (please specify)1.3.13

comment:6 by Calum, 8 years ago

Resolution: Fixed
Status: newclosed
Note: See TracTickets for help on using tickets.