Bug 41229 - schoolwizards: noObject tracebacks
schoolwizards: noObject tracebacks
Status: CLOSED FIXED
Product: UCS@school
Classification: Unclassified
Component: UMC - Wizards
UCS@school 4.1
Other Linux
: P5 normal (vote)
: UCS@school 4.1 R2 vXXX
Assigned To: Florian Best
Daniel Tröder
: interim-3
: 35277 36921 42367 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2016-05-10 08:03 CEST by Florian Best
Modified: 2020-08-24 10:58 CEST (History)
2 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 3: Simply Wrong: The implementation doesn't match the docu
Who will be affected by this bug?: 2: Will only affect a few installed domains
How will those affected feel about the bug?: 3: A User would likely not purchase the product
User Pain: 0.103
Enterprise Customer affected?:
School Customer affected?: Yes
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number: 2018082421000636, 2018030121000509, 2018022821000354, 2016092421000236, 2016092421000281, 2017092521000456
Bug group (optional): Error handling, 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 Florian Best univentionstaff 2016-05-10 08:03:50 CEST
Version: 4.1-1 errata174 (Vahr)

Die Ausführung des Kommandos schoolwizards/classes schoolwizards/users ist fehlgeschlagen:

Traceback (most recent call last):
  File "%PY2.7%/univention/management/console/base.py", line 283, in execute
    function(self, request)
  File "%PY2.7%/ucsschool/lib/schoolldap.py", line 140, in wrapper_func
    return func(*args, **kwargs)
  File "%PY2.7%/ucsschool/lib/schoolldap.py", line 446, in classes
    self.finished( request.id, self._groups( ldap_user_read, search_base.school, search_base.classes, request.options.get('pattern') ) )
  File "%PY2.7%/ucsschool/lib/schoolldap.py", line 438, in _groups
    groupresult = udm_modules.lookup('groups/group', None, ldap_connection, scope = scope, base = ldap_base, filter = ldapFilter)
  File "%PY2.7%/univention/admin/modules.py", line 803, in lookup
    tmpres=module.lookup(co, lo, filter, base=base, superordinate=superordinate, scope=scope, unique=unique, required=required, timeout=timeout, sizelimit=sizelimit)
  File "%PY2.7%/univention/admin/handlers/groups/group.py", line 1098, in lookup
    for dn, attrs in lo.search(unicode(filter), base, scope, [], unique, required, timeout, sizelimit):
  File "%PY2.7%/univention/admin/uldap.py", line 351, in search
    raise univention.admin.uexceptions.noObject(_err2str(msg))
noObject: No such object

I think cn=classes does not exists in that OU.
Comment 1 Florian Best univentionstaff 2016-08-15 16:06:58 CEST
Similar traceback has been reported:

Version: 4.1-2 errata220 (Vahr)

Traceback(2b52a6b1951176ee9de54d8f22a76822):
Die Ausführung des Kommandos schoolwizards/users/get schoolwizards/users ist fehlgeschlagen:

Traceback (most recent call last):
  File "%PY2.7%/univention/management/console/base.py", line 283, in execute
    function(self, request)
  File "%PY2.7%/ucsschool/lib/schoolldap.py", line 140, in wrapper_func
    return func(*args, **kwargs)
  File "%PY2.7%/univention/management/console/modules/schoolwizards/__init__.py", line 121, in _decorated
    ret = func(self, request, *a, **kw)
  File "%PY2.7%/univention/management/console/modules/schoolwizards/__init__.py", line 180, in _get_obj
    obj = obj.from_dn(obj.old_dn, obj.school, ldap_user_read)
  File "%PY2.7%/ucsschool/lib/models/base.py", line 748, in from_dn
    udm_obj = udm_modules.lookup(cls._meta.udm_module, None, lo, filter=cls._meta.udm_filter, base=dn, scope='base', superordinate=superordinate)[0]
  File "%PY2.7%/univention/admin/modules.py", line 710, in lookup
    tmpres=module.lookup(co, lo, filter, base=base, superordinate=superordinate, scope=scope, unique=unique, required=required, timeout=timeout, sizelimit=sizelimit)
  File "%PY2.7%/univention/admin/handlers/users/user.py", line 2672, in lookup
    for dn, attrs in lo.search(unicode(filter), base, scope, [], unique, required, timeout, sizelimit):
  File "%PY2.7%/univention/admin/uldap.py", line 327, in search
    raise univention.admin.uexceptions.noObject(_err2str(msg))
noObject: No such object
Comment 2 Florian Best univentionstaff 2016-09-24 19:02:09 CEST
Reported again, 4.1-3 errata278 (Vahr)

