Bug 1381214 - Missing plugin dependencies can make gajim unusable
Summary: Missing plugin dependencies can make gajim unusable
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: gajim
Version: 24
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Michal Schmidt
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-10-03 12:39 UTC by Grégoire
Modified: 2020-11-28 07:30 UTC (History)
4 users (show)

Fixed In Version: gajim-0.16.6-1.fc24 gajim-0.16.7-1.fc24
Clone Of:
Environment:
Last Closed: 2017-02-15 03:18:46 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Grégoire 2016-10-03 12:39:00 UTC
Description of problem:
I installed gajim through dnf and then used the built-in plugin manager to install the omemo plugin. Apparently this plugin depends on the axolotl python library which is not available in fedora (as far as I can see).
When trying to install the OMEMO plugin, the installation doesn't seem to go through (the plugin doesn't appear in the list of installed plugins) but there was no error message and gajim continues to work correctly.
After quitting gajim, it won't start anymore because of the missing dependency.

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

How reproducible: reproducible


Steps to Reproduce:
1. Start gajim
2. Click on Edit > Plugins
3. Click on tab Available
4. Check the box next to OMEMO and click "Install/Upgrade"
5. Once the installation completes, quite gajim (note: it's not enough to close the roster windows) and try to restart it.

Actual results:
Gajim doesn't start

Expected results:
Gajim starts

Additional info:
If I try to start it from a terminal, it gives me the following traceback (which is how I discovered what was the missing dependency):

Traceback (most recent call last):
  File "gajim.py", line 533, in <module>
    interface.run()
  File "/usr/share/gajim/src/gui_interface.py", line 2733, in run
    gajim.plugin_manager = plugins.PluginManager()
  File "/usr/share/gajim/src/plugins/helpers.py", line 129, in __call__
    cls.instance=super(Singleton, cls).__call__(*args,**kw)
  File "/usr/share/gajim/src/plugins/pluginmanager.py", line 104, in __init__
    pc = PluginManager.scan_dir_for_plugins(path)
  File "/usr/share/gajim/src/plugins/helpers.py", line 114, in wrapper
    result = f(*args, **kwargs)
  File "/usr/share/gajim/src/plugins/pluginmanager.py", line 476, in scan_dir_for_plugins
    if not issubclass(module_attr, GajimPlugin) or \
  File "/usr/share/gajim/src/common/demandimport.py", line 86, in __getattribute__
    self._load()
  File "/usr/share/gajim/src/common/demandimport.py", line 58, in _load
    mod = _origimport(head, globals, locals)
ImportError: No module named axolotl

Comment 1 Grégoire 2016-10-03 12:42:08 UTC
If anyone has the same issue, a workaround is to manually delete the omemo plugin which is actually installed despite what the plugin manager says. The following worked for me:

    rm -rf ~/.local/share/gajim/plugins/omemo

Comment 2 Michal Schmidt 2016-10-03 15:33:00 UTC
Gajim 0.16.6 has a few fixes that should make it more resistant to tracebacks from plugins. Here's a build for F24:
http://koji.fedoraproject.org/koji/buildinfo?buildID=806534

Comment 3 Michal Schmidt 2016-10-03 15:40:31 UTC
And a submitted update:
https://bodhi.fedoraproject.org/updates/gajim-0.16.6-1.fc24

Comment 4 Fedora Update System 2016-10-05 02:26:34 UTC
gajim-0.16.6-1.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-5cf1ef1b53

Comment 5 Christian Dersch 2016-10-06 11:34:06 UTC
FYI: I created review requests for the axolotl stuff, so hopefully we can use OMEMO soon (works fine here): 
https://bugzilla.redhat.com/show_bug.cgi?id=1382332
https://bugzilla.redhat.com/show_bug.cgi?id=1382333

Comment 6 Fedora Update System 2016-10-09 06:20:46 UTC
gajim-0.16.6-1.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.

Comment 7 Grégoire 2016-10-12 13:08:03 UTC
Thanks for the quick response! I just updated from the stable repository and it seems that the problem is still there: I still cannot start gajim after having installed OMEMO.

Comment 8 Michal Schmidt 2016-10-12 14:57:49 UTC
Does it still produce a traceback in the terminal? Does it look different from before? Please paste it here.

Comment 9 Michal Schmidt 2016-10-12 14:59:38 UTC
Ignore comment #8. I reproduced it now too.

Comment 10 Michal Schmidt 2017-02-06 18:23:12 UTC
In Gajim 0.16.7 upstream finally dropped the 'demandimport' module. This bug should not longer appear with that version.

Comment 11 Fedora Update System 2017-02-06 18:43:11 UTC
python-nbxmpp-0.5.5-1.fc24 gajim-0.16.7-1.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2017-e935fe93cf

Comment 12 Fedora Update System 2017-02-07 10:50:26 UTC
gajim-0.16.7-1.fc24, python-nbxmpp-0.5.5-1.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-e935fe93cf

Comment 13 Fedora Update System 2017-02-15 03:18:46 UTC
gajim-0.16.7-1.fc24, python-nbxmpp-0.5.5-1.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.


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