Today I've rebooted my home-server and I discovered that deluged crashed at boot.
[ERROR ] 11:43:01 main:207 can't decompress data; zlib not available Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/deluge/main.py", line 204, in start_daemon Daemon(options, args) File "/usr/lib/python2.6/site-packages/deluge/core/daemon.py", line 56, in __init__ self.core = Core(options.port).run() File "/usr/lib/python2.6/site-packages/deluge/core/core.py", line 239, in run component.start() File "/usr/lib/python2.6/site-packages/deluge/component.py", line 198, in start _ComponentRegistry.start() File "/usr/lib/python2.6/site-packages/deluge/component.py", line 118, in start self.start_component(component) File "/usr/lib/python2.6/site-packages/deluge/component.py", line 125, in start_component self.start_component(depend) File "/usr/lib/python2.6/site-packages/deluge/component.py", line 125, in start_component self.start_component(depend) File "/usr/lib/python2.6/site-packages/deluge/component.py", line 130, in start_component self.components[name].start() File "/usr/lib/python2.6/site-packages/deluge/core/pluginmanager.py", line 69, in start self.enable_plugins() File "/usr/lib/python2.6/site-packages/deluge/pluginmanagerbase.py", line 84, in enable_plugins self.enable_plugin(name) File "/usr/lib/python2.6/site-packages/deluge/pluginmanagerbase.py", line 126, in enable_plugin egg.activate() File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2149, in activate self.insert_on(path) File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2252, in insert_on self.check_version_conflict() File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2291, in check_version_conflict for modname in self._get_metadata('top_level.txt'): File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2143, in _get_metadata for line in self.get_metadata_lines(name): File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 1144, in get_metadata_lines return yield_lines(self.get_metadata(name)) File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 1136, in get_metadata return self._get(self._fn(self.egg_info,name)) File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 1201, in _get return self.loader.get_data(path) ZipImportError: can't decompress data; zlib not available Exception in thread Thread-1 (most likely raised during interpreter shutdown): Traceback (most recent call last): File "/usr/lib/python2.6/threading.py", line 525, in __bootstrap_inner File "/usr/lib/python2.6/site-packages/deluge/core/preferencesmanager.py", line 451, in run File "/usr/lib/python2.6/urllib.py", line 1228, in quote_plus File "/usr/lib/python2.6/urllib.py", line 1217, in quote <type 'exceptions.TypeError'>: 'NoneType' object is not callable Unhandled exception in thread started by Error in sys.excepthook:
There's an easy workaround to solve this issue, that consists in editing /usr/bin/deluged as follows:
--- deluged.old 2009-12-04 12:44:38.000000000 +0100 +++ /usr/bin/deluged 2009-12-04 12:00:52.000000000 +0100 @@ -2,6 +2,7 @@ # EASY-INSTALL-ENTRY-SCRIPT: 'deluge==1.1.9','console_scripts','deluged' __requires__ = 'deluge==1.1.9' import sys +import zlib from pkg_resources import load_entry_point sys.exit(
I asked the guys upstream and I've been told that it's currently already fixed in the new 1.2.0 rc4. Since this problem seems not to be reproducible on every system, this is still a dirty (working) fix.