Bug 38375

Summary: UMC-Server: crash when uninstalling module + reload
Product: UCS Reporter: Florian Best <best>
Component: UMC (Generic)Assignee: Johannes Keiser <keiser>
Status: CLOSED FIXED QA Contact: Florian Best <best>
Severity: normal    
Priority: P5 CC: gohmann
Version: UCS 4.0Flags: best: Patch_Available+
Target Milestone: UCS 4.2-1-errata   
Hardware: Other   
OS: Linux   
See Also: https://forge.univention.org/bugzilla/show_bug.cgi?id=31151
What kind of report is it?: Bug Report What type of bug is this?: 7: Crash: Bug causes crash or data loss
Who will be affected by this bug?: 1: Will affect a very few installed domains How will those affected feel about the bug?: 2: A Pain – users won’t like this once they notice it
User Pain: 0.080 Enterprise Customer affected?:
School Customer affected?: ISV affected?:
Waiting Support: Flags outvoted (downgraded) after PO Review:
Ticket number: Bug group (optional): Error handling
Max CVSS v3 score:
Attachments: patch?

Description Florian Best univentionstaff 2015-04-28 12:21:47 CEST
The UMC-server crashed after I uninstalled the package ucs-school-umc-exam-master due to the missing XML definition of that module (probably while the module was opened?).

27.04.15 17:18:05.134  MAIN        ( ERROR   ) : Traceback (most recent call last):
  File "/usr/sbin/univention-management-console-server", line 210, in <module>
    umc_daemon.do_action()
  File "/usr/lib/pymodules/python2.7/daemon/runner.py", line 186, in do_action
    func(self)
  File "/usr/sbin/univention-management-console-server", line 142, in _restart
    self._start()
  File "/usr/lib/pymodules/python2.7/daemon/runner.py", line 131, in _start
    self.app.run()
  File "/usr/sbin/univention-management-console-server", line 192, in run
    notifier.loop()
  File "/usr/lib/pymodules/python2.7/notifier/nf_generic.py", line 284, in loop
    step()
  File "/usr/lib/pymodules/python2.7/notifier/nf_generic.py", line 220, in step
    fds = __poll.poll( timeout )
  File "/usr/sbin/univention-management-console-server", line 201, in signal_user1
    self.server.reload()
  File "/usr/lib/pymodules/python2.7/univention/management/console/protocol/server.py", line 501, in reload
    moduleManager.load()
  File "/usr/lib/pymodules/python2.7/univention/management/console/module.py", line 368, in load
    mod = XML_Definition(filename=os.path.join(Manager.DIRECTORY, filename))
  File "/usr/lib/pymodules/python2.7/univention/management/console/module.py", line 246, in __init__
    ET.ElementTree.__init__(self, element=root, file=filename)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 611, in __init__
    self.parse(file)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 647, in parse
    source = open(source, "rb")
IOError: [Errno 2] Datei oder Verzeichnis nicht gefunden: '/usr/share/univention-management-console/modules/schoolexam-master.xml'
Comment 1 Florian Best univentionstaff 2015-08-25 15:26:12 CEST
I experienced this again without having done anything:
IOError: [Errno 2] Datei oder Verzeichnis nicht gefunden: '/usr/share/univention-management-console/modules/adconnector.xml'
Comment 2 Florian Best univentionstaff 2015-09-14 17:21:59 CEST
again, I didn't do anything:
IOError: [Errno 2] Datei oder Verzeichnis nicht gefunden: '/usr/share/univention-management-console/modules/schoolwizards.xml'
Comment 3 Florian Best univentionstaff 2016-01-18 10:53:05 CET
Created attachment 7412 [details]
patch?

This patch might help.
Comment 4 Florian Best univentionstaff 2016-01-18 10:53:55 CET
See also Bug #31151 - Move umc reload from prerm to postrm: Restarting UMC while the modules are still installed is useless.
Comment 5 Johannes Keiser univentionstaff 2017-07-03 12:10:10 CEST
(In reply to Florian Best from comment #3)
> Created attachment 7412 [details]
> patch?
> 
> This patch might help.

Applied rebased patch:

r 80758
univention-management-console (9.0.80-52) 
* Bug #38375: Applied patch from Florian Best - Fix crash of umc-server when
uninstalling module and reloading

YAML: r 80759
Comment 6 Florian Best univentionstaff 2017-07-03 12:33:31 CEST
OK: reload of UMC-Server is moved to the postinst.
OK: YAML (adjusted in r80762)
Comment 7 Janek Walkenhorst univentionstaff 2017-07-05 13:06:19 CEST
<http://errata.software-univention.de/ucs/4.2/81.html>