Bug report #18807
Enabling/disabling algorithm providers as well as creating/removing preconfigured algorithms causes an infinite loop (regression after c83261395476b62f6)
| Status: | Closed | ||
|---|---|---|---|
| Priority: | High | ||
| Assignee: | |||
| Category: | Processing/Core | ||
| Affected QGIS version: | 2.18.19 | Regression?: | Yes |
| Operating System: | Easy fix?: | No | |
| Pull Request or Patch supplied: | No | Resolution: | fixed/implemented |
| Crashes QGIS or corrupts data: | No | Copied to github as #: | 26693 |
Description
Since c83261395476b62f6, adding or removing preconfigured algorithms leads to a loop that causes an exception:
Traceback (most recent call last):
File "C:/PROGRA~1/QGIS2~1.18/apps/qgis-ltr/./python/plugins\processing\gui\ProcessingToolbox.py", line 163, in updateProvider
item.refresh()
File "C:/PROGRA~1/QGIS2~1.18/apps/qgis-ltr/./python/plugins\processing\gui\ProcessingToolbox.py", line 377, in refresh
Processing.updateAlgsList()
File "C:/PROGRA~1/QGIS2~1.18/apps/qgis-ltr/./python/plugins\processing\core\Processing.py", line 184, in updateAlgsList
Processing.reloadProvider(p.getName())
File "C:/PROGRA~1/QGIS2~1.18/apps/qgis-ltr/./python/plugins\processing\core\Processing.py", line 189, in reloadProvider
algList.reloadProvider(providerName)
File "C:/PROGRA~1/QGIS2~1.18/apps/qgis-ltr/./python/plugins\processing\core\alglist.py", line 55, in reloadProvider
p.loadAlgorithms()
File "C:/PROGRA~1/QGIS2~1.18/apps/qgis-ltr/./python/plugins\processing\core\AlgorithmProvider.py", line 56, in loadAlgorithms
self._loadAlgorithms()
File "C:/PROGRA~1/QGIS2~1.18/apps/qgis-ltr/./python/plugins\processing\modeler\ModelerOnlyAlgorithmProvider.py", line 53, in _loadAlgorithms
self.algs = [CalculatorModelerAlgorithm(),
File "C:/PROGRA~1/QGIS2~1.18/apps/qgis-ltr/./python/plugins\processing\core\GeoAlgorithm.py", line 88, in __init__
self.defineCharacteristics()
File "C:/PROGRA~1/QGIS2~1.18/apps/qgis-ltr/./python/plugins\processing\modeler\CalculatorModelerAlgorithm.py", line 54, in defineCharacteristics
self.tr('Formula', 'CalculatorModelerAlgorithm'), ''))
RuntimeError: maximum recursion depth exceeded
What worse, this exception is recurrent, making QGIS unusable until it's killed.
Associated revisions
remove algorithm refresh after processing configuration changes (was a NOOP before c83261395 and now causes an endless recursion; fixes #18807)
History
#1
Updated by Borys Jurgiel over 7 years ago
- Description updated (diff)
#2
Updated by Borys Jurgiel over 7 years ago
It happens when the algorithm list is refreshed after adding or removing a preconfigred algorithm (and probably any other item).
#3
Updated by Borys Jurgiel over 7 years ago
The same after enabling or disabling algorithm providers in the Processing options dialog.
#4
Updated by Borys Jurgiel over 7 years ago
- Subject changed from Creating/removing preconfigured algorithms causes an infinite loop (regression after c83261395476b62f6) to Enabling/disabling algorithm providers as well as creating/removing preconfigured algorithms causes an infinite loop (regression after c83261395476b62f6)
#5
Updated by Jürgen Fischer over 7 years ago
- Description updated (diff)
#6
Updated by Jürgen Fischer over 7 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
Applied in changeset qgis|d8e39fa9940f82ad54c7fcbf9c54fe53405f3ff6.
#7
Updated by Giovanni Manghi over 7 years ago
- Resolution set to fixed/implemented
#8
Updated by Nino Formica over 7 years ago
I checked on QGIS. 2.18.19 (revision 3a17f72ba5): problem is still there.
Maybe it will be solved in the next 2.18.20 ?
#9
Updated by Borys Jurgiel over 7 years ago
Exactly. The only affected version is 2.18.19, and it's fixed in 2.18.20 (to be released tomorrow)