Remark: Schule wurde angelegt, aber man kann nicht die erste Klasse oder einen ersten Schüler oder Lehrer erstellen. Keine virtuelle Maschine, sondern physischer Rechner
Comment 3 Florian Best univentionstaff 2016-09-25 09:35:03 CEST
Reported again, 4.1-3 errata278 (Vahr), different UUID than yesterday
Comment 4 Sönke Schwardt-Krummrich univentionstaff 2016-09-26 10:15:44 CEST
Are we able to reproduce this issue?
Comment 5 Florian Best univentionstaff 2016-11-04 22:31:06 CET
(In reply to Sönke Schwardt-Krummrich from comment #4)
> Are we able to reproduce this issue?
We cannot reproduce the problem but we can trigger the issue/traceback. If you want I can dig into how to trigger this.
It happened once to me when I executed "create_ou" and immediately quit the script ^C which will cause many of those similar tracebacks. Maybe there is something hidden going on in some special situations?
Comment 6 Florian Best univentionstaff 2016-11-14 15:06:06 CET
*** Bug 35277 has been marked as a duplicate of this bug. ***
Comment 7 Florian Best univentionstaff 2016-11-14 15:06:15 CET
*** Bug 36921 has been marked as a duplicate of this bug. ***
Comment 8 Florian Best univentionstaff 2016-11-14 15:07:49 CET
*** Bug 42367 has been marked as a duplicate of this bug. ***
Comment 9 Florian Best univentionstaff 2016-11-14 18:08:37 CET
There were 3 different cases:

* Removing a user object which does not exists
* Modifying/Removing/Receiving a object which does not exists
* Some base container does not exists (e.g. because the school was removed but the cache contains still the old one). When removing a school the frontend already shows a message that one should relogin into UMC.

ucs-school-umc-wizards (8.0.0-13):
r74418 | Bug #41229: add error handling for noObject exceptions

ucs-school-umc-wizards.yaml:
r74419 | YAML Bug #41229
Comment 10 Daniel Tröder univentionstaff 2016-11-17 17:08:18 CET
OK: code change
OK: manual tests
OK: automated test 90_ucsschool/70_users_module
OK: advisory
Comment 11 Sönke Schwardt-Krummrich univentionstaff 2016-12-12 13:10:24 CET
UCS@school 4.1 R2 v9 has been released.

http://docs.software-univention.de/changelog-ucsschool-4.1R2v9-de.html
Comment 12 Florian Best univentionstaff 2017-10-13 12:22:21 CEST
Reported again, 3.3-1 errata44 (Osterholz)

Remark: Aufruf des Benutzers "netzwerkberater" ...
Comment 13 Johannes Keiser univentionstaff 2018-03-15 15:43:59 CET
Reported again: Version: 3.3-1 errata44 (Osterholz)
Comment 14 Johannes Keiser univentionstaff 2018-03-16 13:36:18 CET
Reported again:  Version: 3.3-1 errata44 (Osterholz)

Remark: Liste der Benutzer --> Netzwerkberater bearbeiten (z.B. um ihm die Rechte an den Tauschordnern diverser Klassen zuzuordnen --> funktioniert nicht, Absturz bereits beim
Klick auf Bearbeiten)
Comment 15 Johannes Keiser univentionstaff 2018-10-04 13:54:43 CEST
Reported again: Version: 3.3-1 errata44 (Osterholz)

Die Ausführung des Kommandos schoolwizards/users/get ist fehlgeschlagen:

Traceback (most recent call last):
  File "%PY2.6%/univention/management/console/modules/__init__.py", line 218, in execute
    func( request )
  File "%PY2.6%/ucsschool/lib/schoolldap.py", line 205, in wrapper_func
    return func( *args, **kwargs )
  File "%PY2.6%/univention/management/console/modules/schoolwizards/__init__.py", line 118, in _decorated
    ret = func(self, request, *a, **kw)
  File "%PY2.6%/univention/management/console/modules/schoolwizards/__init__.py", line 177, in _get_obj
    obj = obj.from_dn(obj.old_dn, obj.school, ldap_user_read)
  File "%PY2.6%/ucsschool/lib/models/base.py", line 748, in from_dn
    udm_obj = udm_modules.lookup(cls._meta.udm_module, None, lo, filter=cls._meta.udm_filter, base=dn, scope='base', superordinate=superordinate)[0]
  File "%PY2.6%/univention/admin/modules.py", line 801, in lookup
    tmpres=module.lookup(co, lo, filter, base=base, superordinate=superordinate, scope=scope, unique=unique, required=required, timeout=timeout, sizelimit=sizelimit)
  File "%PY2.6%/univention/admin/handlers/users/user.py", line 2722, in lookup
    for dn, attrs in lo.search(unicode(filter), base, scope, [], unique, required, timeout, sizelimit):
  File "%PY2.6%/univention/admin/uldap.py", line 347, in search
    raise univention.admin.uexceptions.noObject, _err2str(msg)
noObject: No such object