Bug 55026 - appcenter/progress: _start_docker_image: RuntimeError: dictionary changed size during iteration
appcenter/progress: _start_docker_image: RuntimeError: dictionary changed siz...
Status: NEW
Product: UCS
Classification: Unclassified
Component: App Center
UCS 5.0
Other Linux
: P5 normal (vote)
: ---
Assigned To: App Center maintainers
App Center maintainers
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2022-07-25 14:16 CEST by Maximilian Janßen
Modified: 2023-09-18 12:54 CEST (History)
1 user (show)

See Also:
What kind of report is it?: Bug Report
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: 2022072521000128, 2023081521000269
Bug group (optional): External feedback
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Maximilian Janßen univentionstaff 2022-07-25 14:16:03 CEST
Version: 5.0-2 errata366

Error:
Internal server error during "appcenter/progress".
Request: appcenter/progress

Traceback (most recent call last):
  File "%PY3%/univention/management/console/base.py", line 344, in __error_handling
    six.reraise(etype, exc, etraceback)
  File "%PY3%/six.py", line 693, in reraise
    raise value
  File "%PY3%/univention/management/console/base.py", line 247, in execute
    function.__func__(self, request, *args, **kwargs)
  File "%PY3%/univention/management/console/modules/decorators.py", line 321, in _response
    result = _multi_response(self, request)
  File "%PY3%/univention/management/console/modules/decorators.py", line 181, in _response
    return function(self, request)
  File "%PY3%/univention/management/console/modules/decorators.py", line 443, in _response
    return list(function(self, iterator, *nones))
  File "%PY3%/univention/management/console/modules/decorators.py", line 289, in _fake_func
    yield function(self, *args)
  File "%PY3%/univention/management/console/modules/mixins.py", line 158, in progress
    ret = progress_obj.poll()
  File "%PY3%/univention/management/console/modules/mixins.py", line 102, in poll
    six.reraise(*self.exc_info)
  File "%PY3%/six.py", line 693, in reraise
    raise value
  File "%PY3%/univention/management/console/modules/decorators.py", line 312, in _thread
    result = _multi_response(self, request)
  File "%PY3%/univention/management/console/modules/decorators.py", line 181, in _response
    return function(self, request)
  File "%PY3%/univention/management/console/modules/decorators.py", line 443, in _response
    return list(function(self, iterator, *nones))
  File "%PY3%/univention/management/console/modules/decorators.py", line 289, in _fake_func
    yield function(self, *args)
  File "%PY3%/univention/management/console/modules/appcenter/__init__.py", line 292, in run
    host_result[app.id] = self._run_local(app, action, _settings, auto_installed, progress)
  File "%PY3%/univention/management/console/modules/appcenter/__init__.py", line 339, in _run_local
    success = action.call(app=[app], username=self.username, password=self.password, **kwargs)
  File "%PY3%/univention/appcenter/actions/__init__.py", line 186, in call
    return obj.call_with_namespace(namespace)
  File "%PY3%/univention/appcenter/actions/__init__.py", line 193, in call_with_namespace
    result = self.main(namespace)
  File "%PY3%/univention/appcenter/actions/upgrade.py", line 86, in main
    return self.do_it(args)
  File "%PY3%/univention/appcenter/actions/install_base.py", line 169, in do_it
    success = self.do_it_once(app, args)
  File "%PY3%/univention/appcenter/actions/upgrade.py", line 90, in do_it_once
    return super(Upgrade, self).do_it_once(app, args)
  File "%PY3%/univention/appcenter/actions/install.py", line 203, in do_it_once
    return super(Install, self).do_it_once(app, args)
  File "%PY3%/univention/appcenter/actions/install_base.py", line 214, in do_it_once
    self._do_it(app, args)
  File "%PY3%/univention/appcenter/actions/docker_upgrade.py", line 126, in _do_it
    self._upgrade_image(app, args)
  File "%PY3%/univention/appcenter/actions/docker_upgrade.py", line 183, in _upgrade_image
    self._install_new_app(app, args)
  File "%PY3%/univention/appcenter/actions/docker_upgrade.py", line 69, in _install_new_app
    return Install._do_it(self, app, args)
  File "%PY3%/univention/appcenter/actions/docker_install.py", line 71, in _do_it
    ret = super(Install, self)._do_it(app, args)
  File "%PY3%/univention/appcenter/actions/install.py", line 117, in _do_it
    if self._install_app(app, args):
  File "%PY3%/univention/appcenter/actions/docker_install.py", line 65, in _install_app
    self._start_docker_image(app, hostdn, password, args)
  File "%PY3%/univention/appcenter/actions/docker_base.py", line 214, in _start_docker_image
    container = docker.create(hostname, set_vars)
  File "%PY3%/univention/appcenter/docker.py", line 389, in create
    ucr_save({self.app.ucr_container_key: container})
  File "%PY3%/univention/appcenter/ucr.py", line 61, in ucr_save
    ucr_update(_UCR, changed_values)
  File "%PY3%/univention/config_registry/frontend.py", line 214, in ucr_update
    _run_changed(ucr, changed)
  File "%PY3%/univention/config_registry/frontend.py", line 244, in _run_changed
    handlers(list(visible), (ucr, visible))
  File "%PY3%/univention/config_registry/handler.py", line 1085, in __call__
    for reg_var, handlers in self._handlers.items():
