Multiple issues in Polly on Fedora 19

Bug #1254974 reported by Kartik Singhal
This bug report is a duplicate of:  Bug #887861: TypeError: unhashable type. Edit Remove
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Polly
Invalid
Undecided
Unassigned

Bug Description

After installing the latest Polly-0.93.11 (pre-alpha 3.11) on Fedora 19 following the instructions at http://rubenerd.com/polly-twitter-fedora/ I am facing multiple issues with Polly resulting in complete loss of functionality.

I launch Polly from terminal, it shows the Add new account wizard. After authorizing with twitter, first time it shows 'Please set a password for your new keyring' in the terminal (doesn't come up in GUI even when Polly is launched from GUI). After setting the keyring it asks to input it, which (always) results in 'ValueError: IV must be 16 bytes long'.

Here's a debug trace after launching from terminal:

[k4rtik ~]$ polly
Polly 0.93.11 (pre-alpha 3.11)
Copyright (C) 2011 Marcelo Hashimoto
cache path: /home/k4rtik/.cache/polly
config path: /home/k4rtik/.config/polly
data home: /home/k4rtik/.local/share/polly
initializing... done
Please set a password for your new keyringDEBUG: k4rtik connected successfully

Password (again):
Please input your password for the keyring
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/keyring/core.py", line 39, in set_password
    _keyring_backend.set_password(service_name, username, password)
  File "/usr/lib/python2.7/site-packages/keyring/backend.py", line 316, in set_password
    password_encrypted = self.encrypt(password.encode('utf-8'))
  File "/usr/lib/python2.7/site-packages/keyring/backend.py", line 456, in encrypt
    crypter = self._init_crypter()
  File "/usr/lib/python2.7/site-packages/keyring/backend.py", line 451, in _init_crypter
    return AES.new(password, AES.MODE_CFB)
  File "/usr/lib64/python2.7/site-packages/Crypto/Cipher/AES.py", line 95, in new
    return AESCipher(key, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/Crypto/Cipher/AES.py", line 59, in __init__
    blockalgo.BlockAlgo.__init__(self, _AES, key, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/Crypto/Cipher/blockalgo.py", line 141, in __init__
    self._cipher = factory.new(key, *args, **kwargs)
ValueError: IV must be 16 bytes long
DEBUG: ASSISTANT DELETED

I do not understand why Assistant gets deleted afterwards. Then I launch Polly again, it again authorizes with twitter but previous keyring can be used now:

[k4rtik ~]$ polly
Polly 0.93.11 (pre-alpha 3.11)
Copyright (C) 2011 Marcelo Hashimoto
cache path: /home/kasingha/.cache/polly
config path: /home/kasingha/.config/polly
data home: /home/kasingha/.local/share/polly
initializing... done
Please input your password for the keyringDEBUG: k4rtik connected successfully

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/keyring/core.py", line 39, in set_password
    _keyring_backend.set_password(service_name, username, password)
  File "/usr/lib/python2.7/site-packages/keyring/backend.py", line 316, in set_password
    password_encrypted = self.encrypt(password.encode('utf-8'))
  File "/usr/lib/python2.7/site-packages/keyring/backend.py", line 456, in encrypt
    crypter = self._init_crypter()
  File "/usr/lib/python2.7/site-packages/keyring/backend.py", line 451, in _init_crypter
    return AES.new(password, AES.MODE_CFB)
  File "/usr/lib64/python2.7/site-packages/Crypto/Cipher/AES.py", line 95, in new
    return AESCipher(key, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/Crypto/Cipher/AES.py", line 59, in __init__
    blockalgo.BlockAlgo.__init__(self, _AES, key, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/Crypto/Cipher/blockalgo.py", line 141, in __init__
    self._cipher = factory.new(key, *args, **kwargs)
ValueError: IV must be 16 bytes long
DEBUG: ASSISTANT DELETED
Exception in thread Thread-13:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/site-packages/polly/__init__.py", line 241, in run
    self.callback(*self.args)
  File "/usr/lib/python2.7/site-packages/polly/twitter/realtime.py", line 421, in _buffer_loop
    del data[:]
TypeError: unhashable type

DEBUG: STREAM DELETED
DEBUG: STREAM DELETED
DEBUG: STREAM DELETED
^C

After posting a test tweet, 'TypeError: unhashable type' appears followed by Stream Deleted. I quit Polly at this stage using File->Exit, but the process doesn't quit even after Ctrl-C.

Each time I start Polly, it starts off with the Add New Account wizard forgetting previous settings/auth details.

description: updated
Revision history for this message
Conscious User (conscioususer) wrote :

The python-keyring library is not finding GNOME-Keyring and falling back to its own encryption scheme instead. Make sure GNOME-Keyring is running and that the package gnome-python2-gnomekeyring is installed.

Changed in polly:
status: New → Invalid
Revision history for this message
Kartik Singhal (kartiksinghal) wrote :

After installing the package you mentioned, it finally started working. Thanks!

I think the README or install instructions should mention about the dependency on the package.

But graceful quit is still a problem. The following is after I do a Ctrl+Q in Polly.

[k4rtik@ ~]$ polly
Polly 0.93.11 (pre-alpha 3.11)
Copyright (C) 2011 Marcelo Hashimoto
cache path: /home/kasingha/.cache/polly
config path: /home/kasingha/.config/polly
data home: /home/kasingha/.local/share/polly
initializing... done
DEBUG: k4rtik connected successfully
Exception in thread Thread-13:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/site-packages/polly/__init__.py", line 241, in run
    self.callback(*self.args)
  File "/usr/lib/python2.7/site-packages/polly/twitter/realtime.py", line 421, in _buffer_loop
    del data[:]
TypeError: unhashable type

^C

^C^C^C

It doesn't launch again (processes start but not the GUI) unless you kill it manually. There is still some serious problem.

Revision history for this message
Conscious User (conscioususer) wrote :

This second issue is a duplicate of Bug #887861.

Revision history for this message
Kartik Singhal (kartiksinghal) wrote :

I am facing more problem probably related to that bug. The timeline refreshes just once, with a gnome 3 notification and then it never refreshes again. Not even after I send a new tweet. Here's the debug trace:

[kasingha@OrclFed ~]$ polly
Polly 0.93.11 (pre-alpha 3.11)
Copyright (C) 2011 Marcelo Hashimoto
cache path: /home/kasingha/.cache/polly
config path: /home/kasingha/.config/polly
data home: /home/kasingha/.local/share/polly
initializing... done
DEBUG: k4rtik connected successfully
Exception in thread Thread-15:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 811, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/site-packages/polly/__init__.py", line 241, in run
    self.callback(*self.args)
  File "/usr/lib/python2.7/site-packages/polly/twitter/realtime.py", line 421, in _buffer_loop
    del data[:]
TypeError: unhashable type

And, back to square one, total loss of service. :-/

Revision history for this message
Conscious User (conscioususer) wrote :

This is a duplicate report, please do not add any more comments to it.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.