<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>22849</bug_id>
          
          <creation_ts>2010-01-28 16:59:21 +0300</creation_ts>
          <short_desc>После обновления до 0.15.0-alt0.1.svn4196 перестаёт работать deluge</short_desc>
          <delta_ts>2010-01-29 18:29:18 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>deluge</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eugene Vlasov">eugvv</reporter>
          <assigned_to name="Vladimir Lettiev">crux</assigned_to>
          <cc>crux</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>106097</commentid>
    <comment_count>0</comment_count>
    <who name="Eugene Vlasov">eugvv</who>
    <bug_when>2010-01-28 16:59:21 +0300</bug_when>
    <thetext>После последнего dist-upgrade до текущего Sisyphus перестал работать deluge - не может инициализировать core, ни в классическом режиме, ни при запуске с отдельным демоном. При запуске deluge из xterm выдаёт на консоль следующее:

Traceback (most recent call last):
  File &quot;/usr/lib/python2.6/site-packages/twisted/internet/base.py&quot;, line 374, in fireEvent
    DeferredList(beforeResults).addCallback(self._continueFiring)
  File &quot;/usr/lib/python2.6/site-packages/twisted/internet/defer.py&quot;, line 195, in addCallback
    callbackKeywords=kw)
  File &quot;/usr/lib/python2.6/site-packages/twisted/internet/defer.py&quot;, line 186, in addCallbacks
    self._runCallbacks()
  File &quot;/usr/lib/python2.6/site-packages/twisted/internet/defer.py&quot;, line 328, in _runCallbacks
    self.result = callback(self.result, *args, **kw)
--- &lt;exception caught here&gt; ---
  File &quot;/usr/lib/python2.6/site-packages/twisted/internet/base.py&quot;, line 387, in _continueFiring
    callable(*args, **kwargs)
  File &quot;/usr/lib/python2.6/site-packages/deluge/ui/gtkui/gtkui.py&quot;, line 299, in _on_reactor_start
    component.start()
  File &quot;/usr/lib/python2.6/site-packages/deluge/component.py&quot;, line 210, in start
    _ComponentRegistry.start()
  File &quot;/usr/lib/python2.6/site-packages/deluge/component.py&quot;, line 118, in start
    self.start_component(component)
  File &quot;/usr/lib/python2.6/site-packages/deluge/component.py&quot;, line 125, in start_component
    self.start_component(depend)
  File &quot;/usr/lib/python2.6/site-packages/deluge/component.py&quot;, line 131, in start_component
    self.components[name].start()
  File &quot;/usr/lib/python2.6/site-packages/deluge/core/torrentmanager.py&quot;, line 203, in start
    self.load_state()
  File &quot;/usr/lib/python2.6/site-packages/deluge/core/torrentmanager.py&quot;, line 585, in load_state
    resume_data=resume_data.get(torrent_state.torrent_id))
  File &quot;/usr/lib/python2.6/site-packages/deluge/core/torrentmanager.py&quot;, line 440, in add
    torrent = Torrent(handle, options, state, filename, magnet)
  File &quot;/usr/lib/python2.6/site-packages/deluge/core/torrent.py&quot;, line 132, in __init__
    self.set_trackers(state.trackers)
  File &quot;/usr/lib/python2.6/site-packages/deluge/core/torrent.py&quot;, line 309, in set_trackers
    self.handle.replace_trackers(trackers)
exceptions.TypeError: No registered converter was able to extract a C++ reference to type libtorrent::announce_entry from this Python object of type dict

$ rpm -qa | grep libtorrent-rasterbar  
libtorrent-rasterbar0.15-0.15.0-alt0.1.svn4196
libtorrent-rasterbar0.14-0.14.6-alt1
python-module-libtorrent-rasterbar-0.15.0-alt0.1.svn4196

$ rpm -q deluge                                         
deluge-1.2.0-alt2

Пересборка deluge с новой libtorrent-rasterbar не помогает.
При downgrade libtorrent-rasterbar0.15 и python-module-libtorrent-rasterbar до версии 0.15.0-alt0.1.svn4022.1 работоспособность deluge восстанавливается.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106102</commentid>
    <comment_count>1</comment_count>
    <who name="swi">swi</who>
    <bug_when>2010-01-28 18:22:06 +0300</bug_when>
    <thetext>А что в апстриме делюги про версии libtorrent-rasterbar0.15 говорят?
Понижать то врядли получится.. если только собрать compat какой</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106124</commentid>
    <comment_count>2</comment_count>
    <who name="Vladimir Lettiev">crux</who>
    <bug_when>2010-01-29 10:55:17 +0300</bug_when>
    <thetext>Апстрим deluge для сборки предпочитает использовать стабильный бранч RC_0_14 (это в случае если в с системе во время сборки нет питоньих байндингов к libtorrent). Но в коде присутствуют проверки на минорную версию библиотеки как правило такого вида:
   if lt.version_minor &lt; 15:
Т.о. поддерживаются и 15 версия и 14.

Покопавшись в изменениях libtorrent увидел вот такой коммит: http://git.altlinux.org/people/swi/packages/?p=libtorrent-rasterbar.git;a=commitdiff;h=edd799592782fa6ce186fd1d41e18b0b5eefa6b3

В комментарии говорится &quot;reverted bad python binding change&quot;. Судя по всему тут по какой-то причине произошёл откат процедуры replace_trackers() до того состояния, в котором она была в версии 14.

В коде deluge есть обёртка проверяющая какая версия библиотеки и в соответствии с этим меняется вызов replace_trackers(). Поскольку произошёл откат этой процедуры до состояния, в котором она была в версии 14, то эта обёртка приводит к ошибке.

Я уберу в deluge эту проверку для данной процедуры и попробую повесить баг в апстрим.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106157</commentid>
    <comment_count>3</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2010-01-29 18:29:18 +0300</bug_when>
    <thetext>deluge-1.2.0-alt3 -&gt; sisyphus:

* Fri Jan 29 2010 Vladimir Lettiev &lt;crux@altlinux&gt; 1.2.0-alt3

- Fixed deluged failure with new libtorrent-rasterbar0.15 (Closes: #22849)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>