RuntimeError: dictionary changed size during iteration

Role: domaincontroller_master
Comment 1 Mika Westphal univentionstaff 2023-09-18 12:54:09 CEST
5.0-4 errata772

Internal server error during "/univention/command/appcenter/progress".
Request: /univention/command/appcenter/progress

Traceback (most recent call last):
  File "%PY3%/univention/management/console/base.py", line 383, in __error_handling
    six.reraise(etype, exc, etraceback)
  File "%PY3%/six.py", line 693, in reraise
    raise value
  File "%PY3%/univention/management/console/base.py", line 281, in execute
    function.__func__(self, request, *args, **kwargs)
  File "%PY3%/univention/management/console/modules/decorators.py", line 342, in _response
    result = _multi_response(self, request)
  File "%PY3%/univention/management/console/modules/decorators.py", line 186, in _response
    return function(self, request)
  File "%PY3%/univention/management/console/modules/decorators.py", line 466, in _response
    return list(function(self, iterator, *nones))
  File "%PY3%/univention/management/console/modules/decorators.py", line 308, in _fake_func
    yield function(self, *args)
  File "%PY3%/univention/management/console/modules/mixins.py", line 160, in progress
    ret = progress_obj.poll()
  File "%PY3%/univention/management/console/modules/mixins.py", line 105, in poll
    six.reraise(*self.exc_info)
  File "%PY3%/six.py", line 693, in reraise
    raise value
  File "%PY3%/univention/management/console/modules/decorators.py", line 331, in _thread
    result = _multi_response(self, request)
  File "%PY3%/univention/management/console/modules/decorators.py", line 186, in _response
    return function(self, request)
  File "%PY3%/univention/management/console/modules/decorators.py", line 466, in _response
    return list(function(self, iterator, *nones))
  File "%PY3%/univention/management/console/modules/decorators.py", line 308, in _fake_func
    yield function(self, *args)
  File "%PY3%/univention/management/console/modules/appcenter/__init__.py", line 302, in run
    host_result[app.id] = self._run_local(app, action, _settings, auto_installed, progress)
  File "%PY3%/univention/management/console/modules/appcenter/__init__.py", line 349, in _run_local
    success = action.call(app=[app], username=self.username, password=self.password, **kwargs)
  File "%PY3%/univention/appcenter/actions/__init__.py", line 187, in call
    return obj.call_with_namespace(namespace)
  File "%PY3%/univention/appcenter/actions/__init__.py", line 194, in call_with_namespace
    result = self.main(namespace)
  File "%PY3%/univention/appcenter/actions/upgrade.py", line 88, in main
    return self.do_it(args)
  File "%PY3%/univention/appcenter/actions/install_base.py", line 171, in do_it
    success = self.do_it_once(app, args)
  File "%PY3%/univention/appcenter/actions/upgrade.py", line 92, in do_it_once
    return super(Upgrade, self).do_it_once(app, args)
  File "%PY3%/univention/appcenter/actions/install.py", line 210, in do_it_once
    return super(Install, self).do_it_once(app, args)
  File "%PY3%/univention/appcenter/actions/install_base.py", line 216, in do_it_once
    self._do_it(app, args)
  File "%PY3%/univention/appcenter/actions/docker_upgrade.py", line 131, in _do_it
    self._upgrade_image(app, args)
  File "%PY3%/univention/appcenter/actions/docker_upgrade.py", line 184, in _upgrade_image
    ucr_save({app.ucr_image_key: None})
  File "%PY3%/univention/appcenter/ucr.py", line 66, in ucr_save
    ucr_update(_UCR, changed_values)
  File "%PY3%/univention/config_registry/frontend.py", line 245, in ucr_update
    _run_changed(ucr, changed)
  File "%PY3%/univention/config_registry/frontend.py", line 275, in _run_changed
    handlers(list(visible), (ucr, visible))
  File "%PY3%/univention/config_registry/handler.py", line 1089, in __call__
    for reg_var, handlers in self._handlers.items():
RuntimeError: dictionary changed size during iteration