Bug 23052 - python-twisted broke compatibility with python-attrs
Summary: python-twisted broke compatibility with python-attrs
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 6
Hardware: x86_64 Linux
Priority: Normal critical
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL:
Whiteboard: MGA6-32-OK MGA6-64-OK
Keywords: advisory, validated_update
Depends on:
Blocks:
 
Reported: 2018-05-18 21:46 CEST by Václav Nováček
Modified: 2018-12-20 21:18 CET (History)
9 users (show)

See Also:
Source RPM: python-attrs-15.2.0-1.mga6
CVE:
Status comment:


Attachments

Description Václav Nováček 2018-05-18 21:46:56 CEST
Description of problem:
The new python-twisted-17.5.0-1.mga6 update broke compatibility with the python-attrs-15.2.0-1.mga6
You need either update to python-attrs-17.4.0 or downgrade to python-twisted-16.3.2 

Version-Release number of selected component (if applicable):


How reproducible:
Install latest updates for Mageia 6

Steps to Reproduce:
1. install both packages and deluged
2. enable deluge webui plugin and start deluged
3. you will see...

]$ deluged -d
[ERROR   ] 21:09:36 init:50 Unable to enable plugin!
[ERROR   ] 21:09:36 init:51 attributes() got an unexpected keyword argument 'frozen'
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/deluge/plugins/init.py", line 48, in enable
    self.plugin.enable()
  File "/usr/lib/python2.7/site-packages/deluge/plugins/WebUi-0.1-py2.7.egg/webui/core.py", line 59, in enable
    self.start()
  File "/usr/lib/python2.7/site-packages/deluge/plugins/WebUi-0.1-py2.7.egg/webui/core.py", line 89, in start
    from deluge.ui.web import server
  File "/usr/lib/python2.7/site-packages/deluge/ui/web/server.py", line 51, in <module>
    from twisted.application import service, internet
  File "/usr/lib64/python2.7/site-packages/twisted/application/internet.py", line 54, in <module>
    from automat import MethodicalMachine
  File "/usr/lib/python2.7/site-packages/automat/__init__.py", line 2, in <module>
    from ._methodical import MethodicalMachine
  File "/usr/lib/python2.7/site-packages/automat/_methodical.py", line 34, in <module>
    @attr.s(frozen=True)
TypeError: attributes() got an unexpected keyword argument 'frozen'
Comment 1 David GEIGER 2018-05-19 06:03:08 CEST
Hi, thanks for your report!

python-attrs-17.4.0-1.mga6 is now available on Core/Updates_testing repo.

Please test if now all is ok, thanks in advance!

CC: (none) => geiger.david68210

Comment 2 Marja Van Waes 2018-05-19 08:55:26 CEST
(In reply to David GEIGER from comment #1)
> Hi, thanks for your report!
> 
> python-attrs-17.4.0-1.mga6 is now available on Core/Updates_testing repo.
> 
> Please test if now all is ok, thanks in advance!

Thanks, David :-)

So assigning to you and CC'ing the registered maintainer and the python group.

Assignee: bugsquad => geiger.david68210
Summary: python-twisted broke compatibility => python-twisted broke compatibility with python-attrs
CC: (none) => makowski.mageia, marja11, python

Comment 3 Václav Nováček 2018-05-19 12:00:09 CEST
Thank you David for your quick response.
It works now!
Comment 4 David GEIGER 2018-05-30 05:33:55 CEST

Assigning to QA,


Advisory:
=============================

Since new python-twisted-17.5.0-1.mga6 update a regression was found with python-attrs.
So this update fixes this issue.



Packages in 6/core/updates_testing:
========================
python-attrs-17.4.0-1.mga6.noarch.rpm
python3-attrs-17.4.0-1.mga6.noarch.rpm

Source RPM: 
========================
python-attrs-17.4.0-1.mga6.src.rpm

Assignee: geiger.david68210 => qa-bugs

