Bug 34250 - Adding DNS reverse entry fails with traceback
Adding DNS reverse entry fails with traceback
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC - Domain management (Generic)
UCS 3.2
Other Linux
: P5 normal (vote)
: UCS 3.2-2-errata
Assigned To: Lukas Walter
Dirk Wiesenthal
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-03-04 17:42 CET by Florian Best
Modified: 2015-02-18 10:01 CET (History)
4 users (show)

See Also:
What kind of report is it?: ---
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:
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 2014-03-04 17:42:46 CET
Traceback on 3.2-0 errata51 (Borgfeld):
  File "/usr/lib/pymodules/python2.6/notifier/threads.py", line 82, in _run
    tmp = self._function()
  File "/usr/lib/pymodules/python2.6/notifier/__init__.py", line 104, in __call__
    return self._function( *tmp, **self._kwargs )
  File
"/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/__init__.py", line
373, in _thread
    module.modify( properties )
  File
"/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/udm_ldap.py", line
155, in wrapper_func
    ret = func( *args, **kwargs )
  File
"/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/udm_ldap.py", line
410, in modify
    obj.modify()
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py", line 345, in
modify
    return self._modify(modify_childs,ignore_license=ignore_license)
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py", line 922, in
_modify
    self._ldap_post_modify()
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/computers/windows.py", line
554, in _ldap_post_modify
    univention.admin.handlers.simpleComputer._ldap_post_modify( self )
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py", line 1950, in
_ldap_post_modify
    self.__add_dns_reverse_object( self[ 'name' ], dn, self[ 'ip' ][ 0 ] )

IndexError: list index out of range

This error can occur when removing a IP address from an object but setting a DNS reverse zone. The form-validation should prevent this. I was unable to reproduce this in a normal way event not when using two UMC tabs.
Comment 1 Dirk Wiesenthal univentionstaff 2014-05-30 14:29:12 CEST
May be DUPLICATE of Bug#33843. => May be already fixed
Comment 2 Lukas Walter univentionstaff 2014-06-13 13:01:16 CEST
Fixed through changes made for Bug #33843, hence DUPLICATE.

*** This bug has been marked as a duplicate of bug 33843 ***
Comment 3 Dirk Wiesenthal univentionstaff 2014-06-17 12:18:35 CEST
Yes, DUPLICATE, unfortunately there is a bug in the fix of Bug #33843. Sorry for not spotting it in the first place. At least it was broken before and is broken thereafter. So no real regression, just a change in traceback:

  File "/usr/lib/pymodules/python2.6/notifier/threads.py", line 82, in _run
    tmp = self._function()
  File "/usr/lib/pymodules/python2.6/notifier/__init__.py", line 104, in __call__
    return self._function( *tmp, **self._kwargs )
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/__init__.py", line 385, in _thread
    module.modify( properties )
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/udm_ldap.py", line 155, in wrapper_func
    ret = func( *args, **kwargs )
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/udm_ldap.py", line 410, in modify
    obj.modify()
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py", line 345, in modify
    return self._modify(modify_childs,ignore_license=ignore_license)
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py", line 922, in _modify
    self._ldap_post_modify()
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/computers/windows.py", line 554, in _ldap_post_modify
    univention.admin.handlers.simpleComputer._ldap_post_modify( self )
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py", line 1969, in _ldap_post_modify
    ip = self['ip']['0']

TypeError: list indices must be integers, not str
Comment 4 Lukas Walter univentionstaff 2014-06-17 18:08:56 CEST
(In reply to Dirk Wiesenthal from comment #3)
> Yes, DUPLICATE, unfortunately there is a bug in the fix of Bug #33843. Sorry
> for not spotting it in the first place. At least it was broken before and is
> broken thereafter. So no real regression, just a change in traceback:
> 
>   File "/usr/lib/pymodules/python2.6/notifier/threads.py", line 82, in _run
>     tmp = self._function()
>   File "/usr/lib/pymodules/python2.6/notifier/__init__.py", line 104, in
> __call__
>     return self._function( *tmp, **self._kwargs )
>   File
> "/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/
> __init__.py", line 385, in _thread
>     module.modify( properties )
>   File
> "/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/
> udm_ldap.py", line 155, in wrapper_func
>     ret = func( *args, **kwargs )
>   File
> "/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/
> udm_ldap.py", line 410, in modify
>     obj.modify()
>   File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py",
> line 345, in modify
>     return self._modify(modify_childs,ignore_license=ignore_license)
>   File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py",
> line 922, in _modify
>     self._ldap_post_modify()
>   File
> "/usr/lib/pymodules/python2.6/univention/admin/handlers/computers/windows.
> py", line 554, in _ldap_post_modify
>     univention.admin.handlers.simpleComputer._ldap_post_modify( self )
>   File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py",
> line 1969, in _ldap_post_modify
>     ip = self['ip']['0']
> 
> TypeError: list indices must be integers, not str

Weird typo, my bad.

As the other bug is already closed and these bugs are way of all about the same issue, this could be published under terms of this bug.

svn 51149: univention-directory-manager-modules (9.0.77-2)
added to 2014-06-11-univention-directory-manager-modules.yaml
Comment 5 Dirk Wiesenthal univentionstaff 2014-06-18 17:34:18 CEST
Ok
Comment 6 Florian Best univentionstaff 2014-07-07 09:43:06 CEST
Reported again, in function __add_dns_forward_object:

  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py", line 1934, in
_ldap_post_modify
    self.__add_dns_forward_object( self[ 'name' ], dn, self[ 'ip' ][ 0 ] )
Comment 7 Dirk Wiesenthal univentionstaff 2014-07-07 10:06:33 CEST
(In reply to Florian Best from comment #6)
> Reported again, in function __add_dns_forward_object:

Should be fixed since Errata 109. The report came from Errata 78.
Comment 8 Janek Walkenhorst univentionstaff 2014-08-07 17:48:25 CEST
http://errata.univention.de/ucs/3.2/170.html
Comment 9 Florian Best univentionstaff 2015-02-18 10:01:02 CET
Reported again, 3.2-2 errata144