Bug report #16238
Loading a plugin that adds to the processing plugin does not work correctly
Status: | Closed | ||
---|---|---|---|
Priority: | Normal | ||
Assignee: | Victor Olaya | ||
Category: | Processing/Core | ||
Affected QGIS version: | master | Regression?: | No |
Operating System: | Easy fix?: | No | |
Pull Request or Patch supplied: | No | Resolution: | not reproducable |
Crashes QGIS or corrupts data: | No | Copied to github as #: | 24148 |
Description
Loading a plugin that adds to the processing plugin leads to a keyerror:
Traceback (most recent call last): File "/home/ajolma/usr/share/qgis/python/plugins/processing/gui/ProcessingToolbox.py", line 320, in addProvider providerItem = TreeProviderItem(provider_id, self.algorithmTree, self) File "/home/ajolma/usr/share/qgis/python/plugins/processing/gui/ProcessingToolbox.py", line 383, in __init__ self.populate() File "/home/ajolma/usr/share/qgis/python/plugins/processing/gui/ProcessingToolbox.py", line 395, in populate provider = algList.algs[self.provider_id] KeyError: 'perl'
This is probably due to a bug in core/alglist.py, where the provider is added to processing registry before adding it to the algs hash, leading to a chicken-and-egg type of problem.
The bug is not fatal since the plugin gets loaded and once it is activated in the processing options (a deactivate - activate cycle is needed), it is ok.
In addition, I did not get the _loadAlgorithms method of the provider to execute via any other way than through an unload-load-deactivate-activate cycle.
History
#1 Updated by Ari Jolma over 7 years ago
I forgot to mention that the plugin initially loads ok. This bug happens only when one unloads + loads the plugin, which I had to do to invoke the refreshing of the algorithm list.
#2 Updated by Giovanni Manghi over 7 years ago
- Easy fix? set to No
- Regression? set to No
#3 Updated by Alexander Bruy almost 7 years ago
- Description updated (diff)
- Status changed from Open to Feedback
Still true in latest master?
#4 Updated by Giovanni Manghi over 6 years ago
- Status changed from Feedback to Closed
- Resolution set to not reproducable
Closing for lack of feedback, please reopen if necessary.
#5 Updated by Arnaud Morvan over 6 years ago
There is no more "algList" in source code, registry should be used everywhere now, so this should not append anymore.