Comment 5 Len Lawrence 2018-06-02 09:10:19 CEST
Mageia 6, x86_64

Before the update:
Ran deluge and tried to enable webui plugin by checking the edit -> preferences -> Plug-ins -> WebUi box and hitting Apply.

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/deluge/ui/gtkui/preferences.py", line 878, in on_button_apply_clicked
    self.set_config()
  File "/usr/lib/python2.7/site-packages/deluge/ui/gtkui/preferences.py", line 742, in set_config
    component.get("PluginManager").run_on_apply_prefs()
  File "/usr/lib/python2.7/site-packages/deluge/ui/gtkui/pluginmanager.py", line 114, in run_on_apply_prefs
    function()
  File "/usr/lib/python2.7/site-packages/deluge/plugins/WebUi-0.1-py2.7.egg/webui/gtkui.py", line 65, in on_apply_prefs
AttributeError: 'GtkUI' object has no attribute 'have_web'

$ deluged -d
:0: UserWarning: You do not have a working installation of the service_identity module: 'No module named service_identity'.  Please install it from <https://pypi.python.org/pypi/service_identity> and make sure all of its dependencies are satisfied.  Without the service_identity module, Twisted can perform only rudimentary TLS client hostname verification.  Many valid certificate/hostname mappings may be rejected.

CC: (none) => tarazed25

Comment 6 Len Lawrence 2018-06-02 09:18:28 CEST
Addendum to comment 5:
/usr/lib/python2.7/site-packages/deluge/plugins/WebUi-0.1-py2.7.egg/webui/gtkui.py
That file does not exist.
The heirarchy stops at /usr/lib/python2.7/site-packages/deluge/plugins/
$ ls
AutoAdd-1.5-py2.7.egg    __init__.pyc                 pluginbase.py
Blocklist-1.3-py2.7.egg  init.pyc                     pluginbase.pyc
Execute-1.3-py2.7.egg    __init__.pyo                 pluginbase.pyo
Extractor-0.6-py2.7.egg  init.pyo                     Scheduler-0.3-py2.7.egg
__init__.py              Label-0.2-py2.7.egg          WebUi-0.1-py2.7.egg
init.py                  Notifications-0.2-py2.7.egg
$ ll WebUi-0.1-py2.7.egg
-rw-r--r-- 1 root root 11303 May 17  2017 WebUi-0.1-py2.7.egg
Comment 7 Len Lawrence 2018-06-07 16:52:37 CEST
Re comment 5 re no service-identity module.
Installed python-pip and ran
# pip install service-identity
which seemed to work OK.
"Successfully installed pyasn1-modules-0.2.1 service-identity-17.0.0"

$ deluged -d
:0: UserWarning: You do not have a working installation of the service_identity module: 'cannot import name opentype'.  Please install it from <https://pypi.python.org/pypi/service_identity> and make sure all of its dependencies are satisfied.  Without the service_identity module, Twisted can perform only rudimentary TLS client hostname verification.  Many valid certificate/hostname mappings may be rejected.
Len Lawrence 2018-06-19 20:48:17 CEST

Keywords: (none) => feedback

Comment 8 Herman Viaene 2018-07-14 12:02:05 CEST
MGA6-32 MATE on IBM Thinkpad R50e
No immediate installation issues.
First followed Len's steps above and got no further initially.
Googled on the error 'cannot import name opentype' and found https://stackoverflow.com/questions/47600597/import-error-cannot-import-name-opentype
Tried
# pip install --upgrade google-auth-oauthlib
Collecting google-auth-oauthlib
  Downloading https://files.pythonhosted.org/packages/46/df/d1f94ee2cffe5a83721f262efe51f3b2dcdd3b616caf007b8490e824c550/google_auth_oauthlib-0.2.0-py2.py3-none-any.whl
Collecting requests-oauthlib>=0.7.0 (from google-auth-oauthlib)
  Downloading https://files.pythonhosted.org/packages/94/e7/c250d122992e1561690d9c0f7856dadb79d61fd4bdd0e598087dce607f6c/requests_oauthlib-1.0.0-py2.py3-none-any.whl
