Posted on Dec 4, 2009

Deluge 1.1.9 and zlib crash

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.

Comments