Bug 54597 - Appcenter [python3]: RuntimeError: dictionary changed size during iteration
Appcenter [python3]: RuntimeError: dictionary changed size during iteration
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UDM (Generic)
UCS 5.0
Other Linux
: P5 normal (vote)
: UCS 5.0-3-errata
Assigned To: Iván.Delgado
Florian Best
https://git.knut.univention.de/univen...
: python3-migration
Depends on: 53581
Blocks:
  Show dependency treegraph
 
Reported: 2022-03-27 00:13 CET by Florian Best
Modified: 2023-07-03 17:56 CEST (History)
5 users (show)

See Also:
What kind of report is it?: Development Internal
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number: 2023041421000858, 2023042021000481, 2023060921000275, 2023042021000481, 2023041421000858
Bug group (optional): bitesize, External feedback, Regression
Max CVSS v3 score:


Attachments
Script to reproduce (689 bytes, text/plain)
2023-05-17 09:49 CEST, Iván.Delgado
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Best univentionstaff 2022-03-27 00:13:42 CET
The following traceback occurred in the Jenkins tests:

1 times in /var/log/univention/management-console-web-server.log:
https://univention-dist-jenkins.k8s.knut.univention.de/job/UCS-5.0/job/UCS-5.0-1/job/AutotestUpgrade/SambaVersion=s4,Systemrolle=slave/ws/test/management-console-web-server.log
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/univention/management/console/base.py", line 344, in __error_handling
    six.reraise(etype, exc, etraceback)
  File "/usr/lib/python3/dist-packages/six.py", line 693, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/univention/management/console/base.py", line 247, in execute
    function.__func__(self, request, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/decorators.py", line 321, in _response
    result = _multi_response(self, request)
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/decorators.py", line 181, in _response
    return function(self, request)
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/decorators.py", line 443, in _response
    return list(function(self, iterator, *nones))
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/decorators.py", line 289, in _fake_func
    yield function(self, *args)
  File "/usr/lib/python3/dist-packages/univention/management/console/modules/appcenter/__init__.py", line 390, in query
    info = domain.to_dict(apps)
  File "/usr/lib/python3/dist-packages/univention/appcenter/actions/domain.py", line 98, in to_dict
    hosts = self.get_appcenter_hosts(lo, pos)
  File "/usr/lib/python3/dist-packages/univention/appcenter/actions/domain.py", line 80, in get_appcenter_hosts
    objs = search_objects('computers/%s' % role, lo, pos)
  File "/usr/lib/python3/dist-packages/univention/appcenter/udm.py", line 117, in search_objects
    module = _get_module(_module, _lo, _pos)
  File "/usr/lib/python3/dist-packages/univention/appcenter/udm.py", line 66, in _get_module
    udm_modules.init(lo, pos, mod)
  File "/usr/lib/python3/dist-packages/univention/admin/modules.py", line 224, in init
    update_extended_attributes(lo, module, position)
  File "/usr/lib/python3/dist-packages/univention/admin/modules.py", line 650, in update_extended_attributes
    for pname, prop in module.property_descriptions.items():
RuntimeError: dictionary changed size during iteration


+++ This bug was initially created as a clone of Bug #53581 +++
Comment 2 Florian Best univentionstaff 2023-04-20 15:52:09 CEST
Reported again, 5.0-3 errata638
Reported again, 5.0-3 errata645
Comment 3 Iván.Delgado univentionstaff 2023-05-17 09:49:02 CEST
Created attachment 11066 [details]
Script to reproduce
Comment 4 Iván.Delgado univentionstaff 2023-05-18 09:17:21 CEST
univention-directory-manager-modules.yaml
006e8d0de73b | Bug #54597: univention-directory-manager-modules 15.0.20-4
27b42616de38 | Bug #54597: update changelog + advisory univention-directory-manager-modules

univention-directory-manager-modules (15.0.20-4)
27b42616de38 | Bug #54597: update changelog + advisory univention-directory-manager-modules

univention-directory-manager-modules (15.0.20-3)
adbbe7f7b1f8 | Bug #54597: Fix layout not exist during module initialization
6f5b61f907e7 | Bug #54597: Fix property_descriptions, options, layout is not changed atomically during module initialization
Comment 6 Iván.Delgado univentionstaff 2023-05-22 11:17:45 CEST
479df0773102 | Bug #54597: Fix listener needs a restart
Comment 7 Florian Best univentionstaff 2023-05-24 10:56:55 CEST
OK: race condition is prevented (except for some nagios related stuff which is going to be removed in UCS 5.2 anyway).
OK: UDL restart in postinst
OK: YAML
Comment 9 Maximilian Janßen univentionstaff 2023-06-20 12:05:35 CEST
Version: 5.0-3 errata709
same as Comment 5