Collecting google-auth (from google-auth-oauthlib)
and more, and at the end
Installing collected packages: urllib3, idna, certifi, chardet, requests, oauthlib, requests-oauthlib, six, cachetools, pyasn1, rsa, google-auth, google-auth-oauthlib
  Found existing installation: idna 2.1
    Uninstalling idna-2.1:
      Successfully uninstalled idna-2.1
  Found existing installation: chardet 2.3.0
    Uninstalling chardet-2.3.0:
      Successfully uninstalled chardet-2.3.0
  Found existing installation: six 1.10.0
    Uninstalling six-1.10.0:
      Successfully uninstalled six-1.10.0
  Found existing installation: pyasn1 0.1.9
    Uninstalling pyasn1-0.1.9:
      Successfully uninstalled pyasn1-0.1.9
Successfully installed cachetools-2.1.0 certifi-2018.4.16 chardet-3.0.4 google-auth-1.5.0 google-auth-oauthlib-0.2.0 idna-2.7 oauthlib-2.1.0 pyasn1-0.4.3 requests-2.19.1 requests-oauthlib-1.0.0 rsa-3.4.2 six-1.11.0 urllib3-1.23
Now launching deluge as
$ deluged -d
returns no errors, nothing. OK, Ctrl-C to stop it, start deluge from the menu, that application looks OK, but I have no idea how to proceed further, and I don't have the time today anymore to look for some tutorial.

CC: (none) => herman.viaene

Comment 9 Len Lawrence 2018-10-01 13:17:27 CEST
Taking note of Herman's research in comment 8 and applying his tip I finally persuaded deluged to start.  deluge works from the applications menu but I lack expertise in starting torrents.

Since both 32-bit and 64-bit versions of deluged and deluge can be started this update may be OK.
Len Lawrence 2018-10-04 08:58:52 CEST

Whiteboard: (none) => MGA6-64-OK

Comment 10 nathan giovannini 2018-12-16 10:53:29 CET
Tested I didn't notice any problems.

Keywords: (none) => validated_update
Whiteboard: MGA6-64-OK => MGA6-32-OK MGA6-64-OK
CC: (none) => nathan95, sysadmin-bugs

Comment 11 Lewis Smith 2018-12-19 12:11:25 CET
@Len: would you say that if you have deluge[d] installed but not working as per comment 0 BEFORE the update, with python[3]-attrs-15.2.0-1 ;
then updating just this to python[3]-attrs-17.4.0-1 resolves it? Comment 3 says so.
All the wrestling you & Herman had to get deluge[d] running at all looks like a diversion from just this update.

(In reply to nathan giovannini from comment #10)
> Tested I didn't notice any problems.
Could you please describe *what* you tested? Did you start from before the update with the error reported? Or get everything working directly with the updated package?
I am doing the advisory from comment 4. I think the update is good, and look to someone (myself included) removing the 'feedback' marker following replies to this comment.

CC: (none) => lewyssmith
Keywords: (none) => advisory

Comment 12 Len Lawrence 2018-12-19 17:44:31 CET
@Lewis re comment 11.
I think the answer is yes - the update resolves it.  And I agree that the python-egg/service identity stuff was essentially a diversion to get deluge working and not part of the update.  My initial testing was before the update where deluge failed to launch, possibly as much because of the lack of service identity as because of the bug.  So that was a bit cloudy.  Afterwards the service identity check succeeded, allowing the deluge service to start, which reinforces comment 3.  The uncertainty about reproducing the bug remains.

It looks like the bug is fixed anyway.
Lewis Smith 2018-12-20 09:48:12 CET

Keywords: feedback => (none)

Comment 13 Mageia Robot 2018-12-20 21:18:22 CET
An update for this issue has been pushed to the Mageia Updates repository.

https://advisories.mageia.org/MGAA-2018-0184.html

Status: NEW => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.